@@ -190,8 +190,12 @@ include_directories(
190190file (GLOB_RECURSE CPP_FILES "src/c++/*.cpp" )
191191file (GLOB_RECURSE HPP_FILES "include/*.hpp" )
192192file (GLOB_RECURSE PYBIND_CPP_FILES "src/c++/*_pybind.cpp" )
193+ set (CORE_PYTHON_ONLY_SRC
194+ ${CMAKE_SOURCE_DIR} /src/c++/io/cgns/node_pycgns_converter.cpp
195+ )
193196set (CORE_SHARED_SRC ${CPP_FILES} ${HPP_FILES} )
194197list (REMOVE_ITEM CORE_SHARED_SRC ${PYBIND_CPP_FILES} )
198+ list (REMOVE_ITEM CORE_SHARED_SRC ${CORE_PYTHON_ONLY_SRC} )
195199
196200if (MSVC )
197201 set (CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON )
@@ -228,7 +232,6 @@ elseif(UNIX OR MSVC)
228232endif ()
229233
230234target_compile_definitions (core_shared PRIVATE BUILDING_NODE_LIBRARY )
231- target_link_libraries (core_shared PUBLIC pybind11::module )
232235
233236
234237if (ENABLE_HDF5_IO)
@@ -237,13 +240,21 @@ if(ENABLE_HDF5_IO)
237240 if (MSVC )
238241 # Copy HDF5 DLLs into the wheel output directory so they're bundled in the .whl
239242 set (HDF5_DLL "${HDF5_ROOT} /bin/hdf5.dll" )
243+ if (DEFINED HDF5_C_LIBRARY AND EXISTS "${HDF5_C_LIBRARY} " )
244+ set (HDF5_IMPLIB "${HDF5_C_LIBRARY} " )
245+ else ()
246+ set (HDF5_IMPLIB "${HDF5_ROOT} /lib/hdf5.lib" )
247+ endif ()
240248 if (EXISTS "${HDF5_DLL} " )
241249 message (STATUS "Copying HDF5 DLL: ${HDF5_DLL} " )
242250 file (COPY "${HDF5_DLL} " DESTINATION ${VERSIONED_OUTPUT_DIR} )
243251 set (HDF5_DLL_IN_OUTPUT "${VERSIONED_OUTPUT_DIR} /hdf5.dll" )
244252 else ()
245253 message (FATAL_ERROR "Required HDF5 DLL not found: ${HDF5_DLL} " )
246- endif ()
254+ endif ()
255+ if (NOT EXISTS "${HDF5_IMPLIB} " )
256+ message (FATAL_ERROR "Required HDF5 import library not found: ${HDF5_IMPLIB} " )
257+ endif ()
247258 endif ()
248259
249260 if (UNIX AND NOT APPLE )
@@ -282,12 +293,17 @@ endif()
282293
283294pybind11_add_module (core MODULE
284295 src/c++/core_pybind.cpp
296+ ${CORE_PYTHON_ONLY_SRC}
285297)
286298target_link_libraries (core PRIVATE core_shared )
287299add_dependencies (core core_shared )
288300if (APPLE )
289301 target_link_options (core PRIVATE "-Wl,-force_load,$<TARGET_FILE :core_shared >" )
290302endif ()
303+ if (ENABLE_HDF5_IO)
304+ target_include_directories (core PRIVATE ${HDF5_INCLUDE_DIRS} )
305+ target_link_libraries (core PRIVATE ${HDF5_LIBRARIES} )
306+ endif ()
291307
292308pybind11_add_module (_cgns MODULE src/c++/cgns_pybind.cpp )
293309target_link_libraries (_cgns PRIVATE core_shared )
@@ -299,6 +315,7 @@ endif()
299315install (TARGETS core_shared EXPORT noderTargets DESTINATION ${NODER_PACKAGE_DIR} )
300316if (MSVC AND ENABLE_HDF5_IO)
301317 install (FILES "${HDF5_DLL_IN_OUTPUT} " DESTINATION ${NODER_PACKAGE_DIR} )
318+ install (FILES "${HDF5_IMPLIB} " DESTINATION ${NODER_PACKAGE_DIR} )
302319endif ()
303320
304321install (TARGETS core DESTINATION ${NODER_PACKAGE_DIR} )
0 commit comments