@@ -282,10 +282,52 @@ else()
282282 SOURCE_SUBDIR contrib/windows-cmake/ FIND_PACKAGE_ARGS)
283283 FetchContent_MakeAvailable(hwloc_targ)
284284
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+
285329 set (LIBHWLOC_INCLUDE_DIRS
286330 ${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)
289331 else ()
290332 include (FetchContent)
291333 message (
0 commit comments