aboutsummaryrefslogtreecommitdiff
path: root/third_party
diff options
context:
space:
mode:
authordan sinclair <dj2@everburning.com>2019-03-08 14:18:10 -0500
committerGitHub <noreply@github.com>2019-03-08 14:18:10 -0500
commit596650447e65b80486cd5c83c278d1be46f348d5 (patch)
tree5bb7df7474dd24882d59acbec81948e46689bf80 /third_party
parent5bd86e6705c3d91247fbca5c447dc7a6ef054aed (diff)
downloadamber-596650447e65b80486cd5c83c278d1be46f348d5.tar.gz
Force cmake settings into the cache. (#341)
If you have settings which are defined by OPTIONS in the subprojects, you can not set those options if the cmake version is too low. There is a policy CMP0077 which can be set, but that gets reset as soon as the cmake_minimium_required is called (which happens in every subproject). This CL forces all of the things we care about into the cmake cache so they don't get reset by the downstream project. This only seems to be an issue on the Windows build but removes ~25 targets from a build as we correctly turn off tests and things.
Diffstat (limited to 'third_party')
-rw-r--r--third_party/CMakeLists.txt23
1 files changed, 12 insertions, 11 deletions
diff --git a/third_party/CMakeLists.txt b/third_party/CMakeLists.txt
index 7020678..21d2856 100644
--- a/third_party/CMakeLists.txt
+++ b/third_party/CMakeLists.txt
@@ -264,9 +264,10 @@ if (${AMBER_ENABLE_SPIRV_TOOLS})
set(CXX_BACK ${CMAKE_CXX_FLAGS})
SET(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "${SPIRV_TOOLS_BUILD_FIXES}")
STRING(REGEX REPLACE ";" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
- set(SPIRV-Headers_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/spirv-headers)
- set(SPIRV_SKIP_TESTS ON)
- set(SPIRV_SKIP_EXECUTABLES ON)
+ set(SPIRV-Headers_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/spirv-headers CACHE STRING "")
+ set(SPIRV_SKIP_TESTS ON CACHE BOOL ON)
+ set(SPIRV_SKIP_EXECUTABLES ON CACHE BOOL ON)
+ set(SPIRV_HEADERS_SKIP_EXAMPLES ON CACHE BOOL ON)
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/spirv-tools)
set(CMAKE_CXX_FLAGS ${CXX_BACK})
endif()
@@ -275,14 +276,14 @@ if (${AMBER_ENABLE_SHADERC})
set(CXX_BACK ${CMAKE_CXX_FLAGS})
SET(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "${GLSLANG_BUILD_FIXES}")
STRING(REGEX REPLACE ";" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
- set(ENABLE_HLSL ON)
- set(BUILD_TESTING FALSE)
- set(ENABLE_GLSLANG_BINARIES OFF)
- set(ENABLE_SPVREMAPPER OFF)
+ set(ENABLE_HLSL ON CACHE BOOL ON)
+ set(BUILD_TESTING FALSE CACHE BOOL ON)
+ set(ENABLE_GLSLANG_BINARIES OFF CACHE BOOL ON)
+ set(ENABLE_SPVREMAPPER OFF CACHE BOOL ON)
# Tell Glslang to statically link the C Runtime library.
- set(LLVM_USE_CRT_DEBUG MTd)
- set(LLVM_USE_CRT_RELEASE MT)
- set(LLVM_USE_CRT_RELWITHDEBINFO MT)
+ set(LLVM_USE_CRT_DEBUG MTd CACHE STRING "")
+ set(LLVM_USE_CRT_RELEASE MT CACHE STRING "")
+ set(LLVM_USE_CRT_RELWITHDEBINFO MT CACHE STRING "")
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/glslang)
set(CMAKE_CXX_FLAGS ${CXX_BACK})
@@ -290,7 +291,7 @@ if (${AMBER_ENABLE_SHADERC})
SET(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "${SHADERC_BUILD_FIXES}")
STRING(REGEX REPLACE ";" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
set(SHADERC_THIRD_PARTY_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR} CACHE STRING "")
- set(SHADERC_SKIP_TESTS ON)
+ set(SHADERC_SKIP_TESTS ON CACHE BOOL ON)
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/shaderc)
set(CMAKE_CXX_FLAGS ${CXX_BACK})
endif()