From 11af12671762a251122afe803140467c6e148463 Mon Sep 17 00:00:00 2001 From: Joao Matos Date: Sat, 28 Dec 2024 20:12:47 +0000 Subject: [PATCH] CMake: Use Coin3d CMake target directly if one exists. --- CMakeLists.txt | 4 +++- cMake/FreeCAD_Helpers/SetupCoin3D.cmake | 1 + src/Gui/CMakeLists.txt | 11 ++++++++--- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 00f2211bfe..d2c106b426 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -69,7 +69,6 @@ if(NOT FREECAD_LIBPACK_USE OR FREECAD_LIBPACK_CHECKFILE_CLBUNDLER OR FREECAD_LIB # OPENGL_gl_LIBRARY empty that results into linker errors SetupOpenGL() endif(BUILD_GUI) - SetupBoost() SetupSalomeSMESH() if (BUILD_FEM_NETGEN) find_package(NETGEN) @@ -89,6 +88,9 @@ if(NOT FREECAD_LIBPACK_USE OR FREECAD_LIBPACK_CHECKFILE_CLBUNDLER OR FREECAD_LIB SetupShibokenAndPyside() SetupMatplotlib() endif(BUILD_GUI) + + # SetupCoin3D can overwrite find_package(Boost) output so keep this after. + SetupBoost() endif() if(BUILD_VR) diff --git a/cMake/FreeCAD_Helpers/SetupCoin3D.cmake b/cMake/FreeCAD_Helpers/SetupCoin3D.cmake index bbc2353beb..032b6e546f 100644 --- a/cMake/FreeCAD_Helpers/SetupCoin3D.cmake +++ b/cMake/FreeCAD_Helpers/SetupCoin3D.cmake @@ -14,6 +14,7 @@ macro(SetupCoin3D) if (Coin_FOUND) set(COIN3D_INCLUDE_DIRS ${Coin_INCLUDE_DIR}) set(COIN3D_LIBRARIES ${Coin_LIBRARIES}) + set(COIN3D_LIB_DIRS ${Coin_LIB_DIR}) endif () ENDIF () diff --git a/src/Gui/CMakeLists.txt b/src/Gui/CMakeLists.txt index 9e71c9a4f7..673b8df5ef 100644 --- a/src/Gui/CMakeLists.txt +++ b/src/Gui/CMakeLists.txt @@ -58,7 +58,6 @@ include_directories( ${CMAKE_CURRENT_BINARY_DIR}/DAGView ${Boost_INCLUDE_DIRS} ${EIGEN3_INCLUDE_DIR} - ${COIN3D_INCLUDE_DIRS} ${PYTHON_INCLUDE_DIRS} ${XercesC_INCLUDE_DIRS} ${ZLIB_INCLUDE_DIR} @@ -74,7 +73,6 @@ endif(MSVC) if(MSVC) set(FreeCADGui_LIBS FreeCADApp - ${COIN3D_LIBRARIES} ${OPENGL_gl_LIBRARY} ) @@ -87,13 +85,20 @@ if(MSVC) else(MSVC) set(FreeCADGui_LIBS FreeCADApp - ${COIN3D_LIBRARIES} ${Boost_LIBRARIES} ${OPENGL_gl_LIBRARY} ${3DCONNEXION_LINKFLAGS} ) endif(MSVC) +if (TARGET Coin::Coin) + list(APPEND FreeCADGui_LIBS Coin::Coin) +else() + include_directories(${COIN3D_INCLUDE_DIRS}) + link_directories(${COIN3D_LIB_DIRS}) + list(APPEND FreeCADGui_LIBS ${COIN3D_LIBRARIES}) +endif() + if (WIN32) if(FREECAD_QT_MAJOR_VERSION EQUAL 6) list(APPEND FreeCADGui_LIBS