Set include directories for tools and core per target and not globally

This commit is contained in:
Jan Möbius
2022-02-23 09:14:33 +01:00
parent 18bc53814a
commit 777f58f75e
2 changed files with 35 additions and 27 deletions

View File

@@ -1,10 +1,5 @@
include (VCICommon) include (VCICommon)
include_directories (
../..
${CMAKE_CURRENT_SOURCE_DIR}
)
set ( headers set ( headers
Geometry/Config.hh Geometry/Config.hh
Geometry/EigenVectorT.hh Geometry/EigenVectorT.hh
@@ -145,13 +140,31 @@ if (WIN32)
if ( OPENMESH_BUILD_SHARED ) if ( OPENMESH_BUILD_SHARED )
add_definitions( -DOPENMESHDLL -DBUILDOPENMESHDLL) add_definitions( -DOPENMESHDLL -DBUILDOPENMESHDLL)
vci_add_library (OpenMeshCore SHARED ${sources} ${headers}) vci_add_library (OpenMeshCore SHARED ${sources} ${headers})
target_include_directories(OpenMeshCore PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../..>
$<INSTALL_INTERFACE:include>)
else() else()
# OpenMesh has no dll exports so we have to build a static library on windows # OpenMesh has no dll exports so we have to build a static library on windows
vci_add_library (OpenMeshCore STATIC ${sources} ${headers}) vci_add_library (OpenMeshCore STATIC ${sources} ${headers})
target_include_directories(OpenMeshCoreStatic PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../..>
$<INSTALL_INTERFACE:include>)
endif() endif()
else () else ()
vci_add_library (OpenMeshCore SHAREDANDSTATIC ${sources} ${headers}) vci_add_library (OpenMeshCore SHAREDANDSTATIC ${sources} ${headers})
target_include_directories(OpenMeshCore PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../..>
$<INSTALL_INTERFACE:include>)
target_include_directories(OpenMeshCoreStatic PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../..>
$<INSTALL_INTERFACE:include>)
set_target_properties (OpenMeshCore PROPERTIES VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} set_target_properties (OpenMeshCore PROPERTIES VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
SOVERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} ) SOVERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} )
endif () endif ()

View File

@@ -1,23 +1,5 @@
include (VCICommon) include (VCICommon)
include_directories (
../..
${CMAKE_CURRENT_SOURCE_DIR}
)
# source code directories
set (directories
.
Decimater
Dualizer
Smoother
Subdivider/Adaptive/Composite
Subdivider/Uniform/Composite
Subdivider/Uniform
Utils
VDPM
)
set ( headers set ( headers
Decimater/BaseDecimaterT.hh Decimater/BaseDecimaterT.hh
Decimater/BaseDecimaterT_impl.hh Decimater/BaseDecimaterT_impl.hh
@@ -124,13 +106,30 @@ if (WIN32)
if ( OPENMESH_BUILD_SHARED ) if ( OPENMESH_BUILD_SHARED )
add_definitions( -DOPENMESHDLL -DBUILDOPENMESHDLL) add_definitions( -DOPENMESHDLL -DBUILDOPENMESHDLL)
vci_add_library (OpenMeshTools SHARED ${sources} ${headers}) vci_add_library (OpenMeshTools SHARED ${sources} ${headers})
target_include_directories(OpenMeshTools PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../..>
$<INSTALL_INTERFACE:include>)
else() else()
# OpenMesh has no dll exports so we have to build a static library on windows # OpenMesh has no dll exports so we have to build a static library on windows
vci_add_library (OpenMeshTools STATIC ${sources} ${headers}) vci_add_library (OpenMeshTools STATIC ${sources} ${headers})
target_include_directories(OpenMeshToolsStatic PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../..>
$<INSTALL_INTERFACE:include>)
endif() endif()
else () else ()
vci_add_library (OpenMeshTools SHAREDANDSTATIC ${sources} ${headers}) vci_add_library (OpenMeshTools SHAREDANDSTATIC ${sources} ${headers})
target_include_directories(OpenMeshTools PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../..>
$<INSTALL_INTERFACE:include>)
target_include_directories(OpenMeshToolsStatic PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../..>
$<INSTALL_INTERFACE:include>)
set_target_properties (OpenMeshTools PROPERTIES VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} set_target_properties (OpenMeshTools PROPERTIES VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}
SOVERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} ) SOVERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR} )
endif () endif ()
@@ -208,10 +207,6 @@ install(FILES Utils/getopt.h DESTINATION include/OpenMesh/Tools/Utils)
endif () endif ()
target_include_directories(OpenMeshTools PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../..>
$<INSTALL_INTERFACE:include>)
install(TARGETS OpenMeshTools EXPORT OpenMeshConfig install(TARGETS OpenMeshTools EXPORT OpenMeshConfig
ARCHIVE DESTINATION ${VCI_PROJECT_LIBDIR} ARCHIVE DESTINATION ${VCI_PROJECT_LIBDIR}
LIBRARY DESTINATION ${VCI_PROJECT_LIBDIR} LIBRARY DESTINATION ${VCI_PROJECT_LIBDIR}