diff --git a/src/OpenMesh/Core/CMakeLists.txt b/src/OpenMesh/Core/CMakeLists.txt index 7badfcce..340ce48e 100644 --- a/src/OpenMesh/Core/CMakeLists.txt +++ b/src/OpenMesh/Core/CMakeLists.txt @@ -1,106 +1,107 @@ -include (ACGCommon) - -include_directories ( - ../.. - ${CMAKE_CURRENT_SOURCE_DIR} -) - -# source code directories -set (directories - . - Geometry - IO - IO/exporter - IO/importer - IO/reader - IO/writer - Mesh - Mesh/gen - System - Utils -) - -# collect all header and source files -acg_append_files (headers "*.hh" ${directories}) -acg_append_files (sources "*.cc" ${directories}) - -if (WIN32) - # OpenMesh has no dll exports so we have to build a static library on windows - acg_add_library (OpenMeshCore STATIC ${sources} ${headers}) -else () - acg_add_library (OpenMeshCore SHAREDANDSTATIC ${sources} ${headers}) - set_target_properties (OpenMeshCore PROPERTIES VERSION ${OPENMESH_VERSION_MAJOR}.${OPENMESH_VERSION_MINOR} - SOVERSION ${OPENMESH_VERSION_MAJOR}.${OPENMESH_VERSION_MINOR} ) - -endif () - - -# Install Header Files - -if (NOT ACG_PROJECT_MACOS_BUNDLE OR NOT APPLE) - -if ( APPLE ) - FILE(GLOB files_install_Geometry "${CMAKE_CURRENT_SOURCE_DIR}/Geometry/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/Geometry/*T.cc" ) - FILE(GLOB files_install_IO "${CMAKE_CURRENT_SOURCE_DIR}/IO/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/IO/*T.cc" "${CMAKE_CURRENT_SOURCE_DIR}/IO/*.inl" ) - FILE(GLOB files_install_IO_importer "${CMAKE_CURRENT_SOURCE_DIR}/IO/importer/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/IO/importer/*T.cc" ) - FILE(GLOB files_install_IO_exporter "${CMAKE_CURRENT_SOURCE_DIR}/IO/exporter/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/IO/exporter/*T.cc" ) - FILE(GLOB files_install_IO_reader "${CMAKE_CURRENT_SOURCE_DIR}/IO/reader/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/IO/reader/*T.cc" ) - FILE(GLOB files_install_IO_writer "${CMAKE_CURRENT_SOURCE_DIR}/IO/writer/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/IO/writer/*T.cc" ) - FILE(GLOB files_install_Mesh "${CMAKE_CURRENT_SOURCE_DIR}/Mesh/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/Mesh/*T.cc" ) - FILE(GLOB files_install_Mesh_Gen "${CMAKE_CURRENT_SOURCE_DIR}/Mesh/gen/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/Mesh/gen/*T.cc" ) - FILE(GLOB files_install_System "${CMAKE_CURRENT_SOURCE_DIR}/System/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/System/*T.cc" "${CMAKE_CURRENT_SOURCE_DIR}/System/config.h" ) - FILE(GLOB files_install_Utils "${CMAKE_CURRENT_SOURCE_DIR}/Utils/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/Utils/*T.cc" ) - INSTALL(FILES ${files_install_Geometry} DESTINATION include/OpenMesh/Core/Geometry ) - INSTALL(FILES ${files_install_IO} DESTINATION include/OpenMesh/Core/IO ) - INSTALL(FILES ${files_install_IO_importer} DESTINATION include/OpenMesh/Core/IO/importer ) - INSTALL(FILES ${files_install_IO_exporter} DESTINATION include/OpenMesh/Core/IO/exporter ) - INSTALL(FILES ${files_install_IO_reader} DESTINATION include/OpenMesh/Core/IO/reader ) - INSTALL(FILES ${files_install_IO_writer} DESTINATION include/OpenMesh/Core/IO/writer ) - INSTALL(FILES ${files_install_Mesh} DESTINATION include/OpenMesh/Core/Mesh ) - INSTALL(FILES ${files_install_Mesh_Gen} DESTINATION include/OpenMesh/Core/Mesh/gen ) - INSTALL(FILES ${files_install_System} DESTINATION include/OpenMesh/Core/System ) - INSTALL(FILES ${files_install_Utils} DESTINATION include/OpenMesh/Core/Utils ) -endif(APPLE) - - - -install(DIRECTORY . - DESTINATION include/OpenMesh/Core - FILES_MATCHING - PATTERN "*.hh" - PATTERN "CVS" EXCLUDE - PATTERN ".svn" EXCLUDE - PATTERN "tmp" EXCLUDE - PATTERN "Templates" EXCLUDE - PATTERN "Debian*" EXCLUDE) - -#install Template cc files (required by headers) -install(DIRECTORY . - DESTINATION include/OpenMesh/Core - FILES_MATCHING - PATTERN "*T.cc" - PATTERN "CVS" EXCLUDE - PATTERN ".svn" EXCLUDE - PATTERN "tmp" EXCLUDE - PATTERN "Templates" EXCLUDE - PATTERN "Debian*" EXCLUDE) - -#install the config file -install(FILES System/config.h DESTINATION include/OpenMesh/Core/System) - -#install inlined Files from IO -install(DIRECTORY IO/ - DESTINATION include/OpenMesh/Core/IO - FILES_MATCHING - PATTERN "*.inl" - PATTERN "CVS" EXCLUDE - PATTERN ".svn" EXCLUDE - PATTERN "reader" EXCLUDE - PATTERN "writer" EXCLUDE - PATTERN "importer" EXCLUDE - PATTERN "exporter" EXCLUDE - PATTERN "tmp" EXCLUDE - PATTERN "Debian*" EXCLUDE ) -endif () - - +include (ACGCommon) + +include_directories ( + ../.. + ${CMAKE_CURRENT_SOURCE_DIR} +) + +# source code directories +set (directories + . + Geometry + IO + IO/exporter + IO/importer + IO/reader + IO/writer + Mesh + Mesh/gen + System + Utils +) + +# collect all header and source files +acg_append_files (headers "*.hh" ${directories}) +acg_append_files (sources "*.cc" ${directories}) + +if (WIN32) + # OpenMesh has no dll exports so we have to build a static library on windows + acg_add_library (OpenMeshCore STATIC ${sources} ${headers}) +else () + acg_add_library (OpenMeshCore SHAREDANDSTATIC ${sources} ${headers}) + set_target_properties (OpenMeshCore PROPERTIES VERSION ${OPENMESH_VERSION_MAJOR}.${OPENMESH_VERSION_MINOR} + SOVERSION ${OPENMESH_VERSION_MAJOR}.${OPENMESH_VERSION_MINOR} ) + +endif () + + +# Install Header Files (Apple) +if ( NOT ACG_PROJECT_MACOS_BUNDLE AND APPLE ) + FILE(GLOB files_install_Geometry "${CMAKE_CURRENT_SOURCE_DIR}/Geometry/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/Geometry/*T.cc" ) + FILE(GLOB files_install_IO "${CMAKE_CURRENT_SOURCE_DIR}/IO/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/IO/*T.cc" "${CMAKE_CURRENT_SOURCE_DIR}/IO/*.inl" ) + FILE(GLOB files_install_IO_importer "${CMAKE_CURRENT_SOURCE_DIR}/IO/importer/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/IO/importer/*T.cc" ) + FILE(GLOB files_install_IO_exporter "${CMAKE_CURRENT_SOURCE_DIR}/IO/exporter/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/IO/exporter/*T.cc" ) + FILE(GLOB files_install_IO_reader "${CMAKE_CURRENT_SOURCE_DIR}/IO/reader/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/IO/reader/*T.cc" ) + FILE(GLOB files_install_IO_writer "${CMAKE_CURRENT_SOURCE_DIR}/IO/writer/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/IO/writer/*T.cc" ) + FILE(GLOB files_install_Mesh "${CMAKE_CURRENT_SOURCE_DIR}/Mesh/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/Mesh/*T.cc" ) + FILE(GLOB files_install_Mesh_Gen "${CMAKE_CURRENT_SOURCE_DIR}/Mesh/gen/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/Mesh/gen/*T.cc" ) + FILE(GLOB files_install_System "${CMAKE_CURRENT_SOURCE_DIR}/System/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/System/*T.cc" "${CMAKE_CURRENT_SOURCE_DIR}/System/config.h" ) + FILE(GLOB files_install_Utils "${CMAKE_CURRENT_SOURCE_DIR}/Utils/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/Utils/*T.cc" ) + INSTALL(FILES ${files_install_Geometry} DESTINATION include/OpenMesh/Core/Geometry ) + INSTALL(FILES ${files_install_IO} DESTINATION include/OpenMesh/Core/IO ) + INSTALL(FILES ${files_install_IO_importer} DESTINATION include/OpenMesh/Core/IO/importer ) + INSTALL(FILES ${files_install_IO_exporter} DESTINATION include/OpenMesh/Core/IO/exporter ) + INSTALL(FILES ${files_install_IO_reader} DESTINATION include/OpenMesh/Core/IO/reader ) + INSTALL(FILES ${files_install_IO_writer} DESTINATION include/OpenMesh/Core/IO/writer ) + INSTALL(FILES ${files_install_Mesh} DESTINATION include/OpenMesh/Core/Mesh ) + INSTALL(FILES ${files_install_Mesh_Gen} DESTINATION include/OpenMesh/Core/Mesh/gen ) + INSTALL(FILES ${files_install_System} DESTINATION include/OpenMesh/Core/System ) + INSTALL(FILES ${files_install_Utils} DESTINATION include/OpenMesh/Core/Utils ) +endif() + + +# Only install if the project name matches OpenMesh. +if (NOT APPLE AND ${PROJECT_NAME} MATCHES "OpenMesh") + +# Install Header Files) +install(DIRECTORY . + DESTINATION include/OpenMesh/Core + FILES_MATCHING + PATTERN "*.hh" + PATTERN "CVS" EXCLUDE + PATTERN ".svn" EXCLUDE + PATTERN "tmp" EXCLUDE + PATTERN "Templates" EXCLUDE + PATTERN "Debian*" EXCLUDE) + +#install Template cc files (required by headers) +install(DIRECTORY . + DESTINATION include/OpenMesh/Core + FILES_MATCHING + PATTERN "*T.cc" + PATTERN "CVS" EXCLUDE + PATTERN ".svn" EXCLUDE + PATTERN "tmp" EXCLUDE + PATTERN "Templates" EXCLUDE + PATTERN "Debian*" EXCLUDE) + +#install the config file +install(FILES System/config.h DESTINATION include/OpenMesh/Core/System) + +#install inlined Files from IO +install(DIRECTORY IO/ + DESTINATION include/OpenMesh/Core/IO + FILES_MATCHING + PATTERN "*.inl" + PATTERN "CVS" EXCLUDE + PATTERN ".svn" EXCLUDE + PATTERN "reader" EXCLUDE + PATTERN "writer" EXCLUDE + PATTERN "importer" EXCLUDE + PATTERN "exporter" EXCLUDE + PATTERN "tmp" EXCLUDE + PATTERN "Debian*" EXCLUDE ) + +endif () + + diff --git a/src/OpenMesh/Tools/CMakeLists.txt b/src/OpenMesh/Tools/CMakeLists.txt index 709360e6..674b37cc 100644 --- a/src/OpenMesh/Tools/CMakeLists.txt +++ b/src/OpenMesh/Tools/CMakeLists.txt @@ -41,9 +41,8 @@ IF( NOT WIN32 ) target_link_libraries (OpenMeshToolsStatic OpenMeshCoreStatic) ENDIF(NOT WIN32) -if (NOT ACG_PROJECT_MACOS_BUNDLE OR NOT APPLE) - -if ( APPLE ) +# Install Header Files (Apple) +if ( NOT ACG_PROJECT_MACOS_BUNDLE AND APPLE ) FILE(GLOB files_install_Decimater "${CMAKE_CURRENT_SOURCE_DIR}/Decimater/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/Decimater/*T.cc" ) FILE(GLOB files_install_Dualizer "${CMAKE_CURRENT_SOURCE_DIR}/Dualizer/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/Dualizer/*T.cc" ) FILE(GLOB files_install_KERNEL_OSG "${CMAKE_CURRENT_SOURCE_DIR}/Kernel_OSG/*.hh" "${CMAKE_CURRENT_SOURCE_DIR}/Kernel_OSG/*T.cc" ) @@ -62,9 +61,12 @@ if ( APPLE ) INSTALL(FILES ${files_install_Subdivider_Uniform_Composite} DESTINATION include/OpenMesh/Tools/Subdivider/Uniform/Composite ) INSTALL(FILES ${files_install_Utils} DESTINATION include/OpenMesh/Tools/Utils ) INSTALL(FILES ${files_install_VDPM} DESTINATION include/OpenMesh/Tools/VDPM ) -endif( APPLE ) +endif() +# Only install if the project name matches OpenMesh. +if (NOT APPLE AND ${PROJECT_NAME} MATCHES "OpenMesh") + # Install Header Files install(DIRECTORY . DESTINATION include/OpenMesh/Tools