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
cfc69d95
Commit
cfc69d95
authored
Apr 28, 2017
by
John Kessenich
Committed by
GitHub
Apr 28, 2017
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Revert "Modernise CMake"
parent
a01600b8
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
130 additions
and
141 deletions
+130
-141
CMakeLists.txt
CMakeLists.txt
+22
-32
CMakeLists.txt
External/CMakeLists.txt
+30
-31
CMakeLists.txt
OGLCompilersDLL/CMakeLists.txt
+3
-3
CMakeLists.txt
SPIRV/CMakeLists.txt
+4
-4
CMakeLists.txt
StandAlone/CMakeLists.txt
+8
-6
CMakeLists.txt
glslang/CMakeLists.txt
+5
-5
CMakeLists.txt
glslang/OSDependent/Unix/CMakeLists.txt
+3
-3
CMakeLists.txt
glslang/OSDependent/Windows/CMakeLists.txt
+4
-4
CMakeLists.txt
gtests/CMakeLists.txt
+48
-50
CMakeLists.txt
hlsl/CMakeLists.txt
+3
-3
No files found.
CMakeLists.txt
View file @
cfc69d95
# increase to 3.1 once all major distributions
# include a version of CMake >= 3.1
cmake_minimum_required
(
VERSION 2.8.12
)
cmake_minimum_required
(
VERSION 2.8.11
)
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_GLSLANG_BINARIES
"Builds glslangValidator and spirv-remap"
ON
)
...
...
@@ -13,10 +8,11 @@ option(ENABLE_NV_EXTENSIONS "Enables support of Nvidia-specific extensions" ON)
option
(
ENABLE_HLSL
"Enables HLSL input support"
ON
)
project
(
glslang
)
enable_testing
()
set
(
CMAKE_INSTALL_PREFIX
"install"
CACHE STRING
"prefix"
)
# make testing optional
include
(
CTest
)
project
(
glslang
)
if
(
ENABLE_AMD_EXTENSIONS
)
add_definitions
(
-DAMD_EXTENSIONS
)
...
...
@@ -37,39 +33,33 @@ if(WIN32)
endif
(
MSVC
)
add_definitions
(
-DGLSLANG_OSINCLUDE_WIN32
)
elseif
(
UNIX
)
add_definitions
(
-fPIC
)
add_definitions
(
-DGLSLANG_OSINCLUDE_UNIX
)
else
(
WIN32
)
message
(
"unknown platform"
)
endif
(
WIN32
)
if
(
${
CMAKE_CXX_COMPILER_ID
}
MATCHES
"GNU"
)
add_compile_options
(
-Wall -Wmaybe-uninitialized -Wuninitialized -Wunused -Wunused-local-typedefs
-Wunused-parameter -Wunused-value -Wunused-variable -Wunused-but-set-parameter -Wunused-but-set-variable
)
add_compile_options
(
-Wno-reorder
)
# disable this from -Wall, since it happens all over.
if
(
CMAKE_COMPILER_IS_GNUCXX
)
add_definitions
(
-Wall -Wmaybe-uninitialized -Wuninitialized -Wunused -Wunused-local-typedefs
-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_definitions
(
-std=c++11
)
elseif
(
${
CMAKE_CXX_COMPILER_ID
}
MATCHES
"Clang"
)
add_compile_options
(
-Wall -Wuninitialized -Wunused -Wunused-local-typedefs
-Wunused-parameter -Wunused-value -Wunused-variable
)
add_compile_options
(
-Wno-reorder
)
# disable this from -Wall, since it happens all over.
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
)
add_definitions
(
-Wall -Wuninitialized -Wunused -Wunused-local-typedefs
-Wunused-parameter -Wunused-value -Wunused-variable
)
add_definitions
(
-Wno-reorder
)
# disable this from -Wall, since it happens all over.
add_definitions
(
-std=c++11
)
endif
()
function
(
glslang_set_link_args TARGET
)
# For MinGW compiles, statically link against the GCC and C++ runtimes.
# This avoids the need to ship those runtimes as DLLs.
if
(
WIN32 AND
${
CMAKE_CXX_COMPILER_ID
}
MATCHES
"GNU"
)
set_target_properties
(
${
TARGET
}
PROPERTIES
LINK_FLAGS
"-static -static-libgcc -static-libstdc++"
)
endif
()
if
(
WIN32
)
if
(
${
CMAKE_CXX_COMPILER_ID
}
MATCHES
"GNU"
)
set_target_properties
(
${
TARGET
}
PROPERTIES
LINK_FLAGS
"-static -static-libgcc -static-libstdc++"
)
endif
()
endif
(
WIN32
)
endfunction
(
glslang_set_link_args
)
# We depend on these for later projects, so they should come first.
...
...
@@ -78,7 +68,7 @@ add_subdirectory(External)
add_subdirectory
(
glslang
)
add_subdirectory
(
OGLCompilersDLL
)
if
(
ENABLE_GLSLANG_BINARIES
)
add_subdirectory
(
StandAlone
)
add_subdirectory
(
StandAlone
)
endif
()
add_subdirectory
(
SPIRV
)
if
(
ENABLE_HLSL
)
...
...
External/CMakeLists.txt
View file @
cfc69d95
# Suppress all warnings from external projects.
set_property
(
DIRECTORY APPEND PROPERTY COMPILE_OPTIONS -w
)
if
(
BUILD_TESTING
)
if
(
TARGET gmock
)
message
(
STATUS
"Google Mock already configured - use it"
)
elseif
(
IS_DIRECTORY
${
CMAKE_CURRENT_SOURCE_DIR
}
/googletest
)
# We need to make sure Google Test does not mess up with the
# global CRT settings on Windows.
if
(
WIN32
)
set
(
gtest_force_shared_crt ON CACHE BOOL
""
FORCE
)
endif
(
WIN32
)
add_subdirectory
(
googletest
)
set
(
GTEST_TARGETS
gtest
gtest_main
gmock
gmock_main
)
foreach
(
target
${
GTEST_TARGETS
}
)
set_property
(
TARGET
${
target
}
PROPERTY FOLDER gtest
)
endforeach
()
mark_as_advanced
(
gmock_build_tests
BUILD_GMOCK
BUILD_GTEST
BUILD_SHARED_LIBS
gtest_build_samples
gtest_build_tests
gtest_disable_pthreads
gtest_force_shared_crt
gtest_hide_internal_symbols
)
else
()
message
(
STATUS
"Google Mock was not found - tests based on that will not build"
)
endif
()
if
(
TARGET gmock
)
message
(
STATUS
"Google Mock already configured - use it"
)
elseif
(
IS_DIRECTORY
${
CMAKE_CURRENT_SOURCE_DIR
}
/googletest
)
# We need to make sure Google Test does not mess up with the
# global CRT settings on Windows.
if
(
WIN32
)
set
(
gtest_force_shared_crt ON CACHE BOOL
""
FORCE
)
endif
(
WIN32
)
add_subdirectory
(
googletest
)
set
(
GTEST_TARGETS
gtest
gtest_main
gmock
gmock_main
)
foreach
(
target
${
GTEST_TARGETS
}
)
set_property
(
TARGET
${
target
}
PROPERTY FOLDER gtest
)
endforeach
()
mark_as_advanced
(
gmock_build_tests
BUILD_GMOCK
BUILD_GTEST
BUILD_SHARED_LIBS
gtest_build_samples
gtest_build_tests
gtest_disable_pthreads
gtest_force_shared_crt
gtest_hide_internal_symbols
)
else
()
message
(
STATUS
"Google Mock was not found - tests based on that will not build"
)
endif
()
OGLCompilersDLL/CMakeLists.txt
View file @
cfc69d95
set
(
SOURCES InitializeDll.cpp InitializeDll.h
)
add_library
(
OGLCompiler STATIC
${
SOURCES
}
)
set_property
(
TARGET OGLCompiler PROPERTY FOLDER glslang
POSITION_INDEPENDENT_CODE ON
)
set_property
(
TARGET OGLCompiler PROPERTY FOLDER glslang
)
if
(
WIN32
)
source_group
(
"Source"
FILES
${
SOURCES
}
)
endif
(
WIN32
)
install
(
TARGETS OGLCompiler
ARCHIVE DESTINATION
${
CMAKE_INSTALL_LIBDIR
}
)
install
(
TARGETS OGLCompiler
ARCHIVE DESTINATION
lib
)
SPIRV/CMakeLists.txt
View file @
cfc69d95
...
...
@@ -40,11 +40,11 @@ if(ENABLE_NV_EXTENSIONS)
endif
(
ENABLE_NV_EXTENSIONS
)
add_library
(
SPIRV STATIC
${
SOURCES
}
${
HEADERS
}
)
set_property
(
TARGET SPIRV PROPERTY FOLDER glslang
POSITION_INDEPENDENT_CODE ON
)
set_property
(
TARGET SPIRV PROPERTY FOLDER glslang
)
target_link_libraries
(
SPIRV glslang
)
add_library
(
SPVRemapper STATIC
${
SPVREMAP_SOURCES
}
${
SPVREMAP_HEADERS
}
)
set_property
(
TARGET SPVRemapper PROPERTY FOLDER glslang
POSITION_INDEPENDENT_CODE ON
)
set_property
(
TARGET SPVRemapper PROPERTY FOLDER glslang
)
if
(
WIN32
)
source_group
(
"Source"
FILES
${
SOURCES
}
${
HEADERS
}
)
...
...
@@ -52,6 +52,6 @@ if(WIN32)
endif
(
WIN32
)
install
(
TARGETS SPIRV SPVRemapper
ARCHIVE DESTINATION
${
CMAKE_INSTALL_LIBDIR
}
)
ARCHIVE DESTINATION
lib
)
install
(
FILES
${
HEADERS
}
${
SPVREMAP_HEADERS
}
DESTINATION
${
CMAKE_INSTALL_INCLUDEDIR
}
/SPIRV/
)
install
(
FILES
${
HEADERS
}
${
SPVREMAP_HEADERS
}
DESTINATION
include
/SPIRV/
)
StandAlone/CMakeLists.txt
View file @
cfc69d95
add_library
(
glslang-default-resource-limits
${
CMAKE_CURRENT_SOURCE_DIR
}
/ResourceLimits.cpp
)
set_property
(
TARGET glslang-default-resource-limits PROPERTY FOLDER glslang POSITION_INDEPENDENT_CODE ON
)
${
CMAKE_CURRENT_SOURCE_DIR
}
/ResourceLimits.cpp
)
set_property
(
TARGET glslang-default-resource-limits PROPERTY FOLDER glslang
)
target_include_directories
(
glslang-default-resource-limits
PUBLIC
${
CMAKE_CURRENT_SOURCE_DIR
}
PUBLIC
${
PROJECT_SOURCE_DIR
}
)
PUBLIC
${
CMAKE_CURRENT_SOURCE_DIR
}
PUBLIC
${
PROJECT_SOURCE_DIR
}
)
set
(
SOURCES StandAlone.cpp
)
set
(
REMAPPER_SOURCES spirv-remap.cpp
)
...
...
@@ -39,7 +41,7 @@ if(WIN32)
endif
(
WIN32
)
install
(
TARGETS glslangValidator
RUNTIME DESTINATION
${
CMAKE_INSTALL_BINDIR
}
)
RUNTIME DESTINATION
bin
)
install
(
TARGETS spirv-remap
RUNTIME DESTINATION
${
CMAKE_INSTALL_BINDIR
}
)
RUNTIME DESTINATION
bin
)
glslang/CMakeLists.txt
View file @
cfc69d95
...
...
@@ -81,10 +81,10 @@ set(HEADERS
# set(BISON_GLSLParser_OUTPUT_SOURCE ${CMAKE_CURRENT_SOURCE_DIR}/MachineIndependent/glslang_tab.cpp)
add_library
(
glslang STATIC
${
BISON_GLSLParser_OUTPUT_SOURCE
}
${
SOURCES
}
${
HEADERS
}
)
set_property
(
TARGET glslang PROPERTY FOLDER glslang
POSITION_INDEPENDENT_CODE ON
)
set_property
(
TARGET glslang PROPERTY FOLDER glslang
)
target_link_libraries
(
glslang OGLCompiler OSDependent
)
if
(
ENABLE_HLSL
)
target_link_libraries
(
glslang HLSL
)
target_link_libraries
(
glslang HLSL
)
endif
()
if
(
WIN32
)
...
...
@@ -95,10 +95,10 @@ if(WIN32)
source_group
(
"MachineIndependent
\\
Preprocessor"
REGULAR_EXPRESSION
"MachineIndependent/preprocessor/*"
)
endif
(
WIN32
)
install
(
TARGETS glslang
ARCHIVE DESTINATION
${
CMAKE_INSTALL_LIBDIR
}
)
install
(
TARGETS glslang
ARCHIVE DESTINATION
lib
)
foreach
(
file
${
HEADERS
}
)
get_filename_component
(
dir
${
file
}
DIRECTORY
)
install
(
FILES
${
file
}
DESTINATION
${
CMAKE_INSTALL_INCLUDEDIR
}
/glslang/
${
dir
}
)
install
(
FILES
${
file
}
DESTINATION
include
/glslang/
${
dir
}
)
endforeach
()
glslang/OSDependent/Unix/CMakeLists.txt
View file @
cfc69d95
add_library
(
OSDependent STATIC ossource.cpp ../osinclude.h
)
set_property
(
TARGET OSDependent PROPERTY FOLDER glslang
POSITION_INDEPENDENT_CODE ON
)
set_property
(
TARGET OSDependent PROPERTY FOLDER glslang
)
install
(
TARGETS OSDependent
ARCHIVE DESTINATION
${
CMAKE_INSTALL_LIBDIR
}
)
install
(
TARGETS OSDependent
ARCHIVE DESTINATION
lib
)
glslang/OSDependent/Windows/CMakeLists.txt
View file @
cfc69d95
set
(
SOURCES ossource.cpp ../osinclude.h
)
add_library
(
OSDependent STATIC
${
SOURCES
}
)
set_property
(
TARGET OSDependent PROPERTY FOLDER glslang
POSITION_INDEPENDENT_CODE ON
)
set_property
(
TARGET OSDependent PROPERTY FOLDER glslang
)
# MinGW GCC complains about function pointer casts to void*.
# Turn that off with -fpermissive.
if
(
${
CMAKE_CXX_COMPILER_ID
}
MATCHES
"GNU"
)
target_compile_options
(
OSDependent PRIVATE -fpermissive
)
target_compile_options
(
OSDependent PRIVATE -fpermissive
)
endif
()
if
(
WIN32
)
source_group
(
"Source"
FILES
${
SOURCES
}
)
endif
(
WIN32
)
install
(
TARGETS OSDependent
ARCHIVE DESTINATION
${
CMAKE_INSTALL_LIBDIR
}
)
install
(
TARGETS OSDependent
ARCHIVE DESTINATION
lib
)
gtests/CMakeLists.txt
View file @
cfc69d95
if
(
BUILD_TESTING
)
if
(
TARGET gmock
)
message
(
STATUS
"Google Mock found - building tests"
)
if
(
TARGET gmock
)
message
(
STATUS
"Google Mock found - building tests"
)
set
(
TEST_SOURCES
# Framework related source files
${
CMAKE_CURRENT_SOURCE_DIR
}
/Initializer.h
${
CMAKE_CURRENT_SOURCE_DIR
}
/main.cpp
${
CMAKE_CURRENT_SOURCE_DIR
}
/Settings.cpp
${
CMAKE_CURRENT_SOURCE_DIR
}
/Settings.h
${
CMAKE_CURRENT_SOURCE_DIR
}
/TestFixture.cpp
${
CMAKE_CURRENT_SOURCE_DIR
}
/TestFixture.h
set
(
TEST_SOURCES
# Framework related source files
${
CMAKE_CURRENT_SOURCE_DIR
}
/Initializer.h
${
CMAKE_CURRENT_SOURCE_DIR
}
/main.cpp
${
CMAKE_CURRENT_SOURCE_DIR
}
/Settings.cpp
${
CMAKE_CURRENT_SOURCE_DIR
}
/Settings.h
${
CMAKE_CURRENT_SOURCE_DIR
}
/TestFixture.cpp
${
CMAKE_CURRENT_SOURCE_DIR
}
/TestFixture.h
# Test related source files
${
CMAKE_CURRENT_SOURCE_DIR
}
/AST.FromFile.cpp
${
CMAKE_CURRENT_SOURCE_DIR
}
/BuiltInResource.FromFile.cpp
${
CMAKE_CURRENT_SOURCE_DIR
}
/Config.FromFile.cpp
${
CMAKE_CURRENT_SOURCE_DIR
}
/HexFloat.cpp
${
CMAKE_CURRENT_SOURCE_DIR
}
/Hlsl.FromFile.cpp
${
CMAKE_CURRENT_SOURCE_DIR
}
/Link.FromFile.cpp
${
CMAKE_CURRENT_SOURCE_DIR
}
/Link.FromFile.Vk.cpp
${
CMAKE_CURRENT_SOURCE_DIR
}
/Pp.FromFile.cpp
${
CMAKE_CURRENT_SOURCE_DIR
}
/Spv.FromFile.cpp
# Test related source files
${
CMAKE_CURRENT_SOURCE_DIR
}
/AST.FromFile.cpp
${
CMAKE_CURRENT_SOURCE_DIR
}
/BuiltInResource.FromFile.cpp
${
CMAKE_CURRENT_SOURCE_DIR
}
/Config.FromFile.cpp
${
CMAKE_CURRENT_SOURCE_DIR
}
/HexFloat.cpp
${
CMAKE_CURRENT_SOURCE_DIR
}
/Hlsl.FromFile.cpp
${
CMAKE_CURRENT_SOURCE_DIR
}
/Link.FromFile.cpp
${
CMAKE_CURRENT_SOURCE_DIR
}
/Link.FromFile.Vk.cpp
${
CMAKE_CURRENT_SOURCE_DIR
}
/Pp.FromFile.cpp
${
CMAKE_CURRENT_SOURCE_DIR
}
/Spv.FromFile.cpp
# -- Remapper tests
${
CMAKE_CURRENT_SOURCE_DIR
}
/Remap.FromFile.cpp
)
# -- Remapper tests
${
CMAKE_CURRENT_SOURCE_DIR
}
/Remap.FromFile.cpp
)
add_executable
(
glslangtests
${
TEST_SOURCES
}
)
set_property
(
TARGET glslangtests PROPERTY FOLDER tests
)
glslang_set_link_args
(
glslangtests
)
install
(
TARGETS glslangtests
RUNTIME DESTINATION bin
)
add_executable
(
glslangtests
${
TEST_SOURCES
}
)
set_property
(
TARGET glslangtests PROPERTY FOLDER tests
)
glslang_set_link_args
(
glslangtests
)
install
(
TARGETS glslangtests
RUNTIME DESTINATION
${
CMAKE_INSTALL_BINDIR
}
)
set
(
GLSLANG_TEST_DIRECTORY
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/../Test"
)
# Supply a default test root directory, so that manual testing
# doesn't have to specify the --test-root option in the normal
# case that you want to use the tests from the same source tree.
target_compile_definitions
(
glslangtests
PRIVATE GLSLANG_TEST_DIRECTORY=
"
${
GLSLANG_TEST_DIRECTORY
}
"
)
target_include_directories
(
glslangtests PRIVATE
${
CMAKE_CURRENT_SOURCE_DIR
}
${
PROJECT_SOURCE_DIR
}
${
gmock_SOURCE_DIR
}
/include
${
gtest_SOURCE_DIR
}
/include
)
set
(
GLSLANG_TEST_DIRECTORY
"
${
CMAKE_CURRENT_SOURCE_DIR
}
/../Test"
)
# Supply a default test root directory, so that manual testing
# doesn't have to specify the --test-root option in the normal
# case that you want to use the tests from the same source tree.
target_compile_definitions
(
glslangtests
PRIVATE GLSLANG_TEST_DIRECTORY=
"
${
GLSLANG_TEST_DIRECTORY
}
"
)
target_include_directories
(
glslangtests PRIVATE
${
CMAKE_CURRENT_SOURCE_DIR
}
${
PROJECT_SOURCE_DIR
}
${
gmock_SOURCE_DIR
}
/include
${
gtest_SOURCE_DIR
}
/include
)
set
(
LIBRARIES
SPVRemapper glslang OSDependent OGLCompiler glslang
SPIRV glslang-default-resource-limits
)
if
(
ENABLE_HLSL
)
set
(
LIBRARIES
${
LIBRARIES
}
HLSL
)
endif
(
ENABLE_HLSL
)
target_link_libraries
(
glslangtests PRIVATE
${
LIBRARIES
}
gmock
)
set
(
LIBRARIES
SPVRemapper glslang OSDependent OGLCompiler glslang
SPIRV glslang-default-resource-limits
)
if
(
ENABLE_HLSL
)
set
(
LIBRARIES
${
LIBRARIES
}
HLSL
)
endif
(
ENABLE_HLSL
)
target_link_libraries
(
glslangtests PRIVATE
${
LIBRARIES
}
gmock
)
add_test
(
NAME glslang-gtests
COMMAND glslangtests --test-root
"
${
GLSLANG_TEST_DIRECTORY
}
"
)
endif
()
add_test
(
NAME glslang-gtests
COMMAND glslangtests --test-root
"
${
GLSLANG_TEST_DIRECTORY
}
"
)
endif
()
hlsl/CMakeLists.txt
View file @
cfc69d95
...
...
@@ -7,7 +7,7 @@ set(SOURCES
hlslGrammar.cpp
hlslParseables.cpp
)
set
(
HEADERS
set
(
HEADERS
hlslAttributes.h
hlslParseHelper.h
hlslTokens.h
...
...
@@ -18,11 +18,11 @@ set(HEADERS
hlslParseables.h
)
add_library
(
HLSL STATIC
${
SOURCES
}
${
HEADERS
}
)
set_property
(
TARGET HLSL PROPERTY FOLDER hlsl
POSITION_INDEPENDENT_CODE ON
)
set_property
(
TARGET HLSL PROPERTY FOLDER hlsl
)
if
(
WIN32
)
source_group
(
"Source"
FILES
${
SOURCES
}
${
HEADERS
}
)
endif
(
WIN32
)
install
(
TARGETS HLSL
ARCHIVE DESTINATION
${
CMAKE_INSTALL_LIBDIR
}
)
ARCHIVE DESTINATION
lib
)
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