Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
glslang
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Chen Yisong
glslang
Commits
22be5788
Commit
22be5788
authored
Apr 30, 2017
by
John Kessenich
Committed by
GitHub
Apr 30, 2017
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #870 from SoapGentoo/cmake-fixes
Modernise CMake #2
parents
eb9a532b
22afc38b
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
61 additions
and
47 deletions
+61
-47
CMakeLists.txt
CMakeLists.txt
+28
-15
CMakeLists.txt
External/CMakeLists.txt
+6
-5
CMakeLists.txt
OGLCompilersDLL/CMakeLists.txt
+2
-2
CMakeLists.txt
SPIRV/CMakeLists.txt
+4
-4
CMakeLists.txt
StandAlone/CMakeLists.txt
+5
-7
CMakeLists.txt
glslang/CMakeLists.txt
+3
-3
CMakeLists.txt
glslang/OSDependent/Unix/CMakeLists.txt
+2
-2
CMakeLists.txt
glslang/OSDependent/Windows/CMakeLists.txt
+2
-2
CMakeLists.txt
gtests/CMakeLists.txt
+6
-4
CMakeLists.txt
hlsl/CMakeLists.txt
+3
-3
No files found.
CMakeLists.txt
View file @
22be5788
cmake_minimum_required
(
VERSION 2.8.11
)
# increase to 3.1 once all major distributions
# include a version of CMake >= 3.1
cmake_minimum_required
(
VERSION 2.8.12
)
set_property
(
GLOBAL PROPERTY USE_FOLDERS ON
)
set_property
(
GLOBAL PROPERTY USE_FOLDERS ON
)
# Adhere to GNU filesystem layout conventions
include
(
GNUInstallDirs
)
option
(
ENABLE_AMD_EXTENSIONS
"Enables support of AMD-specific extensions"
ON
)
option
(
ENABLE_AMD_EXTENSIONS
"Enables support of AMD-specific extensions"
ON
)
option
(
ENABLE_GLSLANG_BINARIES
"Builds glslangValidator and spirv-remap"
ON
)
option
(
ENABLE_GLSLANG_BINARIES
"Builds glslangValidator and spirv-remap"
ON
)
...
@@ -8,11 +13,13 @@ option(ENABLE_NV_EXTENSIONS "Enables support of Nvidia-specific extensions" ON)
...
@@ -8,11 +13,13 @@ option(ENABLE_NV_EXTENSIONS "Enables support of Nvidia-specific extensions" ON)
option
(
ENABLE_HLSL
"Enables HLSL input support"
ON
)
option
(
ENABLE_HLSL
"Enables HLSL input support"
ON
)
enable_testing
(
)
if
(
CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT AND WIN32
)
set
(
CMAKE_INSTALL_PREFIX
"install"
CACHE STRING
"..."
FORCE
)
set
(
CMAKE_INSTALL_PREFIX
"install"
CACHE STRING
"prefix"
)
endif
(
)
project
(
glslang
)
project
(
glslang
)
# make testing optional
include
(
CTest
)
if
(
ENABLE_AMD_EXTENSIONS
)
if
(
ENABLE_AMD_EXTENSIONS
)
add_definitions
(
-DAMD_EXTENSIONS
)
add_definitions
(
-DAMD_EXTENSIONS
)
...
@@ -33,33 +40,39 @@ if(WIN32)
...
@@ -33,33 +40,39 @@ if(WIN32)
endif
(
MSVC
)
endif
(
MSVC
)
add_definitions
(
-DGLSLANG_OSINCLUDE_WIN32
)
add_definitions
(
-DGLSLANG_OSINCLUDE_WIN32
)
elseif
(
UNIX
)
elseif
(
UNIX
)
add_definitions
(
-fPIC
)
add_definitions
(
-DGLSLANG_OSINCLUDE_UNIX
)
add_definitions
(
-DGLSLANG_OSINCLUDE_UNIX
)
else
(
WIN32
)
else
(
WIN32
)
message
(
"unknown platform"
)
message
(
"unknown platform"
)
endif
(
WIN32
)
endif
(
WIN32
)
if
(
CMAKE_COMPILER_IS_GNUCXX
)
if
(
${
CMAKE_CXX_COMPILER_ID
}
MATCHES
"GNU"
)
add_
defini
tions
(
-Wall -Wmaybe-uninitialized -Wuninitialized -Wunused -Wunused-local-typedefs
add_
compile_op
tions
(
-Wall -Wmaybe-uninitialized -Wuninitialized -Wunused -Wunused-local-typedefs
-Wunused-parameter -Wunused-value -Wunused-variable -Wunused-but-set-parameter -Wunused-but-set-variable
)
-Wunused-parameter -Wunused-value -Wunused-variable -Wunused-but-set-parameter -Wunused-but-set-variable
)
add_definitions
(
-Wno-reorder
)
# disable this from -Wall, since it happens all over.
add_compile_options
(
-Wno-reorder
)
# disable this from -Wall, since it happens all over.
add_definitions
(
-std=c++11
)
elseif
(
${
CMAKE_CXX_COMPILER_ID
}
MATCHES
"Clang"
)
elseif
(
${
CMAKE_CXX_COMPILER_ID
}
MATCHES
"Clang"
)
add_
defini
tions
(
-Wall -Wuninitialized -Wunused -Wunused-local-typedefs
add_
compile_op
tions
(
-Wall -Wuninitialized -Wunused -Wunused-local-typedefs
-Wunused-parameter -Wunused-value -Wunused-variable
)
-Wunused-parameter -Wunused-value -Wunused-variable
)
add_definitions
(
-Wno-reorder
)
# disable this from -Wall, since it happens all over.
add_compile_options
(
-Wno-reorder
)
# disable this from -Wall, since it happens all over.
add_definitions
(
-std=c++11
)
endif
()
# Request C++11
if
(
${
CMAKE_VERSION
}
VERSION_LESS 3.1
)
# CMake versions before 3.1 do not understand CMAKE_CXX_STANDARD
# remove this block once CMake >=3.1 has fixated in the ecosystem
add_compile_options
(
-std=c++11
)
else
()
set
(
CMAKE_CXX_STANDARD 11
)
set
(
CMAKE_CXX_STANDARD_REQUIRED ON
)
set
(
CMAKE_CXX_EXTENSIONS OFF
)
endif
()
endif
()
function
(
glslang_set_link_args TARGET
)
function
(
glslang_set_link_args TARGET
)
# For MinGW compiles, statically link against the GCC and C++ runtimes.
# For MinGW compiles, statically link against the GCC and C++ runtimes.
# This avoids the need to ship those runtimes as DLLs.
# This avoids the need to ship those runtimes as DLLs.
if
(
WIN32
)
if
(
WIN32 AND
${
CMAKE_CXX_COMPILER_ID
}
MATCHES
"GNU"
)
if
(
${
CMAKE_CXX_COMPILER_ID
}
MATCHES
"GNU"
)
set_target_properties
(
${
TARGET
}
PROPERTIES
set_target_properties
(
${
TARGET
}
PROPERTIES
LINK_FLAGS
"-static -static-libgcc -static-libstdc++"
)
LINK_FLAGS
"-static -static-libgcc -static-libstdc++"
)
endif
()
endif
()
endif
(
WIN32
)
endfunction
(
glslang_set_link_args
)
endfunction
(
glslang_set_link_args
)
# We depend on these for later projects, so they should come first.
# We depend on these for later projects, so they should come first.
...
...
External/CMakeLists.txt
View file @
22be5788
# Suppress all warnings from external projects.
# Suppress all warnings from external projects.
set_property
(
DIRECTORY APPEND PROPERTY COMPILE_OPTIONS -w
)
set_property
(
DIRECTORY APPEND PROPERTY COMPILE_OPTIONS -w
)
if
(
TARGET gmock
)
if
(
BUILD_TESTING
)
if
(
TARGET gmock
)
message
(
STATUS
"Google Mock already configured - use it"
)
message
(
STATUS
"Google Mock already configured - use it"
)
elseif
(
IS_DIRECTORY
${
CMAKE_CURRENT_SOURCE_DIR
}
/googletest
)
elseif
(
IS_DIRECTORY
${
CMAKE_CURRENT_SOURCE_DIR
}
/googletest
)
# We need to make sure Google Test does not mess up with the
# We need to make sure Google Test does not mess up with the
# global CRT settings on Windows.
# global CRT settings on Windows.
if
(
WIN32
)
if
(
WIN32
)
...
@@ -14,8 +15,7 @@ elseif(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/googletest)
...
@@ -14,8 +15,7 @@ elseif(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/googletest)
gtest
gtest
gtest_main
gtest_main
gmock
gmock
gmock_main
gmock_main
)
)
foreach
(
target
${
GTEST_TARGETS
}
)
foreach
(
target
${
GTEST_TARGETS
}
)
set_property
(
TARGET
${
target
}
PROPERTY FOLDER gtest
)
set_property
(
TARGET
${
target
}
PROPERTY FOLDER gtest
)
endforeach
()
endforeach
()
...
@@ -28,7 +28,8 @@ elseif(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/googletest)
...
@@ -28,7 +28,8 @@ elseif(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/googletest)
gtest_disable_pthreads
gtest_disable_pthreads
gtest_force_shared_crt
gtest_force_shared_crt
gtest_hide_internal_symbols
)
gtest_hide_internal_symbols
)
else
()
else
()
message
(
STATUS
message
(
STATUS
"Google Mock was not found - tests based on that will not build"
)
"Google Mock was not found - tests based on that will not build"
)
endif
()
endif
()
endif
()
OGLCompilersDLL/CMakeLists.txt
View file @
22be5788
set
(
SOURCES InitializeDll.cpp InitializeDll.h
)
set
(
SOURCES InitializeDll.cpp InitializeDll.h
)
add_library
(
OGLCompiler STATIC
${
SOURCES
}
)
add_library
(
OGLCompiler STATIC
${
SOURCES
}
)
set_property
(
TARGET OGLCompiler PROPERTY FOLDER glslang
)
set_property
(
TARGET OGLCompiler PROPERTY FOLDER glslang
POSITION_INDEPENDENT_CODE ON
)
if
(
WIN32
)
if
(
WIN32
)
source_group
(
"Source"
FILES
${
SOURCES
}
)
source_group
(
"Source"
FILES
${
SOURCES
}
)
endif
(
WIN32
)
endif
(
WIN32
)
install
(
TARGETS OGLCompiler
install
(
TARGETS OGLCompiler
ARCHIVE DESTINATION
lib
)
ARCHIVE DESTINATION
${
CMAKE_INSTALL_LIBDIR
}
)
SPIRV/CMakeLists.txt
View file @
22be5788
...
@@ -40,11 +40,11 @@ if(ENABLE_NV_EXTENSIONS)
...
@@ -40,11 +40,11 @@ if(ENABLE_NV_EXTENSIONS)
endif
(
ENABLE_NV_EXTENSIONS
)
endif
(
ENABLE_NV_EXTENSIONS
)
add_library
(
SPIRV STATIC
${
SOURCES
}
${
HEADERS
}
)
add_library
(
SPIRV STATIC
${
SOURCES
}
${
HEADERS
}
)
set_property
(
TARGET SPIRV PROPERTY FOLDER glslang
)
set_property
(
TARGET SPIRV PROPERTY FOLDER glslang
POSITION_INDEPENDENT_CODE ON
)
target_link_libraries
(
SPIRV glslang
)
target_link_libraries
(
SPIRV glslang
)
add_library
(
SPVRemapper STATIC
${
SPVREMAP_SOURCES
}
${
SPVREMAP_HEADERS
}
)
add_library
(
SPVRemapper STATIC
${
SPVREMAP_SOURCES
}
${
SPVREMAP_HEADERS
}
)
set_property
(
TARGET SPVRemapper PROPERTY FOLDER glslang
)
set_property
(
TARGET SPVRemapper PROPERTY FOLDER glslang
POSITION_INDEPENDENT_CODE ON
)
if
(
WIN32
)
if
(
WIN32
)
source_group
(
"Source"
FILES
${
SOURCES
}
${
HEADERS
}
)
source_group
(
"Source"
FILES
${
SOURCES
}
${
HEADERS
}
)
...
@@ -52,6 +52,6 @@ if(WIN32)
...
@@ -52,6 +52,6 @@ if(WIN32)
endif
(
WIN32
)
endif
(
WIN32
)
install
(
TARGETS SPIRV SPVRemapper
install
(
TARGETS SPIRV SPVRemapper
ARCHIVE DESTINATION
lib
)
ARCHIVE DESTINATION
${
CMAKE_INSTALL_LIBDIR
}
)
install
(
FILES
${
HEADERS
}
${
SPVREMAP_HEADERS
}
DESTINATION
include
/SPIRV/
)
install
(
FILES
${
HEADERS
}
${
SPVREMAP_HEADERS
}
DESTINATION
${
CMAKE_INSTALL_INCLUDEDIR
}
/SPIRV/
)
StandAlone/CMakeLists.txt
View file @
22be5788
add_library
(
glslang-default-resource-limits
add_library
(
glslang-default-resource-limits
${
CMAKE_CURRENT_SOURCE_DIR
}
/ResourceLimits.cpp
${
CMAKE_CURRENT_SOURCE_DIR
}
/ResourceLimits.cpp
)
)
set_property
(
TARGET glslang-default-resource-limits PROPERTY FOLDER glslang POSITION_INDEPENDENT_CODE ON
)
set_property
(
TARGET glslang-default-resource-limits PROPERTY FOLDER glslang
)
target_include_directories
(
glslang-default-resource-limits
target_include_directories
(
glslang-default-resource-limits
PUBLIC
${
CMAKE_CURRENT_SOURCE_DIR
}
PUBLIC
${
CMAKE_CURRENT_SOURCE_DIR
}
PUBLIC
${
PROJECT_SOURCE_DIR
}
PUBLIC
${
PROJECT_SOURCE_DIR
}
)
)
set
(
SOURCES StandAlone.cpp
)
set
(
SOURCES StandAlone.cpp
)
set
(
REMAPPER_SOURCES spirv-remap.cpp
)
set
(
REMAPPER_SOURCES spirv-remap.cpp
)
...
@@ -41,7 +39,7 @@ if(WIN32)
...
@@ -41,7 +39,7 @@ if(WIN32)
endif
(
WIN32
)
endif
(
WIN32
)
install
(
TARGETS glslangValidator
install
(
TARGETS glslangValidator
RUNTIME DESTINATION
bin
)
RUNTIME DESTINATION
${
CMAKE_INSTALL_BINDIR
}
)
install
(
TARGETS spirv-remap
install
(
TARGETS spirv-remap
RUNTIME DESTINATION
bin
)
RUNTIME DESTINATION
${
CMAKE_INSTALL_BINDIR
}
)
glslang/CMakeLists.txt
View file @
22be5788
...
@@ -81,7 +81,7 @@ set(HEADERS
...
@@ -81,7 +81,7 @@ set(HEADERS
# set(BISON_GLSLParser_OUTPUT_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/MachineIndependent/glslang_tab.cpp)
# set(BISON_GLSLParser_OUTPUT_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/MachineIndependent/glslang_tab.cpp)
add_library
(
glslang STATIC
${
BISON_GLSLParser_OUTPUT_SOURCE
}
${
SOURCES
}
${
HEADERS
}
)
add_library
(
glslang STATIC
${
BISON_GLSLParser_OUTPUT_SOURCE
}
${
SOURCES
}
${
HEADERS
}
)
set_property
(
TARGET glslang PROPERTY FOLDER glslang
)
set_property
(
TARGET glslang PROPERTY FOLDER glslang
POSITION_INDEPENDENT_CODE ON
)
target_link_libraries
(
glslang OGLCompiler OSDependent
)
target_link_libraries
(
glslang OGLCompiler OSDependent
)
if
(
ENABLE_HLSL
)
if
(
ENABLE_HLSL
)
target_link_libraries
(
glslang HLSL
)
target_link_libraries
(
glslang HLSL
)
...
@@ -96,9 +96,9 @@ if(WIN32)
...
@@ -96,9 +96,9 @@ if(WIN32)
endif
(
WIN32
)
endif
(
WIN32
)
install
(
TARGETS glslang
install
(
TARGETS glslang
ARCHIVE DESTINATION
lib
)
ARCHIVE DESTINATION
${
CMAKE_INSTALL_LIBDIR
}
)
foreach
(
file
${
HEADERS
}
)
foreach
(
file
${
HEADERS
}
)
get_filename_component
(
dir
${
file
}
DIRECTORY
)
get_filename_component
(
dir
${
file
}
DIRECTORY
)
install
(
FILES
${
file
}
DESTINATION
include
/glslang/
${
dir
}
)
install
(
FILES
${
file
}
DESTINATION
${
CMAKE_INSTALL_INCLUDEDIR
}
/glslang/
${
dir
}
)
endforeach
()
endforeach
()
glslang/OSDependent/Unix/CMakeLists.txt
View file @
22be5788
add_library
(
OSDependent STATIC ossource.cpp ../osinclude.h
)
add_library
(
OSDependent STATIC ossource.cpp ../osinclude.h
)
set_property
(
TARGET OSDependent PROPERTY FOLDER glslang
)
set_property
(
TARGET OSDependent PROPERTY FOLDER glslang
POSITION_INDEPENDENT_CODE ON
)
install
(
TARGETS OSDependent
install
(
TARGETS OSDependent
ARCHIVE DESTINATION
lib
)
ARCHIVE DESTINATION
${
CMAKE_INSTALL_LIBDIR
}
)
glslang/OSDependent/Windows/CMakeLists.txt
View file @
22be5788
set
(
SOURCES ossource.cpp ../osinclude.h
)
set
(
SOURCES ossource.cpp ../osinclude.h
)
add_library
(
OSDependent STATIC
${
SOURCES
}
)
add_library
(
OSDependent STATIC
${
SOURCES
}
)
set_property
(
TARGET OSDependent PROPERTY FOLDER glslang
)
set_property
(
TARGET OSDependent PROPERTY FOLDER glslang
POSITION_INDEPENDENT_CODE ON
)
# MinGW GCC complains about function pointer casts to void*.
# MinGW GCC complains about function pointer casts to void*.
# Turn that off with -fpermissive.
# Turn that off with -fpermissive.
...
@@ -14,4 +14,4 @@ if(WIN32)
...
@@ -14,4 +14,4 @@ if(WIN32)
endif
(
WIN32
)
endif
(
WIN32
)
install
(
TARGETS OSDependent
install
(
TARGETS OSDependent
ARCHIVE DESTINATION
lib
)
ARCHIVE DESTINATION
${
CMAKE_INSTALL_LIBDIR
}
)
gtests/CMakeLists.txt
View file @
22be5788
if
(
TARGET gmock
)
if
(
BUILD_TESTING
)
if
(
TARGET gmock
)
message
(
STATUS
"Google Mock found - building tests"
)
message
(
STATUS
"Google Mock found - building tests"
)
set
(
TEST_SOURCES
set
(
TEST_SOURCES
...
@@ -20,15 +21,15 @@ if (TARGET gmock)
...
@@ -20,15 +21,15 @@ if (TARGET gmock)
${
CMAKE_CURRENT_SOURCE_DIR
}
/Link.FromFile.Vk.cpp
${
CMAKE_CURRENT_SOURCE_DIR
}
/Link.FromFile.Vk.cpp
${
CMAKE_CURRENT_SOURCE_DIR
}
/Pp.FromFile.cpp
${
CMAKE_CURRENT_SOURCE_DIR
}
/Pp.FromFile.cpp
${
CMAKE_CURRENT_SOURCE_DIR
}
/Spv.FromFile.cpp
${
CMAKE_CURRENT_SOURCE_DIR
}
/Spv.FromFile.cpp
# -- Remapper tests
# -- Remapper tests
${
CMAKE_CURRENT_SOURCE_DIR
}
/Remap.FromFile.cpp
${
CMAKE_CURRENT_SOURCE_DIR
}
/Remap.FromFile.cpp
)
)
add_executable
(
glslangtests
${
TEST_SOURCES
}
)
add_executable
(
glslangtests
${
TEST_SOURCES
}
)
set_property
(
TARGET glslangtests PROPERTY FOLDER tests
)
set_property
(
TARGET glslangtests PROPERTY FOLDER tests
)
glslang_set_link_args
(
glslangtests
)
glslang_set_link_args
(
glslangtests
)
install
(
TARGETS glslangtests
install
(
TARGETS glslangtests
RUNTIME DESTINATION bin
)
RUNTIME DESTINATION
${
CMAKE_INSTALL_BINDIR
}
)
set
(
GLSLANG_TEST_DIRECTORY
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/../Test"
)
set
(
GLSLANG_TEST_DIRECTORY
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/../Test"
)
# Supply a default test root directory, so that manual testing
# Supply a default test root directory, so that manual testing
...
@@ -52,4 +53,5 @@ if (TARGET gmock)
...
@@ -52,4 +53,5 @@ if (TARGET gmock)
add_test
(
NAME glslang-gtests
add_test
(
NAME glslang-gtests
COMMAND glslangtests --test-root
"
${
GLSLANG_TEST_DIRECTORY
}
"
)
COMMAND glslangtests --test-root
"
${
GLSLANG_TEST_DIRECTORY
}
"
)
endif
()
endif
()
endif
()
hlsl/CMakeLists.txt
View file @
22be5788
...
@@ -7,7 +7,7 @@ set(SOURCES
...
@@ -7,7 +7,7 @@ set(SOURCES
hlslGrammar.cpp
hlslGrammar.cpp
hlslParseables.cpp
)
hlslParseables.cpp
)
set
(
HEADERS
set
(
HEADERS
hlslAttributes.h
hlslAttributes.h
hlslParseHelper.h
hlslParseHelper.h
hlslTokens.h
hlslTokens.h
...
@@ -18,11 +18,11 @@ set(SOURCES
...
@@ -18,11 +18,11 @@ set(SOURCES
hlslParseables.h
)
hlslParseables.h
)
add_library
(
HLSL STATIC
${
SOURCES
}
${
HEADERS
}
)
add_library
(
HLSL STATIC
${
SOURCES
}
${
HEADERS
}
)
set_property
(
TARGET HLSL PROPERTY FOLDER hlsl
)
set_property
(
TARGET HLSL PROPERTY FOLDER hlsl
POSITION_INDEPENDENT_CODE ON
)
if
(
WIN32
)
if
(
WIN32
)
source_group
(
"Source"
FILES
${
SOURCES
}
${
HEADERS
}
)
source_group
(
"Source"
FILES
${
SOURCES
}
${
HEADERS
}
)
endif
(
WIN32
)
endif
(
WIN32
)
install
(
TARGETS HLSL
install
(
TARGETS HLSL
ARCHIVE DESTINATION
lib
)
ARCHIVE DESTINATION
${
CMAKE_INSTALL_LIBDIR
}
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment