Export targets in CMake and add include directories to target properties

This commit is contained in:
Markus Rickert
2017-09-10 23:39:11 +02:00
parent 5bc9d6696c
commit fbffb246fe
22 changed files with 241 additions and 192 deletions

View File

@@ -1,16 +1,18 @@
INCLUDE_DIRECTORIES(
${BULLET_PHYSICS_SOURCE_DIR}/Extras/GIMPACT/include
${BULLET_PHYSICS_SOURCE_DIR}/src
${BULLET_PHYSICS_SOURCE_DIR}/Extras/GIMPACTUtils
${BULLET_PHYSICS_SOURCE_DIR}/Extras/ConvexDecomposition
)
ADD_LIBRARY(GIMPACTUtils
btGImpactConvexDecompositionShape.cpp btGImpactConvexDecompositionShape.h
)
SET_TARGET_PROPERTIES(GIMPACTUtils PROPERTIES VERSION ${BULLET_VERSION})
SET_TARGET_PROPERTIES(GIMPACTUtils PROPERTIES SOVERSION ${BULLET_VERSION})
target_include_directories(GIMPACTUtils PUBLIC
$<BUILD_INTERFACE:${BULLET_PHYSICS_SOURCE_DIR}/Extras/GIMPACT/include>
$<BUILD_INTERFACE:${BULLET_PHYSICS_SOURCE_DIR}/src>
$<BUILD_INTERFACE:${BULLET_PHYSICS_SOURCE_DIR}/Extras/GIMPACTUtils>
$<BUILD_INTERFACE:${BULLET_PHYSICS_SOURCE_DIR}/Extras/ConvexDecomposition>
$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/${INCLUDE_INSTALL_DIR}>
$<INSTALL_INTERFACE:$<INSTALL_PREFIX>/${INCLUDE_INSTALL_DIR}/GIMPACTUtils>
)
IF (BUILD_SHARED_LIBS)
TARGET_LINK_LIBRARIES(GIMPACTUtils ConvexDecomposition BulletCollision)
ENDIF (BUILD_SHARED_LIBS)
@@ -20,12 +22,13 @@ IF (INSTALL_EXTRA_LIBS)
#FILES_MATCHING requires CMake 2.6
IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5)
IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
INSTALL(TARGETS GIMPACTUtils DESTINATION .)
INSTALL(TARGETS GIMPACTUtils EXPORT Bullet DESTINATION .)
ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK)
INSTALL(TARGETS GIMPACTUtils
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib${LIB_SUFFIX}
ARCHIVE DESTINATION lib${LIB_SUFFIX})
EXPORT Bullet
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN
".svn" EXCLUDE PATTERN "CMakeFiles" EXCLUDE)