@@ -162,10 +162,47 @@ else()
162
162
SOURCE_SUBDIR contrib/windows-cmake/ FIND_PACKAGE_ARGS )
163
163
FetchContent_MakeAvailable (hwloc_targ )
164
164
165
+ if (CMAKE_GENERATOR STREQUAL "Ninja" )
166
+ add_custom_command (
167
+ COMMAND ${CMAKE_COMMAND}
168
+ -DCMAKE_INSTALL_PREFIX=${hwloc_targ_BINARY_DIR} -B build
169
+ WORKING_DIRECTORY
170
+ ${hwloc_targ_SOURCE_DIR} /contrib/windows-cmake/
171
+ OUTPUT
172
+ ${hwloc_targ_SOURCE_DIR} /contrib/windows-cmake/CMakeCache.txt
173
+ )
174
+ add_custom_command (
175
+ COMMAND ${CMAKE_COMMAND} --build build
176
+ WORKING_DIRECTORY
177
+ ${hwloc_targ_SOURCE_DIR} /contrib/windows-cmake/
178
+ OUTPUT
179
+ ${hwloc_targ_SOURCE_DIR} /contrib/windows-cmake/build/lib/hwloc.lib
180
+ DEPENDS
181
+ ${hwloc_targ_SOURCE_DIR} /contrib/windows-cmake/CMakeCache.txt
182
+ )
183
+ add_custom_command (
184
+ COMMAND ${CMAKE_COMMAND} --build build --target INSTALL
185
+ WORKING_DIRECTORY
186
+ ${hwloc_targ_SOURCE_DIR} /contrib/windows-cmake/
187
+ OUTPUT ${hwloc_targ_BINARY_DIR} /lib/hwloc.lib
188
+ DEPENDS
189
+ ${hwloc_targ_SOURCE_DIR} /contrib/windows-cmake/build/lib/hwloc.lib
190
+ )
191
+ add_custom_target (hwloc_prod
192
+ DEPENDS ${hwloc_targ_BINARY_DIR} /lib/hwloc.lib )
193
+ target_link_libraries (
194
+ hwloc INTERFACE ${hwloc_targ_BINARY_DIR} /lib/hwloc.lib )
195
+ add_dependencies (hwloc hwloc_prod )
196
+
197
+ set (LIBHWLOC_LIBRARY_DIRS ${hwloc_targ_BINARY_DIR} /lib )
198
+ set (LIBHWLOC_LIBRARIES ${hwloc_targ_BINARY_DIR} /lib/hwloc.lib )
199
+ else ()
200
+ set (LIBHWLOC_LIBRARY_DIRS ${hwloc_targ_BINARY_DIR} /$<CONFIG> )
201
+ set (LIBHWLOC_LIBRARIES ${hwloc_targ_BINARY_DIR} /$<CONFIG>/hwloc.lib )
202
+ endif ()
203
+
165
204
set (LIBHWLOC_INCLUDE_DIRS
166
205
${hwloc_targ_SOURCE_DIR} /include;${hwloc_targ_BINARY_DIR}/include )
167
- set (LIBHWLOC_LIBRARY_DIRS
168
- ${hwloc_targ_BINARY_DIR} /Release;${hwloc_targ_BINARY_DIR}/Debug )
169
206
else ()
170
207
include (FetchContent )
171
208
message (
0 commit comments