From d45c4a2b2e95d8295f6284c71ff8560642854cd4 Mon Sep 17 00:00:00 2001 From: Jane Tournois Date: Wed, 3 Jul 2024 14:00:50 +0200 Subject: [PATCH] update FindOpenMesh.cmake --- Installation/cmake/modules/FindOpenMesh.cmake | 89 +++++++++++-------- 1 file changed, 54 insertions(+), 35 deletions(-) diff --git a/Installation/cmake/modules/FindOpenMesh.cmake b/Installation/cmake/modules/FindOpenMesh.cmake index 86b6eaebc9e..df51ed716ce 100644 --- a/Installation/cmake/modules/FindOpenMesh.cmake +++ b/Installation/cmake/modules/FindOpenMesh.cmake @@ -17,63 +17,82 @@ if (NOT OpenMesh_FOUND) ENV OPENMESH_DIR /usr/include /usr/local/include - PATH_SUFFIXES src + PATH_SUFFIXES src include DOC "The directory containing the OpenMesh header files WITHOUT the OpenMesh prefix" ) - find_library(OPENMESH_LIBRARY_RELEASE NAMES "OpenMeshCore" + find_library(OPENMESH_CORE_LIBRARY_RELEASE NAMES "OpenMeshCore" HINTS ENV OPENMESH_LIB_DIR ENV OPENMESH_DIR PATH_SUFFIXES lib DOC "Path to the OpenMeshCore library" ) - find_library(OPENMESH_LIBRARY_DEBUG NAMES "OpenMeshCored" + find_library(OPENMESH_CORE_LIBRARY_DEBUG NAMES "OpenMeshCored" HINTS ENV OPENMESH_LIB_DIR ENV OPENMESH_DIR PATH_SUFFIXES lib DOC "Path to the OpenMeshCored library" ) - if(OPENMESH_LIBRARY_RELEASE) - if(OPENMESH_LIBRARY_DEBUG) - set(OPENMESH_LIBRARIES optimized ${OPENMESH_LIBRARY_RELEASE} debug ${OPENMESH_LIBRARY_DEBUG}) - else() - set(OPENMESH_LIBRARIES ${OPENMESH_LIBRARY_RELEASE}) - endif() - endif() -endif() + find_library(OPENMESH_TOOLS_LIBRARY_RELEASE NAMES "OpenMeshTools" + HINTS ENV OPENMESH_LIB_DIR + ENV OPENMESH_DIR + PATH_SUFFIXES lib + DOC "Path to the OpenMeshTools library" + ) -include( FindPackageHandleStandardArgs ) + find_library(OPENMESH_TOOLS_LIBRARY_DEBUG NAMES "OpenMeshToolsd" + HINTS ENV OPENMESH_LIB_DIR + ENV OPENMESH_DIR + PATH_SUFFIXES lib + DOC "Path to the OpenMeshToolsd library" + ) -find_package_handle_standard_args(OpenMesh - REQUIRED_VARS OPENMESH_INCLUDE_DIR OPENMESH_LIBRARIES - FOUND_VAR OpenMesh_FOUND + #select configuration depending on platform (optimized... on windows) + include(SelectLibraryConfigurations) + select_library_configurations( OPENMESH_TOOLS ) + select_library_configurations( OPENMESH_CORE ) + + set(OPENMESH_LIBRARIES ${OPENMESH_CORE_LIBRARY} ${OPENMESH_TOOLS_LIBRARY} ) + set(OPENMESH_INCLUDE_DIRS ${OPENMESH_INCLUDE_DIR} ) + + include( FindPackageHandleStandardArgs ) + find_package_handle_standard_args(OpenMesh + REQUIRED_VARS OPENMESH_INCLUDE_DIRS OPENMESH_LIBRARIES + FOUND_VAR OpenMesh_FOUND ) -if(OpenMesh_FOUND AND NOT TARGET OpenMesh::OpenMesh) - add_library(OpenMesh::OpenMesh UNKNOWN IMPORTED) + #target OpenMesh::OpenMesh + if(OpenMesh_FOUND AND NOT TARGET OpenMesh::OpenMesh) + add_library(OpenMesh::OpenMesh UNKNOWN IMPORTED) - if(TARGET OpenMeshCore) - target_link_libraries(OpenMesh::OpenMesh INTERFACE OpenMeshCore) - return() - endif() + if(TARGET OpenMeshCore) + target_link_libraries(OpenMesh::OpenMesh INTERFACE OpenMeshCore) + return() + endif() - set_target_properties(OpenMesh::OpenMesh PROPERTIES - INTERFACE_COMPILE_DEFINITIONS "CGAL_USE_OPENMESH;NOMINMAX;_USE_MATH_DEFINES" - INTERFACE_INCLUDE_DIRECTORIES "${OPENMESH_INCLUDE_DIR}") - - if(OPENMESH_LIBRARY_RELEASE) - set_property(TARGET OpenMesh::OpenMesh APPEND PROPERTY - IMPORTED_CONFIGURATIONS RELEASE) set_target_properties(OpenMesh::OpenMesh PROPERTIES - IMPORTED_LOCATION_RELEASE "${OPENMESH_LIBRARY_RELEASE}") + INTERFACE_COMPILE_DEFINITIONS "CGAL_USE_OPENMESH;NOMINMAX;_USE_MATH_DEFINES" + INTERFACE_INCLUDE_DIRECTORIES "${OPENMESH_INCLUDE_DIRS}") + + if(OPENMESH_CORE_LIBRARY_RELEASE) + set_property(TARGET OpenMesh::OpenMesh APPEND PROPERTY + IMPORTED_CONFIGURATIONS RELEASE) + set_target_properties(OpenMesh::OpenMesh PROPERTIES + IMPORTED_LOCATION_RELEASE "${OPENMESH_CORE_LIBRARY_RELEASE}") + endif() + + if(OPENMESH_CORE_LIBRARY_DEBUG) + set_property(TARGET OpenMesh::OpenMesh APPEND PROPERTY + IMPORTED_CONFIGURATIONS DEBUG) + set_target_properties(OpenMesh::OpenMesh PROPERTIES + IMPORTED_LOCATION_DEBUG "${OPENMESH_CORE_LIBRARY_DEBUG}") + endif() endif() - if(OPENMESH_LIBRARY_DEBUG) - set_property(TARGET OpenMesh::OpenMesh APPEND PROPERTY - IMPORTED_CONFIGURATIONS DEBUG) - set_target_properties(OpenMesh::OpenMesh PROPERTIES - IMPORTED_LOCATION_DEBUG "${OPENMESH_LIBRARY_DEBUG}") - endif() endif() + +if(OpenMesh_FOUND) + message(STATUS "OpenMesh found") +endif() \ No newline at end of file