From 9eeca1f6ad50cea9fa2d30d1a4fbb8b6e8fb4bbd Mon Sep 17 00:00:00 2001 From: Chris Hennes Date: Mon, 8 Jul 2024 22:50:41 -0500 Subject: [PATCH] cMake: Fix LibPack3 install target DLL locations --- cMake/FreeCAD_Helpers/CopyLibpackDirectories.cmake | 7 +++++++ cMake/UseLibPack3.cmake | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/cMake/FreeCAD_Helpers/CopyLibpackDirectories.cmake b/cMake/FreeCAD_Helpers/CopyLibpackDirectories.cmake index a32e680483..baa64eb368 100644 --- a/cMake/FreeCAD_Helpers/CopyLibpackDirectories.cmake +++ b/cMake/FreeCAD_Helpers/CopyLibpackDirectories.cmake @@ -62,6 +62,13 @@ macro(CopyLibpackDirectories) install(DIRECTORY ${FREECAD_LIBPACK_DIR}/resources DESTINATION ${CMAKE_INSTALL_PREFIX}) install(DIRECTORY ${FREECAD_LIBPACK_DIR}/bin DESTINATION ${CMAKE_INSTALL_PREFIX}) install(DIRECTORY ${FREECAD_LIBPACK_DIR}/lib DESTINATION ${CMAKE_INSTALL_PREFIX} FILES_MATCHING PATTERN "*.dll") + if(FREECAD_LIBPACK_VERSION VERSION_GREATER_EQUAL "3.0.0") + # Trailing slashes make sure that cMake extracts the files from the directory, rather than taking the + # directory with it + install(DIRECTORY ${FREECAD_LIBPACK_DIR}/lib/ DESTINATION ${CMAKE_INSTALL_PREFIX}/bin FILES_MATCHING PATTERN "*.dll") + install(DIRECTORY ${FREECAD_LIBPACK_DIR}/bin/Lib/site-packages/shiboken6/ DESTINATION ${CMAKE_INSTALL_PREFIX}/bin FILES_MATCHING PATTERN "shiboken*.dll") + install(DIRECTORY ${FREECAD_LIBPACK_DIR}/bin/Lib/site-packages/PySide6/ DESTINATION ${CMAKE_INSTALL_PREFIX}/bin FILES_MATCHING PATTERN "pyside6*.dll") + endif() message(STATUS "Created install commands for INSTALL target.\n") endif() endmacro() diff --git a/cMake/UseLibPack3.cmake b/cMake/UseLibPack3.cmake index 25c2dd3a89..7e760df3c5 100644 --- a/cMake/UseLibPack3.cmake +++ b/cMake/UseLibPack3.cmake @@ -4,7 +4,7 @@ list(PREPEND CMAKE_PREFIX_PATH "${FREECAD_LIBPACK_DIR}") set (Python3_EXECUTABLE ${FREECAD_LIBPACK_DIR}/bin/python.exe) find_package(Python3 COMPONENTS Interpreter Development REQUIRED) -# Make sure we are using the static versions of Boost here: the LibPack includes both +# Make sure we are using the shared versions of Boost here: the LibPack includes both set(Boost_USE_STATIC_LIBS OFF) find_package(Boost COMPONENTS filesystem program_options regex system thread date_time REQUIRED PATHS ${FREECAD_LIBPACK_DIR}/lib/cmake NO_DEFAULT_PATH)