1
- set (HLSL_OPTIONAL_PROJS_IN_DEFAULT OFF CACHE BOOL "" )
2
- set (HLSL_ENABLE_ANALYZE OFF CACHE BOOL "" )
3
- set (HLSL_OFFICIAL_BUILD OFF CACHE BOOL "" )
4
- set (HLSL_ENABLE_FIXED_VER OFF CACHE BOOL "" )
5
- set (HLSL_ENABLE_FIXED_VER OFF CACHE BOOL "" )
6
- set (HLSL_FIXED_VERSION_LOCATION "" CACHE STRING "" )
7
- set (HLSL_BUILD_DXILCONV ON CACHE BOOL "" )
8
- set (CLANG_VENDOR "" CACHE STRING "" )
9
- set (ENABLE_SPIRV_CODEGEN ON CACHE BOOL "" )
10
- set (SPIRV_BUILD_TESTS OFF CACHE BOOL "" )
11
- set (CLANG_ENABLE_ARCMT OFF CACHE BOOL "" )
12
- set (CLANG_ENABLE_STATIC_ANALYZER OFF CACHE BOOL "" )
13
- set (CLANG_INCLUDE_TESTS Off CACHE BOOL "" )
14
- set (LLVM_INCLUDE_TESTS Off CACHE BOOL "" )
15
- set (HLSL_INCLUDE_TESTS OFF CACHE BOOL "" )
16
- set (LLVM_TARGETS_TO_BUILD None CACHE STRING "" )
17
- set (LLVM_INCLUDE_DOCS OFF CACHE BOOL "" )
18
- set (LLVM_INCLUDE_TESTS OFF CACHE BOOL "" )
19
- set (LLVM_INCLUDE_EXAMPLES OFF CACHE BOOL "" )
20
- set (LIBCLANG_BUILD_STATIC ON CACHE BOOL "" )
21
- set (LLVM_OPTIMIZED_TABLEGEN OFF CACHE BOOL "" )
22
- set (LLVM_REQUIRES_EH ON CACHE BOOL "" )
23
- set (LLVM_APPEND_VC_REV ON CACHE BOOL "" )
24
- set (LLVM_ENABLE_RTTI ON CACHE BOOL "" )
25
- set (LLVM_ENABLE_EH ON CACHE BOOL "" )
26
- set (LLVM_DEFAULT_TARGET_TRIPLE "dxil-ms-dx" CACHE STRING "" )
27
- set (CLANG_BUILD_EXAMPLES OFF CACHE BOOL "" )
28
- set (LLVM_REQUIRES_RTTI ON CACHE BOOL "" )
29
- set (CLANG_CL OFF CACHE BOOL "" )
30
- set (LLVM_ENABLE_WERROR OFF CACHE BOOL "" FORCE )
31
- set (SPIRV_WERROR OFF CACHE BOOL "" FORCE )
32
- set (DXC_BUILD_ARCH x64 CACHE STRING "" )
33
- set (SPIRV_HEADERS_SKIP_INSTALL ON CACHE INTERNAL "Skip SPIRV-Headers install" )
34
- set (SPIRV_HEADERS_SKIP_EXAMPLES ON CACHE INTERNAL "Skip SPIRV-Headers examples" )
35
- set (SKIP_SPIRV_TOOLS_INSTALL ON CACHE INTERNAL "Skip SPIRV-Tools install" )
36
- set (SPIRV_SKIP_TESTS ON CACHE INTERNAL "Skip SPIRV-Tools tests" )
37
- set (SPIRV_SKIP_EXECUTABLES ON CACHE INTERNAL "Skip SPIRV-Tools executable build" )
38
- set (HLSL_ENABLE_DEBUG_ITERATORS ON CACHE BOOL "Enable Debug iterators" FORCE )
39
-
40
- nbl_adjust_flags ()
1
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DHLSL_OPTIONAL_PROJS_IN_DEFAULT:BOOL=OFF" )
2
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DHLSL_ENABLE_ANALYZE:BOOL=OFF" )
3
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DHLSL_OFFICIAL_BUILD:BOOL=OFF" )
4
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DHLSL_ENABLE_FIXED_VER:BOOL=OFF" )
5
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DHLSL_FIXED_VERSION_LOCATION:STRING=" )
6
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DHLSL_BUILD_DXILCONV:BOOL=ON" )
7
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DCLANG_VENDOR:STRING=" )
8
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DENABLE_SPIRV_CODEGEN:BOOL=ON" )
9
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DSPIRV_BUILD_TESTS:BOOL=OFF" )
10
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DCLANG_ENABLE_ARCMT:BOOL=OFF" )
11
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DCLANG_ENABLE_STATIC_ANALYZER:BOOL=OFF" )
12
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DCLANG_INCLUDE_TESTS:BOOL=Off" )
13
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DLLVM_INCLUDE_TESTS:BOOL=Off" )
14
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DHLSL_INCLUDE_TESTS:BOOL=OFF" )
15
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DLLVM_TARGETS_TO_BUILD:STRING=None" )
16
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DLLVM_INCLUDE_DOCS:BOOL=OFF" )
17
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DLLVM_INCLUDE_TESTS:BOOL=OFF" )
18
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DLLVM_INCLUDE_EXAMPLES:BOOL=OFF" )
19
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DLIBCLANG_BUILD_STATIC:BOOL=ON" )
20
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DLLVM_OPTIMIZED_TABLEGEN:BOOL=OFF" )
21
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DLLVM_REQUIRES_EH:BOOL=ON" )
22
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DLLVM_APPEND_VC_REV:BOOL=ON" )
23
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DLLVM_ENABLE_RTTI:BOOL=ON" )
24
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DLLVM_ENABLE_EH:BOOL=ON" )
25
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DLLVM_DEFAULT_TARGET_TRIPLE:STING=dxil-ms-dx" )
26
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DCLANG_BUILD_EXAMPLES:BOOL=OFF" )
27
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DLLVM_REQUIRES_RTTI:BOOL=ON" )
28
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DCLANG_CL:BOOL=OFF" )
29
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DLLVM_ENABLE_WERROR:BOOL=OFF" )
30
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DSPIRV_WERROR:BOOL=OFF" )
31
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DDXC_BUILD_ARCH:STRING=x64" )
32
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DSPIRV_HEADERS_SKIP_INSTALL:BOOL=ON" )
33
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DSPIRV_HEADERS_SKIP_EXAMPLES:BOOL=ON" )
34
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DSKIP_SPIRV_TOOLS_INSTALL:BOOL=ON" )
35
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DSPIRV_SKIP_TESTS:BOOL=ON" )
36
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DSPIRV_SKIP_EXECUTABLES:BOOL=ON" )
37
+ list (APPEND NBL_DXC_CMAKE_OPTIONS "-DHLSL_ENABLE_DEBUG_ITERATORS:BOOL=ON" )
41
38
39
+ # perform DXC compile standard requirement test
42
40
set (CMAKE_CXX_STANDARD_REQUIRED ON )
43
41
set (CMAKE_CXX_STANDARD 11 ) # compiler must support exactly c++11 or c++14 standard in order to be able to build DXC libraries
44
42
if (NBL_DYNAMIC_MSVC_RUNTIME )
@@ -60,7 +58,16 @@ else()
60
58
message (FATAL_ERROR "${DXC_COMPILE_RET_VAL} " )
61
59
endif ()
62
60
63
- add_subdirectory (dxc dxc )
61
+ set (DXC_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR} /build" CACHE INTERNAL "" )
62
+ execute_process (COMMAND "${CMAKE_COMMAND} " -S "${CMAKE_CURRENT_SOURCE_DIR} /dxc" -B "${DXC_BUILD_DIR} " -G "${CMAKE_GENERATOR} " "-Ax64" -T "${CMAKE_GENERATOR_TOOLSET} " ${NBL_DXC_CMAKE_OPTIONS}
63
+ RESULT_VARIABLE DXC_CMAKE_RESULT
64
+ OUTPUT_VARIABLE DXC_CMAKE_STREAM_PIPE
65
+ )
66
+
67
+ if (NOT "${DXC_CMAKE_RESULT} " STREQUAL "0" )
68
+ message (FATAL_ERROR "${DXC_CMAKE_STREAM_PIPE} " )
69
+ endif ()
70
+
64
71
set (CMAKE_CXX_STANDARD 20 ) # it's mandatory
65
72
unset (CMAKE_CXX_STANDARD_REQUIRED )
66
73
0 commit comments