diff options
Diffstat (limited to 'external')
| -rw-r--r-- | external/CMakeLists.txt | 68 |
1 files changed, 41 insertions, 27 deletions
diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt index ce8b76c70..dfee0a610 100644 --- a/external/CMakeLists.txt +++ b/external/CMakeLists.txt @@ -17,35 +17,47 @@ if(NOT SLANG_ENABLE_EXTERNAL_COMPILER_WARNINGS) endif() endif() +if (NOT ${SLANG_USE_SYSTEM_UNORDERED_DENSE}) + add_subdirectory(unordered_dense EXCLUDE_FROM_ALL SYSTEM) +endif() + # Miniz -add_subdirectory(miniz EXCLUDE_FROM_ALL SYSTEM) -set_property(TARGET miniz PROPERTY POSITION_INDEPENDENT_CODE ON) -# Work around https://github.com/richgel999/miniz/pull/292 -get_target_property(miniz_c_launcher miniz C_COMPILER_LAUNCHER) -if(MSVC AND miniz_c_launcher MATCHES "ccache") - set_property(TARGET miniz PROPERTY C_COMPILER_LAUNCHER) - set_property(TARGET miniz PROPERTY MSVC_DEBUG_INFORMATION_FORMAT "") +if (NOT ${SLANG_USE_SYSTEM_MINIZ}) + add_subdirectory(miniz EXCLUDE_FROM_ALL SYSTEM) + set_property(TARGET miniz PROPERTY POSITION_INDEPENDENT_CODE ON) + # Work around https://github.com/richgel999/miniz/pull/292 + get_target_property(miniz_c_launcher miniz C_COMPILER_LAUNCHER) + if(MSVC AND miniz_c_launcher MATCHES "ccache") + set_property(TARGET miniz PROPERTY C_COMPILER_LAUNCHER) + set_property(TARGET miniz PROPERTY MSVC_DEBUG_INFORMATION_FORMAT "") + endif() endif() # LZ4 -set(LZ4_BUNDLED_MODE ON) -add_subdirectory(lz4/build/cmake EXCLUDE_FROM_ALL SYSTEM) -if(MSVC) - target_compile_options( - lz4_static - PRIVATE /wd5045 /wd4820 /wd4711 /wd6385 /wd6262 - ) +if (NOT ${SLANG_USE_SYSTEM_LZ4}) + set(LZ4_BUNDLED_MODE ON) + add_subdirectory(lz4/build/cmake EXCLUDE_FROM_ALL SYSTEM) + if(MSVC) + target_compile_options( + lz4_static + PRIVATE /wd5045 /wd4820 /wd4711 /wd6385 /wd6262 + ) + endif() endif() # Vulkan headers -add_subdirectory(vulkan EXCLUDE_FROM_ALL SYSTEM) +if (NOT ${SLANG_USE_SYSTEM_VULKAN_HEADERS}) + add_subdirectory(vulkan EXCLUDE_FROM_ALL SYSTEM) +endif() # metal-cpp headers add_library(metal-cpp INTERFACE) target_include_directories(metal-cpp INTERFACE "${CMAKE_CURRENT_LIST_DIR}/metal-cpp") # SPIRV-Headers -add_subdirectory(spirv-headers EXCLUDE_FROM_ALL SYSTEM) +if (NOT ${SLANG_USE_SYSTEM_SPIRV_HEADERS}) + add_subdirectory(spirv-headers EXCLUDE_FROM_ALL SYSTEM) +endif() if(SLANG_ENABLE_SLANG_GLSLANG) # SPIRV-Tools @@ -66,18 +78,20 @@ endif() add_library(imgui INTERFACE) target_include_directories(imgui INTERFACE "${CMAKE_CURRENT_LIST_DIR}/imgui") -# slang-rhi -set(SLANG_RHI_BINARY_DIR ${CMAKE_BINARY_DIR}/$<CONFIG>/bin) -set(SLANG_RHI_SLANG_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/include) -set(SLANG_RHI_SLANG_BINARY_DIR ${CMAKE_BINARY_DIR}) -set(SLANG_RHI_BUILD_TESTS OFF) -if(CMAKE_SYSTEM_NAME STREQUAL "Linux") - set(SLANG_RHI_ENABLE_WGPU OFF) -endif() -if(SLANG_ENABLE_DX_ON_VK) - set(SLANG_RHI_HAS_D3D12 ON) +if(SLANG_ENABLE_SLANG_RHI) + # slang-rhi + set(SLANG_RHI_BINARY_DIR ${CMAKE_BINARY_DIR}/$<CONFIG>/bin) + set(SLANG_RHI_SLANG_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/include) + set(SLANG_RHI_SLANG_BINARY_DIR ${CMAKE_BINARY_DIR}) + set(SLANG_RHI_BUILD_TESTS OFF) + if(SLANG_ENABLE_DX_ON_VK) + set(SLANG_RHI_HAS_D3D12 ON) + endif() + if(CMAKE_SYSTEM_NAME STREQUAL "Linux") + set(SLANG_RHI_ENABLE_WGPU OFF) + endif() + add_subdirectory(slang-rhi) endif() -add_subdirectory(slang-rhi) # Tidy things up: |
