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