@@ -282,10 +282,47 @@ else()
282
282
SOURCE_SUBDIR contrib/windows-cmake/ FIND_PACKAGE_ARGS )
283
283
FetchContent_MakeAvailable (hwloc_targ )
284
284
285
+ if (CMAKE_GENERATOR STREQUAL "Ninja" )
286
+ add_custom_command (
287
+ COMMAND ${CMAKE_COMMAND}
288
+ -DCMAKE_INSTALL_PREFIX=${hwloc_targ_BINARY_DIR} -B build
289
+ WORKING_DIRECTORY
290
+ ${hwloc_targ_SOURCE_DIR} /contrib/windows-cmake/
291
+ OUTPUT
292
+ ${hwloc_targ_SOURCE_DIR} /contrib/windows-cmake/CMakeCache.txt
293
+ )
294
+ add_custom_command (
295
+ COMMAND ${CMAKE_COMMAND} --build build
296
+ WORKING_DIRECTORY
297
+ ${hwloc_targ_SOURCE_DIR} /contrib/windows-cmake/
298
+ OUTPUT
299
+ ${hwloc_targ_SOURCE_DIR} /contrib/windows-cmake/build/lib/hwloc.lib
300
+ DEPENDS
301
+ ${hwloc_targ_SOURCE_DIR} /contrib/windows-cmake/CMakeCache.txt
302
+ )
303
+ add_custom_command (
304
+ COMMAND ${CMAKE_COMMAND} --build build --target INSTALL
305
+ WORKING_DIRECTORY
306
+ ${hwloc_targ_SOURCE_DIR} /contrib/windows-cmake/
307
+ OUTPUT ${hwloc_targ_BINARY_DIR} /lib/hwloc.lib
308
+ DEPENDS
309
+ ${hwloc_targ_SOURCE_DIR} /contrib/windows-cmake/build/lib/hwloc.lib
310
+ )
311
+ add_custom_target (hwloc_prod
312
+ DEPENDS ${hwloc_targ_BINARY_DIR} /lib/hwloc.lib )
313
+ target_link_libraries (
314
+ hwloc INTERFACE ${hwloc_targ_BINARY_DIR} /lib/hwloc.lib )
315
+ add_dependencies (hwloc hwloc_prod )
316
+
317
+ set (LIBHWLOC_LIBRARY_DIRS ${hwloc_targ_BINARY_DIR} /lib )
318
+ set (LIBHWLOC_LIBRARIES ${hwloc_targ_BINARY_DIR} /lib/hwloc.lib )
319
+ else ()
320
+ set (LIBHWLOC_LIBRARY_DIRS ${hwloc_targ_BINARY_DIR} /$<CONFIG> )
321
+ set (LIBHWLOC_LIBRARIES ${hwloc_targ_BINARY_DIR} /$<CONFIG>/hwloc.lib )
322
+ endif ()
323
+
285
324
set (LIBHWLOC_INCLUDE_DIRS
286
325
${hwloc_targ_SOURCE_DIR} /include;${hwloc_targ_BINARY_DIR}/include )
287
- set (LIBHWLOC_LIBRARY_DIRS
288
- ${hwloc_targ_BINARY_DIR} /Release;${hwloc_targ_BINARY_DIR}/Debug )
289
326
else ()
290
327
include (FetchContent )
291
328
message (
0 commit comments