@@ -39,6 +39,28 @@ add_test(NAME NBL_NSC_COMPILE_CUSTOM_CWD_TEST
39
39
COMMAND_EXPAND_LISTS
40
40
)
41
41
42
+ option (NBL_ENABLE_DOCKER_INTEGRATION "" OFF )
43
+
44
+ if (NBL_ENABLE_DOCKER_INTEGRATION )
45
+
46
+ find_program (DOCKER_EXE
47
+ NAMES docker
48
+ REQUIRED
49
+ )
50
+
51
+ find_program (SPIRV_DIS_EXE
52
+ NAMES spirv-dis
53
+ HINTS "$ENV{VULKAN_SDK_INSTALL_DIRECTORY} /Bin"
54
+ HINTS "$ENV{VK_SDK_PATH} /Bin"
55
+ HINTS "$ENV{VULKAN_SDK} /Bin"
56
+ REQUIRED
57
+ )
58
+
59
+ find_program (CTEST_EXE
60
+ NAMES ctest
61
+ REQUIRED
62
+ )
63
+
42
64
set (NBL_DOCKER_NSC_COMPILER_CONFIG_OUTPUT "${NBL_DOCKER_CT_NSC_VOLUME_SOURCE} /hlsl.local.properties.cmake" )
43
65
44
66
set (NBL_DOCKER_CT_NSC_VOLUME_TARGET "C:\\ nsc\\ install" )
@@ -86,14 +108,6 @@ compiler.nsc_debug_upstream.demangler=
86
108
]=]
87
109
)
88
110
89
- find_program (SPIRV_DIS_EXE
90
- NAMES spirv-dis
91
- HINTS "$ENV{VULKAN_SDK_INSTALL_DIRECTORY} /Bin"
92
- HINTS "$ENV{VK_SDK_PATH} /Bin"
93
- HINTS "$ENV{VULKAN_SDK} /Bin"
94
- REQUIRED
95
- )
96
-
97
111
cmake_path (GET SPIRV_DIS_EXE PARENT_PATH VULKAN_SDK_BIN_DIRECTORY )
98
112
cmake_path (GET SPIRV_DIS_EXE FILENAME SPIRV_DIS_EXE )
99
113
set (SPIRV_DIS_EXE "C:\\ vulkan\\ bin\\ ${SPIRV_DIS_EXE} " )
@@ -146,24 +160,26 @@ string(CONFIGURE "${COMPOSE_CONTENT}" COMPOSE_CONTENT @ONLY)
146
160
file (WRITE "${NBL_DOCKER_CE_COMPOSE_TARGET} " "${COMPOSE_CONTENT} " )
147
161
148
162
add_custom_target (run-compiler-explorer
149
- COMMAND ${CMAKE_COMMAND} -E cmake_echo_color --blue "Performing Pre-Test..."
150
- COMMAND ctest -C $< CONFIG> --stop-on-failure
151
- COMMAND docker compose -f "${NBL_DOCKER_CE_COMPOSE_TARGET } " down
152
- COMMAND ${CMAKE_COMMAND} -E cmake_echo_color --green "Starting Compiler Explorer!"
153
- COMMAND docker compose -f "${NBL_DOCKER_CE_COMPOSE_TARGET } " up --build -d compiler-explorer-nsc
154
- COMMAND docker compose -f "${NBL_DOCKER_CE_COMPOSE_TARGET} " exec compiler-explorer-nsc cmd /c python ce_healthy_check.py --interval 10 --ticks 25
163
+ COMMAND " ${CMAKE_COMMAND} " -E cmake_echo_color --blue "Performing Pre-Test..."
164
+ COMMAND " ${CTEST_EXE} " -C $< CONFIG> --stop-on-failure
165
+ COMMAND "${CMAKE_COMMAND } " -E cmake_echo_color --green "Starting Compiler Explorer!"
166
+ COMMAND " ${DOCKER_EXE} " compose -f " ${NBL_DOCKER_CE_COMPOSE_TARGET} " up --build -d compiler-explorer-nsc
167
+ COMMAND "${CMAKE_COMMAND } " -E cmake_echo_color --blue "Checking health of Compiler Explorer service..."
168
+ COMMAND " ${DOCKER_EXE} " compose -f "${NBL_DOCKER_CE_COMPOSE_TARGET} " exec compiler-explorer-nsc cmd /c python ce_healthy_check.py --interval 10 --ticks 25
155
169
COMMAND ${CMAKE_COMMAND} -E cmake_echo_color --green "Compiler Explorer is running, type \" localhost\" in your browser!"
156
170
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR} "
157
171
VERBATIM
158
172
USES_TERMINAL
159
173
)
160
174
161
175
add_custom_target (is-compiler-explorer-running
162
- COMMAND docker compose -f "${NBL_DOCKER_CE_COMPOSE_TARGET} " exec compiler-explorer-nsc cmd /c python ce_healthy_check.py --ticks 1
176
+ COMMAND " ${DOCKER_EXE} " compose -f "${NBL_DOCKER_CE_COMPOSE_TARGET} " exec compiler-explorer-nsc cmd /c python ce_healthy_check.py --ticks 1
163
177
VERBATIM
164
178
USES_TERMINAL
165
179
)
166
180
167
181
add_dependencies (run-compiler-explorer nsc )
168
182
set_target_properties (run-compiler-explorer PROPERTIES FOLDER "Godbolt" )
169
- set_target_properties (is-compiler-explorer-running PROPERTIES FOLDER "Godbolt" )
183
+ set_target_properties (is-compiler-explorer-running PROPERTIES FOLDER "Godbolt" )
184
+
185
+ endif ()
0 commit comments