From fbffb246fe8332751f9242aeacb842c6383278fa Mon Sep 17 00:00:00 2001 From: Markus Rickert Date: Sun, 10 Sep 2017 23:39:11 +0200 Subject: [PATCH 1/9] Export targets in CMake and add include directories to target properties --- BulletConfig.cmake.in | 16 ++++-- CMakeLists.txt | 57 ++++++++++++------- Extras/BulletRobotics/CMakeLists.txt | 23 ++++---- Extras/ConvexDecomposition/CMakeLists.txt | 20 ++++--- Extras/GIMPACTUtils/CMakeLists.txt | 25 ++++---- Extras/HACD/CMakeLists.txt | 18 +++--- Extras/InverseDynamics/CMakeLists.txt | 19 ++++--- .../Serialize/BulletFileLoader/CMakeLists.txt | 18 +++--- .../BulletWorldImporter/CMakeLists.txt | 21 ++++--- .../BulletXmlWorldImporter/CMakeLists.txt | 24 ++++---- .../ThirdPartyLibs/clsocket/CMakeLists.txt | 8 ++- src/Bullet3Collision/CMakeLists.txt | 18 +++--- src/Bullet3Common/CMakeLists.txt | 18 +++--- src/Bullet3Dynamics/CMakeLists.txt | 18 +++--- src/Bullet3Geometry/CMakeLists.txt | 18 +++--- src/Bullet3OpenCL/CMakeLists.txt | 14 +++-- .../Bullet2FileLoader/CMakeLists.txt | 18 +++--- src/BulletCollision/CMakeLists.txt | 14 +++-- src/BulletDynamics/CMakeLists.txt | 16 +++--- src/BulletInverseDynamics/CMakeLists.txt | 14 +++-- src/BulletSoftBody/CMakeLists.txt | 18 +++--- src/LinearMath/CMakeLists.txt | 18 +++--- 22 files changed, 241 insertions(+), 192 deletions(-) diff --git a/BulletConfig.cmake.in b/BulletConfig.cmake.in index f5dc7bdbb..c5b135c0c 100644 --- a/BulletConfig.cmake.in +++ b/BulletConfig.cmake.in @@ -14,12 +14,16 @@ # BULLET_ROOT_DIR - The base directory of Bullet # BULLET_VERSION_STRING - A human-readable string containing the version +@PACKAGE_INIT@ + +include("${CMAKE_CURRENT_LIST_DIR}/BulletExport.cmake") + set ( BULLET_FOUND 1 ) -set ( BULLET_USE_FILE "@BULLET_USE_FILE@" ) +set ( BULLET_USE_FILE "${PACKAGE_PREFIX_DIR}/@BULLET_USE_FILE@" ) set ( BULLET_DEFINITIONS "@BULLET_DEFINITIONS@" ) -set ( BULLET_INCLUDE_DIR "@INCLUDE_INSTALL_DIR@" ) -set ( BULLET_INCLUDE_DIRS "@INCLUDE_INSTALL_DIR@" ) +set ( BULLET_INCLUDE_DIR "${PACKAGE_PREFIX_DIR}/@INCLUDE_INSTALL_DIR@" ) +set ( BULLET_INCLUDE_DIRS "${PACKAGE_PREFIX_DIR}/@INCLUDE_INSTALL_DIR@" ) set ( BULLET_LIBRARIES "@BULLET_LIBRARIES@" ) -set ( BULLET_LIBRARY_DIRS "@LIB_DESTINATION@" ) -set ( BULLET_ROOT_DIR "@CMAKE_INSTALL_PREFIX@" ) -set ( BULLET_VERSION_STRING "@BULLET_VERSION@" ) \ No newline at end of file +set ( BULLET_LIBRARY_DIRS "${PACKAGE_PREFIX_DIR}/@LIB_DESTINATION@" ) +set ( BULLET_ROOT_DIR "${PACKAGE_PREFIX_DIR}" ) +set ( BULLET_VERSION_STRING "@BULLET_VERSION@" ) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9e04fe3e7..8b5ae7ed8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.4.3) +cmake_minimum_required(VERSION 2.8.11) set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true) cmake_policy(SET CMP0017 NEW) #this line has to appear before 'PROJECT' in order to be able to disable incremental linking @@ -15,6 +15,9 @@ IF(COMMAND cmake_policy) endif(POLICY CMP0042) ENDIF(COMMAND cmake_policy) +include(CMakePackageConfigHelpers) +include(GNUInstallDirs) + IF (NOT CMAKE_BUILD_TYPE) # SET(CMAKE_BUILD_TYPE "Debug") SET(CMAKE_BUILD_TYPE "Release") @@ -430,11 +433,10 @@ IF(INSTALL_LIBS) ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) ENDIF(BUILD_EXTRAS) - SET (LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)" ) - SET (LIB_DESTINATION "lib${LIB_SUFFIX}" CACHE STRING "Library directory name") + SET (LIB_DESTINATION "${CMAKE_INSTALL_LIBDIR}" CACHE STRING "Library directory name") ## the following are directories where stuff will be installed to - SET(INCLUDE_INSTALL_DIR "include/bullet/" CACHE PATH "The subdirectory to the header prefix") - SET(PKGCONFIG_INSTALL_PREFIX "lib${LIB_SUFFIX}/pkgconfig/" CACHE STRING "Base directory for pkgconfig files") + SET(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/bullet/" CACHE PATH "The subdirectory to the header prefix") + SET(PKGCONFIG_INSTALL_PREFIX "${CMAKE_INSTALL_LIBDIR}/pkgconfig/" CACHE STRING "Base directory for pkgconfig files") IF(NOT MSVC) CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/bullet.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/bullet.pc @ONLY) INSTALL( @@ -453,19 +455,34 @@ IF (BUILD_UNIT_TESTS) SUBDIRS(test) ENDIF() -set (BULLET_CONFIG_CMAKE_PATH lib${LIB_SUFFIX}/cmake/bullet ) -list (APPEND BULLET_LIBRARIES LinearMath) -list (APPEND BULLET_LIBRARIES Bullet3Common) -list (APPEND BULLET_LIBRARIES BulletInverseDynamics) -list (APPEND BULLET_LIBRARIES BulletCollision) -list (APPEND BULLET_LIBRARIES BulletDynamics) -list (APPEND BULLET_LIBRARIES BulletSoftBody) +set (BULLET_CONFIG_CMAKE_PATH ${CMAKE_INSTALL_LIBDIR}/cmake/bullet-${BULLET_VERSION}) +list (APPEND BULLET_LIBRARIES Bullet::LinearMath) +list (APPEND BULLET_LIBRARIES Bullet::Bullet3Common) +list (APPEND BULLET_LIBRARIES Bullet::BulletInverseDynamics) +list (APPEND BULLET_LIBRARIES Bullet::BulletCollision) +list (APPEND BULLET_LIBRARIES Bullet::BulletDynamics) +list (APPEND BULLET_LIBRARIES Bullet::BulletSoftBody) set (BULLET_USE_FILE ${BULLET_CONFIG_CMAKE_PATH}/UseBullet.cmake) -configure_file ( ${CMAKE_CURRENT_SOURCE_DIR}/BulletConfig.cmake.in - ${CMAKE_CURRENT_BINARY_DIR}/BulletConfig.cmake - @ONLY ESCAPE_QUOTES - ) -install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/UseBullet.cmake - ${CMAKE_CURRENT_BINARY_DIR}/BulletConfig.cmake - DESTINATION ${BULLET_CONFIG_CMAKE_PATH} - ) +configure_package_config_file( + ${CMAKE_CURRENT_SOURCE_DIR}/BulletConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/BulletConfig.cmake + INSTALL_DESTINATION ${BULLET_CONFIG_CMAKE_PATH} +) +install( + FILES ${CMAKE_CURRENT_SOURCE_DIR}/UseBullet.cmake ${CMAKE_CURRENT_BINARY_DIR}/BulletConfig.cmake + DESTINATION ${BULLET_CONFIG_CMAKE_PATH} +) +write_basic_package_version_file( + ${CMAKE_CURRENT_BINARY_DIR}/BulletConfigVersion.cmake + VERSION ${BULLET_VERSION} + COMPATIBILITY ExactVersion +) +install( + FILES ${CMAKE_CURRENT_BINARY_DIR}/BulletConfigVersion.cmake + DESTINATION ${BULLET_CONFIG_CMAKE_PATH} +) +install( + EXPORT Bullet + DESTINATION ${BULLET_CONFIG_CMAKE_PATH} + NAMESPACE Bullet:: + FILE BulletExport.cmake +) diff --git a/Extras/BulletRobotics/CMakeLists.txt b/Extras/BulletRobotics/CMakeLists.txt index a8d238197..c8d3e7c9f 100644 --- a/Extras/BulletRobotics/CMakeLists.txt +++ b/Extras/BulletRobotics/CMakeLists.txt @@ -1,12 +1,3 @@ - -INCLUDE_DIRECTORIES( - ${BULLET_PHYSICS_SOURCE_DIR}/src - ${BULLET_PHYSICS_SOURCE_DIR}/examples - ${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs - ${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs/enet/include - ${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs/clsocket/src -) - SET(BulletRobotics_SRCS ../../examples/SharedMemory/IKTrajectoryHelper.cpp ../../examples/SharedMemory/IKTrajectoryHelper.h @@ -158,6 +149,15 @@ ADD_LIBRARY(BulletRobotics ${BulletRobotics_SRCS}) SET_TARGET_PROPERTIES(BulletRobotics PROPERTIES VERSION ${BULLET_VERSION}) SET_TARGET_PROPERTIES(BulletRobotics PROPERTIES SOVERSION ${BULLET_VERSION}) +target_include_directories(BulletRobotics PUBLIC + $ + $ + $ + $ + $ + $/${INCLUDE_INSTALL_DIR}> +) + IF (BUILD_SHARED_LIBS) TARGET_LINK_LIBRARIES(BulletRobotics BulletInverseDynamicsUtils BulletWorldImporter BulletFileLoader BulletSoftBody BulletDynamics BulletCollision BulletInverseDynamics LinearMath Bullet3Common) ENDIF (BUILD_SHARED_LIBS) @@ -176,8 +176,9 @@ IF (INSTALL_EXTRA_LIBS) ) INSTALL(TARGETS BulletRobotics - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX} + EXPORT Bullet + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ) IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) diff --git a/Extras/ConvexDecomposition/CMakeLists.txt b/Extras/ConvexDecomposition/CMakeLists.txt index 132a336fa..d77b8cf41 100644 --- a/Extras/ConvexDecomposition/CMakeLists.txt +++ b/Extras/ConvexDecomposition/CMakeLists.txt @@ -1,7 +1,3 @@ -INCLUDE_DIRECTORIES( - ${BULLET_PHYSICS_SOURCE_DIR}/Extras/ConvexDecomposition ${BULLET_PHYSICS_SOURCE_DIR}/src -) - SET(ConvexDecomposition_SRCS bestfitobb.cpp ConvexBuilder.cpp @@ -38,6 +34,13 @@ ADD_LIBRARY(ConvexDecomposition ${ConvexDecomposition_SRCS} ${ConvexDecompositio SET_TARGET_PROPERTIES(ConvexDecomposition PROPERTIES VERSION ${BULLET_VERSION}) SET_TARGET_PROPERTIES(ConvexDecomposition PROPERTIES SOVERSION ${BULLET_VERSION}) +target_include_directories(ConvexDecomposition PUBLIC + $ + $ + $/${INCLUDE_INSTALL_DIR}/ConvexDecomposition> + $/${INCLUDE_INSTALL_DIR}> +) + IF (BUILD_SHARED_LIBS) TARGET_LINK_LIBRARIES(ConvexDecomposition BulletCollision LinearMath) ENDIF (BUILD_SHARED_LIBS) @@ -47,12 +50,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 ConvexDecomposition DESTINATION .) + INSTALL(TARGETS ConvexDecomposition EXPORT Bullet DESTINATION .) ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) INSTALL(TARGETS ConvexDecomposition - 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) diff --git a/Extras/GIMPACTUtils/CMakeLists.txt b/Extras/GIMPACTUtils/CMakeLists.txt index c32a885df..a551319e5 100644 --- a/Extras/GIMPACTUtils/CMakeLists.txt +++ b/Extras/GIMPACTUtils/CMakeLists.txt @@ -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 + $ + $ + $ + $ + $/${INCLUDE_INSTALL_DIR}> + $/${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) diff --git a/Extras/HACD/CMakeLists.txt b/Extras/HACD/CMakeLists.txt index a91d1173c..a21e1b5b4 100644 --- a/Extras/HACD/CMakeLists.txt +++ b/Extras/HACD/CMakeLists.txt @@ -1,7 +1,3 @@ -INCLUDE_DIRECTORIES( - ${BULLET_PHYSICS_SOURCE_DIR}/Extras/HACD -) - SET(HACD_SRCS hacdGraph.cpp hacdHACD.cpp @@ -25,6 +21,11 @@ ADD_LIBRARY(HACD ${HACD_SRCS} ${HACD_HDRS}) SET_TARGET_PROPERTIES(HACD PROPERTIES VERSION ${BULLET_VERSION}) SET_TARGET_PROPERTIES(HACD PROPERTIES SOVERSION ${BULLET_VERSION}) +target_include_directories(HACD PUBLIC + $ + $/${INCLUDE_INSTALL_DIR}/HACD> +) + #IF (BUILD_SHARED_LIBS) # TARGET_LINK_LIBRARIES(HACD BulletCollision LinearMath) #ENDIF (BUILD_SHARED_LIBS) @@ -34,12 +35,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 HACD DESTINATION .) + INSTALL(TARGETS HACD EXPORT Bullet DESTINATION .) ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) INSTALL(TARGETS HACD - 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 "*.inl" PATTERN diff --git a/Extras/InverseDynamics/CMakeLists.txt b/Extras/InverseDynamics/CMakeLists.txt index 22e953a44..90ce398a0 100644 --- a/Extras/InverseDynamics/CMakeLists.txt +++ b/Extras/InverseDynamics/CMakeLists.txt @@ -1,7 +1,3 @@ -INCLUDE_DIRECTORIES( - ${BULLET_PHYSICS_SOURCE_DIR}/src -) - ADD_LIBRARY( BulletInverseDynamicsUtils CloneTreeCreator.cpp @@ -21,6 +17,12 @@ User2InternalIndex.cpp SET_TARGET_PROPERTIES(BulletInverseDynamicsUtils PROPERTIES VERSION ${BULLET_VERSION}) SET_TARGET_PROPERTIES(BulletInverseDynamicsUtils PROPERTIES SOVERSION ${BULLET_VERSION}) +target_include_directories(BulletInverseDynamicsUtils PUBLIC + $ + $/${INCLUDE_INSTALL_DIR}/InverseDynamics> + $/${INCLUDE_INSTALL_DIR}> +) + IF (BUILD_SHARED_LIBS) TARGET_LINK_LIBRARIES(BulletInverseDynamicsUtils BulletInverseDynamics BulletDynamics BulletCollision Bullet3Common LinearMath) ENDIF (BUILD_SHARED_LIBS) @@ -30,12 +32,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 BulletInverseDynamicsUtils DESTINATION .) + INSTALL(TARGETS BulletInverseDynamicsUtils EXPORT Bullet DESTINATION .) ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) INSTALL(TARGETS BulletInverseDynamicsUtils - 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) diff --git a/Extras/Serialize/BulletFileLoader/CMakeLists.txt b/Extras/Serialize/BulletFileLoader/CMakeLists.txt index 9b5dce7ea..a4b48ed58 100644 --- a/Extras/Serialize/BulletFileLoader/CMakeLists.txt +++ b/Extras/Serialize/BulletFileLoader/CMakeLists.txt @@ -1,7 +1,3 @@ -INCLUDE_DIRECTORIES( - ${BULLET_PHYSICS_SOURCE_DIR}/src -) - SET(BulletFileLoader_SRCS bChunk.cpp bDNA.cpp @@ -20,6 +16,11 @@ btBulletFile.h ADD_LIBRARY(BulletFileLoader ${BulletFileLoader_SRCS} ${BulletFileLoader_HDRS}) +target_include_directories(BulletFileLoader PUBLIC + $ + $/${INCLUDE_INSTALL_DIR}> +) + IF (BUILD_SHARED_LIBS) TARGET_LINK_LIBRARIES(BulletFileLoader LinearMath) ENDIF (BUILD_SHARED_LIBS) @@ -32,12 +33,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 BulletFileLoader DESTINATION .) + INSTALL(TARGETS BulletFileLoader EXPORT Bullet DESTINATION .) ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) INSTALL(TARGETS BulletFileLoader - 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 diff --git a/Extras/Serialize/BulletWorldImporter/CMakeLists.txt b/Extras/Serialize/BulletWorldImporter/CMakeLists.txt index 3e6f00f10..caf46ff65 100644 --- a/Extras/Serialize/BulletWorldImporter/CMakeLists.txt +++ b/Extras/Serialize/BulletWorldImporter/CMakeLists.txt @@ -1,8 +1,3 @@ -INCLUDE_DIRECTORIES( - ${BULLET_PHYSICS_SOURCE_DIR}/src - ${BULLET_PHYSICS_SOURCE_DIR}/Extras/Serialize/BulletFileLoader -) - ADD_LIBRARY( BulletWorldImporter btBulletWorldImporter.cpp @@ -14,6 +9,13 @@ btWorldImporter.h SET_TARGET_PROPERTIES(BulletWorldImporter PROPERTIES VERSION ${BULLET_VERSION}) SET_TARGET_PROPERTIES(BulletWorldImporter PROPERTIES SOVERSION ${BULLET_VERSION}) +target_include_directories(BulletWorldImporter PUBLIC + $ + $ + $/${INCLUDE_INSTALL_DIR}> + $/${INCLUDE_INSTALL_DIR}/BulletFileLoader> +) + IF (BUILD_SHARED_LIBS) TARGET_LINK_LIBRARIES(BulletWorldImporter BulletDynamics BulletCollision BulletFileLoader LinearMath) ENDIF (BUILD_SHARED_LIBS) @@ -23,12 +25,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 BulletWorldImporter DESTINATION .) + INSTALL(TARGETS BulletWorldImporter EXPORT Bullet DESTINATION .) ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) INSTALL(TARGETS BulletWorldImporter - 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) diff --git a/Extras/Serialize/BulletXmlWorldImporter/CMakeLists.txt b/Extras/Serialize/BulletXmlWorldImporter/CMakeLists.txt index 3a9606288..60ddf5aff 100644 --- a/Extras/Serialize/BulletXmlWorldImporter/CMakeLists.txt +++ b/Extras/Serialize/BulletXmlWorldImporter/CMakeLists.txt @@ -1,9 +1,3 @@ -INCLUDE_DIRECTORIES( - ${BULLET_PHYSICS_SOURCE_DIR}/src - ${BULLET_PHYSICS_SOURCE_DIR}/Extras/Serialize/BulletFileLoader - ${BULLET_PHYSICS_SOURCE_DIR}/Extras/Serialize/BulletWorldImporter -) - ADD_LIBRARY( BulletXmlWorldImporter btBulletXmlWorldImporter.cpp @@ -21,6 +15,15 @@ ADD_LIBRARY( SET_TARGET_PROPERTIES(BulletXmlWorldImporter PROPERTIES VERSION ${BULLET_VERSION}) SET_TARGET_PROPERTIES(BulletXmlWorldImporter PROPERTIES SOVERSION ${BULLET_VERSION}) +target_include_directories(BulletXmlWorldImporter PUBLIC + $ + $ + $ + $/${INCLUDE_INSTALL_DIR}> + $/${INCLUDE_INSTALL_DIR}/BulletFileLoader> + $/${INCLUDE_INSTALL_DIR}/BulletWorldImporter> +) + IF (BUILD_SHARED_LIBS) TARGET_LINK_LIBRARIES(BulletXmlWorldImporter BulletWorldImporter BulletDynamics BulletCollision BulletFileLoader LinearMath) ENDIF (BUILD_SHARED_LIBS) @@ -30,12 +33,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 BulletXmlWorldImporter DESTINATION .) + INSTALL(TARGETS BulletXmlWorldImporter EXPORT Bullet DESTINATION .) ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) INSTALL(TARGETS BulletXmlWorldImporter - 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 diff --git a/examples/ThirdPartyLibs/clsocket/CMakeLists.txt b/examples/ThirdPartyLibs/clsocket/CMakeLists.txt index bb9a4c1e1..c01f8cc53 100644 --- a/examples/ThirdPartyLibs/clsocket/CMakeLists.txt +++ b/examples/ThirdPartyLibs/clsocket/CMakeLists.txt @@ -6,8 +6,6 @@ #set(BUILD_MINOR "4") #set(BUILD_VERSION "3") -include_directories(src) - SET(CLSOCKET_HEADERS src/ActiveSocket.h src/Host.h @@ -63,10 +61,14 @@ else() endif() endif() TARGET_LINK_LIBRARIES(clsocket ${PROJECT_LIBS}) +target_include_directories(clsocket PUBLIC + $ + $/${CMAKE_INSTALL_INCLUDEDIR}> +) # install into configured prefix if(NOT CLSOCKET_DEP_ONLY) - install(TARGETS clsocket ARCHIVE DESTINATION lib LIBRARY DESTINATION lib) + install(TARGETS clsocket EXPORT Bullet ARCHIVE DESTINATION lib LIBRARY DESTINATION lib) install(FILES ${CLSOCKET_HEADERS} DESTINATION include) else() diff --git a/src/Bullet3Collision/CMakeLists.txt b/src/Bullet3Collision/CMakeLists.txt index 130095cc0..e811da6f4 100644 --- a/src/Bullet3Collision/CMakeLists.txt +++ b/src/Bullet3Collision/CMakeLists.txt @@ -1,8 +1,3 @@ - -INCLUDE_DIRECTORIES( - ${BULLET_PHYSICS_SOURCE_DIR}/src -) - SET(Bullet3Collision_SRCS BroadPhaseCollision/b3DynamicBvh.cpp BroadPhaseCollision/b3DynamicBvhBroadphase.cpp @@ -58,6 +53,10 @@ SET(Bullet3Collision_HDRS ) ADD_LIBRARY(Bullet3Collision ${Bullet3Collision_SRCS} ${Bullet3Collision_HDRS}) +target_include_directories(Bullet3Collision PUBLIC + $ + $/${INCLUDE_INSTALL_DIR}> +) if (BUILD_SHARED_LIBS) target_link_libraries(Bullet3Collision Bullet3Geometry) endif () @@ -69,12 +68,13 @@ IF (INSTALL_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 Bullet3Collision DESTINATION .) + INSTALL(TARGETS Bullet3Collision EXPORT Bullet DESTINATION .) ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) INSTALL(TARGETS Bullet3Collision - 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) diff --git a/src/Bullet3Common/CMakeLists.txt b/src/Bullet3Common/CMakeLists.txt index e899e67d9..63fbdedc8 100644 --- a/src/Bullet3Common/CMakeLists.txt +++ b/src/Bullet3Common/CMakeLists.txt @@ -1,8 +1,3 @@ - -INCLUDE_DIRECTORIES( - ${BULLET_PHYSICS_SOURCE_DIR}/src -) - SET(Bullet3Common_SRCS b3AlignedAllocator.cpp b3Vector3.cpp @@ -35,6 +30,10 @@ SET(Bullet3Common_HDRS ) ADD_LIBRARY(Bullet3Common ${Bullet3Common_SRCS} ${Bullet3Common_HDRS}) +target_include_directories(Bullet3Common PUBLIC + $ + $/${INCLUDE_INSTALL_DIR}> +) SET_TARGET_PROPERTIES(Bullet3Common PROPERTIES VERSION ${BULLET_VERSION}) SET_TARGET_PROPERTIES(Bullet3Common PROPERTIES SOVERSION ${BULLET_VERSION}) @@ -43,12 +42,13 @@ IF (INSTALL_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 Bullet3Common DESTINATION .) + INSTALL(TARGETS Bullet3Common EXPORT Bullet DESTINATION .) ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) INSTALL(TARGETS Bullet3Common - 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) diff --git a/src/Bullet3Dynamics/CMakeLists.txt b/src/Bullet3Dynamics/CMakeLists.txt index 94c120d9b..82f1a2b30 100644 --- a/src/Bullet3Dynamics/CMakeLists.txt +++ b/src/Bullet3Dynamics/CMakeLists.txt @@ -1,8 +1,3 @@ - -INCLUDE_DIRECTORIES( - ${BULLET_PHYSICS_SOURCE_DIR}/src -) - SET(Bullet3Dynamics_SRCS b3CpuRigidBodyPipeline.cpp ConstraintSolver/b3FixedConstraint.cpp @@ -30,6 +25,10 @@ SET(Bullet3Dynamics_HDRS ) ADD_LIBRARY(Bullet3Dynamics ${Bullet3Dynamics_SRCS} ${Bullet3Dynamics_HDRS}) +target_include_directories(Bullet3Dynamics PUBLIC + $ + $/${INCLUDE_INSTALL_DIR}> +) if (BUILD_SHARED_LIBS) target_link_libraries(Bullet3Dynamics Bullet3Collision) endif () @@ -41,12 +40,13 @@ IF (INSTALL_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 Bullet3Dynamics DESTINATION .) + INSTALL(TARGETS Bullet3Dynamics EXPORT Bullet DESTINATION .) ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) INSTALL(TARGETS Bullet3Dynamics - 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) diff --git a/src/Bullet3Geometry/CMakeLists.txt b/src/Bullet3Geometry/CMakeLists.txt index 820687270..b5ae81052 100644 --- a/src/Bullet3Geometry/CMakeLists.txt +++ b/src/Bullet3Geometry/CMakeLists.txt @@ -1,8 +1,3 @@ - -INCLUDE_DIRECTORIES( - ${BULLET_PHYSICS_SOURCE_DIR}/src -) - SET(Bullet3Geometry_SRCS b3ConvexHullComputer.cpp b3GeometryUtil.cpp @@ -16,6 +11,10 @@ SET(Bullet3Geometry_HDRS ) ADD_LIBRARY(Bullet3Geometry ${Bullet3Geometry_SRCS} ${Bullet3Geometry_HDRS}) +target_include_directories(Bullet3Geometry PUBLIC + $ + $/${INCLUDE_INSTALL_DIR}> +) if (BUILD_SHARED_LIBS) target_link_libraries(Bullet3Geometry Bullet3Common) endif() @@ -27,12 +26,13 @@ IF (INSTALL_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 Bullet3Geometry DESTINATION .) + INSTALL(TARGETS Bullet3Geometry EXPORT Bullet DESTINATION .) ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) INSTALL(TARGETS Bullet3Geometry - 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) diff --git a/src/Bullet3OpenCL/CMakeLists.txt b/src/Bullet3OpenCL/CMakeLists.txt index 45df06ff6..cf9549617 100644 --- a/src/Bullet3OpenCL/CMakeLists.txt +++ b/src/Bullet3OpenCL/CMakeLists.txt @@ -1,5 +1,3 @@ -INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ) - ADD_DEFINITIONS(-DB3_USE_CLEW) SET(Bullet3OpenCL_clew_SRCS @@ -44,6 +42,10 @@ SET(Bullet3OpenCL_clew_HDRS ADD_LIBRARY(Bullet3OpenCL_clew ${Bullet3OpenCL_clew_SRCS} ${Bullet3OpenCL_clew_HDRS}) SET_TARGET_PROPERTIES(Bullet3OpenCL_clew PROPERTIES VERSION ${BULLET_VERSION}) SET_TARGET_PROPERTIES(Bullet3OpenCL_clew PROPERTIES SOVERSION ${BULLET_VERSION}) +target_include_directories(Bullet3OpenCL_clew PUBLIC + $ + $/${INCLUDE_INSTALL_DIR}> +) IF (BUILD_SHARED_LIBS) TARGET_LINK_LIBRARIES(Bullet3OpenCL_clew LinearMath Bullet3Dynamics ${CMAKE_DL_LIBS}) ENDIF (BUILD_SHARED_LIBS) @@ -54,11 +56,11 @@ IF (INSTALL_LIBS) #INSTALL of other files requires CMake 2.6 IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) - INSTALL(TARGETS Bullet3OpenCL_clew DESTINATION .) + INSTALL(TARGETS Bullet3OpenCL_clew EXPORT Bullet DESTINATION .) ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) - INSTALL(TARGETS Bullet3OpenCL_clew RUNTIME DESTINATION bin - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX}) + INSTALL(TARGETS Bullet3OpenCL_clew 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) # INSTALL(FILES ../btBullet3OpenCL_clewCommon.h diff --git a/src/Bullet3Serialize/Bullet2FileLoader/CMakeLists.txt b/src/Bullet3Serialize/Bullet2FileLoader/CMakeLists.txt index 125576634..499e474fa 100644 --- a/src/Bullet3Serialize/Bullet2FileLoader/CMakeLists.txt +++ b/src/Bullet3Serialize/Bullet2FileLoader/CMakeLists.txt @@ -1,8 +1,3 @@ - -INCLUDE_DIRECTORIES( - ${BULLET_PHYSICS_SOURCE_DIR}/src -) - SET(Bullet2FileLoader_SRCS b3BulletFile.cpp b3Chunk.cpp @@ -24,6 +19,10 @@ SET(Bullet2FileLoader_HDRS ) ADD_LIBRARY(Bullet2FileLoader ${Bullet2FileLoader_SRCS} ${Bullet2FileLoader_HDRS}) +target_include_directories(Bullet2FileLoader PUBLIC + $ + $/${INCLUDE_INSTALL_DIR}> +) if (BUILD_SHARED_LIBS) target_link_libraries(Bullet2FileLoader Bullet3Common) endif () @@ -35,12 +34,13 @@ IF (INSTALL_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 Bullet2FileLoader DESTINATION .) + INSTALL(TARGETS Bullet2FileLoader EXPORT Bullet DESTINATION .) ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) INSTALL(TARGETS Bullet2FileLoader - 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) diff --git a/src/BulletCollision/CMakeLists.txt b/src/BulletCollision/CMakeLists.txt index 85c5fc8b6..570eda48e 100644 --- a/src/BulletCollision/CMakeLists.txt +++ b/src/BulletCollision/CMakeLists.txt @@ -1,5 +1,3 @@ -INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ) - SET(BulletCollision_SRCS BroadphaseCollision/btAxisSweep3.cpp BroadphaseCollision/btBroadphaseProxy.cpp @@ -254,6 +252,10 @@ SET(BulletCollision_HDRS ADD_LIBRARY(BulletCollision ${BulletCollision_SRCS} ${BulletCollision_HDRS}) SET_TARGET_PROPERTIES(BulletCollision PROPERTIES VERSION ${BULLET_VERSION}) SET_TARGET_PROPERTIES(BulletCollision PROPERTIES SOVERSION ${BULLET_VERSION}) +target_include_directories(BulletCollision PUBLIC + $ + $/${INCLUDE_INSTALL_DIR}> +) IF (BUILD_SHARED_LIBS) TARGET_LINK_LIBRARIES(BulletCollision LinearMath) ENDIF (BUILD_SHARED_LIBS) @@ -264,11 +266,11 @@ IF (INSTALL_LIBS) #INSTALL of other files requires CMake 2.6 IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) - INSTALL(TARGETS BulletCollision DESTINATION .) + INSTALL(TARGETS BulletCollision EXPORT Bullet DESTINATION .) ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) - INSTALL(TARGETS BulletCollision RUNTIME DESTINATION bin - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX}) + INSTALL(TARGETS BulletCollision 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) INSTALL(FILES ../btBulletCollisionCommon.h diff --git a/src/BulletDynamics/CMakeLists.txt b/src/BulletDynamics/CMakeLists.txt index f8a6f34ba..f031852fa 100644 --- a/src/BulletDynamics/CMakeLists.txt +++ b/src/BulletDynamics/CMakeLists.txt @@ -1,7 +1,3 @@ -INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ) - - - SET(BulletDynamics_SRCS Character/btKinematicCharacterController.cpp ConstraintSolver/btConeTwistConstraint.cpp @@ -134,6 +130,10 @@ SET(BulletDynamics_HDRS ADD_LIBRARY(BulletDynamics ${BulletDynamics_SRCS} ${BulletDynamics_HDRS}) SET_TARGET_PROPERTIES(BulletDynamics PROPERTIES VERSION ${BULLET_VERSION}) SET_TARGET_PROPERTIES(BulletDynamics PROPERTIES SOVERSION ${BULLET_VERSION}) +target_include_directories(BulletDynamics PUBLIC + $ + $/${INCLUDE_INSTALL_DIR}> +) IF (BUILD_SHARED_LIBS) TARGET_LINK_LIBRARIES(BulletDynamics BulletCollision LinearMath) ENDIF (BUILD_SHARED_LIBS) @@ -142,11 +142,11 @@ IF (INSTALL_LIBS) IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) - INSTALL(TARGETS BulletDynamics DESTINATION .) + INSTALL(TARGETS BulletDynamics EXPORT Bullet DESTINATION .) ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) - INSTALL(TARGETS BulletDynamics RUNTIME DESTINATION bin - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX}) + INSTALL(TARGETS BulletDynamics 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) diff --git a/src/BulletInverseDynamics/CMakeLists.txt b/src/BulletInverseDynamics/CMakeLists.txt index 3331c27ea..bb5f3f909 100644 --- a/src/BulletInverseDynamics/CMakeLists.txt +++ b/src/BulletInverseDynamics/CMakeLists.txt @@ -1,5 +1,3 @@ -INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ) - SET(BulletInverseDynamics_SRCS IDMath.cpp MultiBodyTree.cpp @@ -32,6 +30,10 @@ SET(BulletInverseDynamics_HDRS ADD_LIBRARY(BulletInverseDynamics ${BulletInverseDynamics_SRCS} ${BulletInverseDynamics_HDRS}) SET_TARGET_PROPERTIES(BulletInverseDynamics PROPERTIES VERSION ${BULLET_VERSION}) SET_TARGET_PROPERTIES(BulletInverseDynamics PROPERTIES SOVERSION ${BULLET_VERSION}) +target_include_directories(BulletInverseDynamics PUBLIC + $ + $/${INCLUDE_INSTALL_DIR}> +) IF (BUILD_SHARED_LIBS) TARGET_LINK_LIBRARIES(BulletInverseDynamics Bullet3Common LinearMath) ENDIF (BUILD_SHARED_LIBS) @@ -42,11 +44,11 @@ IF (INSTALL_LIBS) #INSTALL of other files requires CMake 2.6 IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) - INSTALL(TARGETS BulletInverseDynamics DESTINATION .) + INSTALL(TARGETS BulletInverseDynamics EXPORT Bullet DESTINATION .) ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) - INSTALL(TARGETS BulletInverseDynamics RUNTIME DESTINATION bin - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX}) + INSTALL(TARGETS BulletInverseDynamics 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) INSTALL(FILES ../btBulletCollisionCommon.h diff --git a/src/BulletSoftBody/CMakeLists.txt b/src/BulletSoftBody/CMakeLists.txt index d43df1c67..0b452400e 100644 --- a/src/BulletSoftBody/CMakeLists.txt +++ b/src/BulletSoftBody/CMakeLists.txt @@ -1,9 +1,3 @@ - -INCLUDE_DIRECTORIES( -${BULLET_PHYSICS_SOURCE_DIR}/src - -) - #SUBDIRS( Solvers ) SET(BulletSoftBody_SRCS @@ -42,6 +36,10 @@ SET(BulletSoftBody_HDRS ADD_LIBRARY(BulletSoftBody ${BulletSoftBody_SRCS} ${BulletSoftBody_HDRS}) SET_TARGET_PROPERTIES(BulletSoftBody PROPERTIES VERSION ${BULLET_VERSION}) SET_TARGET_PROPERTIES(BulletSoftBody PROPERTIES SOVERSION ${BULLET_VERSION}) +target_include_directories(BulletSoftBody PUBLIC + $ + $/${INCLUDE_INSTALL_DIR}> +) IF (BUILD_SHARED_LIBS) TARGET_LINK_LIBRARIES(BulletSoftBody BulletDynamics) ENDIF (BUILD_SHARED_LIBS) @@ -50,11 +48,11 @@ IF (INSTALL_LIBS) IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) - INSTALL(TARGETS BulletSoftBody DESTINATION .) + INSTALL(TARGETS BulletSoftBody EXPORT Bullet DESTINATION .) ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) - INSTALL(TARGETS BulletSoftBody RUNTIME DESTINATION bin - LIBRARY DESTINATION lib${LIB_SUFFIX} - ARCHIVE DESTINATION lib${LIB_SUFFIX}) + INSTALL(TARGETS BulletSoftBody 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) diff --git a/src/LinearMath/CMakeLists.txt b/src/LinearMath/CMakeLists.txt index ede21d9a7..efda63752 100644 --- a/src/LinearMath/CMakeLists.txt +++ b/src/LinearMath/CMakeLists.txt @@ -1,8 +1,3 @@ - -INCLUDE_DIRECTORIES( - ${BULLET_PHYSICS_SOURCE_DIR}/src -) - SET(LinearMath_SRCS btAlignedAllocator.cpp btConvexHull.cpp @@ -49,18 +44,23 @@ SET(LinearMath_HDRS ADD_LIBRARY(LinearMath ${LinearMath_SRCS} ${LinearMath_HDRS}) SET_TARGET_PROPERTIES(LinearMath PROPERTIES VERSION ${BULLET_VERSION}) SET_TARGET_PROPERTIES(LinearMath PROPERTIES SOVERSION ${BULLET_VERSION}) +target_include_directories(LinearMath PUBLIC + $ + $/${INCLUDE_INSTALL_DIR}> +) IF (INSTALL_LIBS) IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) #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 LinearMath DESTINATION .) + INSTALL(TARGETS LinearMath EXPORT Bullet DESTINATION .) ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) INSTALL(TARGETS LinearMath - 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) From 6f51d81cbb18ea8bc2792cbd36a738e1f4330e41 Mon Sep 17 00:00:00 2001 From: erwincoumans Date: Sun, 10 Sep 2017 21:20:54 -0700 Subject: [PATCH 2/9] Revert "Export targets in CMake and add include directories to target properties" --- BulletConfig.cmake.in | 16 ++---- CMakeLists.txt | 57 +++++++------------ Extras/BulletRobotics/CMakeLists.txt | 23 ++++---- Extras/ConvexDecomposition/CMakeLists.txt | 20 +++---- Extras/GIMPACTUtils/CMakeLists.txt | 25 ++++---- Extras/HACD/CMakeLists.txt | 18 +++--- Extras/InverseDynamics/CMakeLists.txt | 19 +++---- .../Serialize/BulletFileLoader/CMakeLists.txt | 18 +++--- .../BulletWorldImporter/CMakeLists.txt | 21 +++---- .../BulletXmlWorldImporter/CMakeLists.txt | 24 ++++---- .../ThirdPartyLibs/clsocket/CMakeLists.txt | 8 +-- src/Bullet3Collision/CMakeLists.txt | 18 +++--- src/Bullet3Common/CMakeLists.txt | 18 +++--- src/Bullet3Dynamics/CMakeLists.txt | 18 +++--- src/Bullet3Geometry/CMakeLists.txt | 18 +++--- src/Bullet3OpenCL/CMakeLists.txt | 14 ++--- .../Bullet2FileLoader/CMakeLists.txt | 18 +++--- src/BulletCollision/CMakeLists.txt | 14 ++--- src/BulletDynamics/CMakeLists.txt | 16 +++--- src/BulletInverseDynamics/CMakeLists.txt | 14 ++--- src/BulletSoftBody/CMakeLists.txt | 18 +++--- src/LinearMath/CMakeLists.txt | 18 +++--- 22 files changed, 192 insertions(+), 241 deletions(-) diff --git a/BulletConfig.cmake.in b/BulletConfig.cmake.in index c5b135c0c..f5dc7bdbb 100644 --- a/BulletConfig.cmake.in +++ b/BulletConfig.cmake.in @@ -14,16 +14,12 @@ # BULLET_ROOT_DIR - The base directory of Bullet # BULLET_VERSION_STRING - A human-readable string containing the version -@PACKAGE_INIT@ - -include("${CMAKE_CURRENT_LIST_DIR}/BulletExport.cmake") - set ( BULLET_FOUND 1 ) -set ( BULLET_USE_FILE "${PACKAGE_PREFIX_DIR}/@BULLET_USE_FILE@" ) +set ( BULLET_USE_FILE "@BULLET_USE_FILE@" ) set ( BULLET_DEFINITIONS "@BULLET_DEFINITIONS@" ) -set ( BULLET_INCLUDE_DIR "${PACKAGE_PREFIX_DIR}/@INCLUDE_INSTALL_DIR@" ) -set ( BULLET_INCLUDE_DIRS "${PACKAGE_PREFIX_DIR}/@INCLUDE_INSTALL_DIR@" ) +set ( BULLET_INCLUDE_DIR "@INCLUDE_INSTALL_DIR@" ) +set ( BULLET_INCLUDE_DIRS "@INCLUDE_INSTALL_DIR@" ) set ( BULLET_LIBRARIES "@BULLET_LIBRARIES@" ) -set ( BULLET_LIBRARY_DIRS "${PACKAGE_PREFIX_DIR}/@LIB_DESTINATION@" ) -set ( BULLET_ROOT_DIR "${PACKAGE_PREFIX_DIR}" ) -set ( BULLET_VERSION_STRING "@BULLET_VERSION@" ) +set ( BULLET_LIBRARY_DIRS "@LIB_DESTINATION@" ) +set ( BULLET_ROOT_DIR "@CMAKE_INSTALL_PREFIX@" ) +set ( BULLET_VERSION_STRING "@BULLET_VERSION@" ) \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index 8b5ae7ed8..9e04fe3e7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 2.8.11) +cmake_minimum_required(VERSION 2.4.3) set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true) cmake_policy(SET CMP0017 NEW) #this line has to appear before 'PROJECT' in order to be able to disable incremental linking @@ -15,9 +15,6 @@ IF(COMMAND cmake_policy) endif(POLICY CMP0042) ENDIF(COMMAND cmake_policy) -include(CMakePackageConfigHelpers) -include(GNUInstallDirs) - IF (NOT CMAKE_BUILD_TYPE) # SET(CMAKE_BUILD_TYPE "Debug") SET(CMAKE_BUILD_TYPE "Release") @@ -433,10 +430,11 @@ IF(INSTALL_LIBS) ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) ENDIF(BUILD_EXTRAS) - SET (LIB_DESTINATION "${CMAKE_INSTALL_LIBDIR}" CACHE STRING "Library directory name") + SET (LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)" ) + SET (LIB_DESTINATION "lib${LIB_SUFFIX}" CACHE STRING "Library directory name") ## the following are directories where stuff will be installed to - SET(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_INCLUDEDIR}/bullet/" CACHE PATH "The subdirectory to the header prefix") - SET(PKGCONFIG_INSTALL_PREFIX "${CMAKE_INSTALL_LIBDIR}/pkgconfig/" CACHE STRING "Base directory for pkgconfig files") + SET(INCLUDE_INSTALL_DIR "include/bullet/" CACHE PATH "The subdirectory to the header prefix") + SET(PKGCONFIG_INSTALL_PREFIX "lib${LIB_SUFFIX}/pkgconfig/" CACHE STRING "Base directory for pkgconfig files") IF(NOT MSVC) CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/bullet.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/bullet.pc @ONLY) INSTALL( @@ -455,34 +453,19 @@ IF (BUILD_UNIT_TESTS) SUBDIRS(test) ENDIF() -set (BULLET_CONFIG_CMAKE_PATH ${CMAKE_INSTALL_LIBDIR}/cmake/bullet-${BULLET_VERSION}) -list (APPEND BULLET_LIBRARIES Bullet::LinearMath) -list (APPEND BULLET_LIBRARIES Bullet::Bullet3Common) -list (APPEND BULLET_LIBRARIES Bullet::BulletInverseDynamics) -list (APPEND BULLET_LIBRARIES Bullet::BulletCollision) -list (APPEND BULLET_LIBRARIES Bullet::BulletDynamics) -list (APPEND BULLET_LIBRARIES Bullet::BulletSoftBody) +set (BULLET_CONFIG_CMAKE_PATH lib${LIB_SUFFIX}/cmake/bullet ) +list (APPEND BULLET_LIBRARIES LinearMath) +list (APPEND BULLET_LIBRARIES Bullet3Common) +list (APPEND BULLET_LIBRARIES BulletInverseDynamics) +list (APPEND BULLET_LIBRARIES BulletCollision) +list (APPEND BULLET_LIBRARIES BulletDynamics) +list (APPEND BULLET_LIBRARIES BulletSoftBody) set (BULLET_USE_FILE ${BULLET_CONFIG_CMAKE_PATH}/UseBullet.cmake) -configure_package_config_file( - ${CMAKE_CURRENT_SOURCE_DIR}/BulletConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/BulletConfig.cmake - INSTALL_DESTINATION ${BULLET_CONFIG_CMAKE_PATH} -) -install( - FILES ${CMAKE_CURRENT_SOURCE_DIR}/UseBullet.cmake ${CMAKE_CURRENT_BINARY_DIR}/BulletConfig.cmake - DESTINATION ${BULLET_CONFIG_CMAKE_PATH} -) -write_basic_package_version_file( - ${CMAKE_CURRENT_BINARY_DIR}/BulletConfigVersion.cmake - VERSION ${BULLET_VERSION} - COMPATIBILITY ExactVersion -) -install( - FILES ${CMAKE_CURRENT_BINARY_DIR}/BulletConfigVersion.cmake - DESTINATION ${BULLET_CONFIG_CMAKE_PATH} -) -install( - EXPORT Bullet - DESTINATION ${BULLET_CONFIG_CMAKE_PATH} - NAMESPACE Bullet:: - FILE BulletExport.cmake -) +configure_file ( ${CMAKE_CURRENT_SOURCE_DIR}/BulletConfig.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/BulletConfig.cmake + @ONLY ESCAPE_QUOTES + ) +install ( FILES ${CMAKE_CURRENT_SOURCE_DIR}/UseBullet.cmake + ${CMAKE_CURRENT_BINARY_DIR}/BulletConfig.cmake + DESTINATION ${BULLET_CONFIG_CMAKE_PATH} + ) diff --git a/Extras/BulletRobotics/CMakeLists.txt b/Extras/BulletRobotics/CMakeLists.txt index c8d3e7c9f..a8d238197 100644 --- a/Extras/BulletRobotics/CMakeLists.txt +++ b/Extras/BulletRobotics/CMakeLists.txt @@ -1,3 +1,12 @@ + +INCLUDE_DIRECTORIES( + ${BULLET_PHYSICS_SOURCE_DIR}/src + ${BULLET_PHYSICS_SOURCE_DIR}/examples + ${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs + ${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs/enet/include + ${BULLET_PHYSICS_SOURCE_DIR}/examples/ThirdPartyLibs/clsocket/src +) + SET(BulletRobotics_SRCS ../../examples/SharedMemory/IKTrajectoryHelper.cpp ../../examples/SharedMemory/IKTrajectoryHelper.h @@ -149,15 +158,6 @@ ADD_LIBRARY(BulletRobotics ${BulletRobotics_SRCS}) SET_TARGET_PROPERTIES(BulletRobotics PROPERTIES VERSION ${BULLET_VERSION}) SET_TARGET_PROPERTIES(BulletRobotics PROPERTIES SOVERSION ${BULLET_VERSION}) -target_include_directories(BulletRobotics PUBLIC - $ - $ - $ - $ - $ - $/${INCLUDE_INSTALL_DIR}> -) - IF (BUILD_SHARED_LIBS) TARGET_LINK_LIBRARIES(BulletRobotics BulletInverseDynamicsUtils BulletWorldImporter BulletFileLoader BulletSoftBody BulletDynamics BulletCollision BulletInverseDynamics LinearMath Bullet3Common) ENDIF (BUILD_SHARED_LIBS) @@ -176,9 +176,8 @@ IF (INSTALL_EXTRA_LIBS) ) INSTALL(TARGETS BulletRobotics - EXPORT Bullet - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX} ) IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) diff --git a/Extras/ConvexDecomposition/CMakeLists.txt b/Extras/ConvexDecomposition/CMakeLists.txt index d77b8cf41..132a336fa 100644 --- a/Extras/ConvexDecomposition/CMakeLists.txt +++ b/Extras/ConvexDecomposition/CMakeLists.txt @@ -1,3 +1,7 @@ +INCLUDE_DIRECTORIES( + ${BULLET_PHYSICS_SOURCE_DIR}/Extras/ConvexDecomposition ${BULLET_PHYSICS_SOURCE_DIR}/src +) + SET(ConvexDecomposition_SRCS bestfitobb.cpp ConvexBuilder.cpp @@ -34,13 +38,6 @@ ADD_LIBRARY(ConvexDecomposition ${ConvexDecomposition_SRCS} ${ConvexDecompositio SET_TARGET_PROPERTIES(ConvexDecomposition PROPERTIES VERSION ${BULLET_VERSION}) SET_TARGET_PROPERTIES(ConvexDecomposition PROPERTIES SOVERSION ${BULLET_VERSION}) -target_include_directories(ConvexDecomposition PUBLIC - $ - $ - $/${INCLUDE_INSTALL_DIR}/ConvexDecomposition> - $/${INCLUDE_INSTALL_DIR}> -) - IF (BUILD_SHARED_LIBS) TARGET_LINK_LIBRARIES(ConvexDecomposition BulletCollision LinearMath) ENDIF (BUILD_SHARED_LIBS) @@ -50,13 +47,12 @@ 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 ConvexDecomposition EXPORT Bullet DESTINATION .) + INSTALL(TARGETS ConvexDecomposition DESTINATION .) ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) INSTALL(TARGETS ConvexDecomposition - EXPORT Bullet - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN ".svn" EXCLUDE PATTERN "CMakeFiles" EXCLUDE) diff --git a/Extras/GIMPACTUtils/CMakeLists.txt b/Extras/GIMPACTUtils/CMakeLists.txt index a551319e5..c32a885df 100644 --- a/Extras/GIMPACTUtils/CMakeLists.txt +++ b/Extras/GIMPACTUtils/CMakeLists.txt @@ -1,18 +1,16 @@ +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 - $ - $ - $ - $ - $/${INCLUDE_INSTALL_DIR}> - $/${INCLUDE_INSTALL_DIR}/GIMPACTUtils> -) - IF (BUILD_SHARED_LIBS) TARGET_LINK_LIBRARIES(GIMPACTUtils ConvexDecomposition BulletCollision) ENDIF (BUILD_SHARED_LIBS) @@ -22,13 +20,12 @@ 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 EXPORT Bullet DESTINATION .) + INSTALL(TARGETS GIMPACTUtils DESTINATION .) ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) INSTALL(TARGETS GIMPACTUtils - EXPORT Bullet - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN ".svn" EXCLUDE PATTERN "CMakeFiles" EXCLUDE) diff --git a/Extras/HACD/CMakeLists.txt b/Extras/HACD/CMakeLists.txt index a21e1b5b4..a91d1173c 100644 --- a/Extras/HACD/CMakeLists.txt +++ b/Extras/HACD/CMakeLists.txt @@ -1,3 +1,7 @@ +INCLUDE_DIRECTORIES( + ${BULLET_PHYSICS_SOURCE_DIR}/Extras/HACD +) + SET(HACD_SRCS hacdGraph.cpp hacdHACD.cpp @@ -21,11 +25,6 @@ ADD_LIBRARY(HACD ${HACD_SRCS} ${HACD_HDRS}) SET_TARGET_PROPERTIES(HACD PROPERTIES VERSION ${BULLET_VERSION}) SET_TARGET_PROPERTIES(HACD PROPERTIES SOVERSION ${BULLET_VERSION}) -target_include_directories(HACD PUBLIC - $ - $/${INCLUDE_INSTALL_DIR}/HACD> -) - #IF (BUILD_SHARED_LIBS) # TARGET_LINK_LIBRARIES(HACD BulletCollision LinearMath) #ENDIF (BUILD_SHARED_LIBS) @@ -35,13 +34,12 @@ 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 HACD EXPORT Bullet DESTINATION .) + INSTALL(TARGETS HACD DESTINATION .) ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) INSTALL(TARGETS HACD - EXPORT Bullet - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN "*.inl" PATTERN diff --git a/Extras/InverseDynamics/CMakeLists.txt b/Extras/InverseDynamics/CMakeLists.txt index 90ce398a0..22e953a44 100644 --- a/Extras/InverseDynamics/CMakeLists.txt +++ b/Extras/InverseDynamics/CMakeLists.txt @@ -1,3 +1,7 @@ +INCLUDE_DIRECTORIES( + ${BULLET_PHYSICS_SOURCE_DIR}/src +) + ADD_LIBRARY( BulletInverseDynamicsUtils CloneTreeCreator.cpp @@ -17,12 +21,6 @@ User2InternalIndex.cpp SET_TARGET_PROPERTIES(BulletInverseDynamicsUtils PROPERTIES VERSION ${BULLET_VERSION}) SET_TARGET_PROPERTIES(BulletInverseDynamicsUtils PROPERTIES SOVERSION ${BULLET_VERSION}) -target_include_directories(BulletInverseDynamicsUtils PUBLIC - $ - $/${INCLUDE_INSTALL_DIR}/InverseDynamics> - $/${INCLUDE_INSTALL_DIR}> -) - IF (BUILD_SHARED_LIBS) TARGET_LINK_LIBRARIES(BulletInverseDynamicsUtils BulletInverseDynamics BulletDynamics BulletCollision Bullet3Common LinearMath) ENDIF (BUILD_SHARED_LIBS) @@ -32,13 +30,12 @@ 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 BulletInverseDynamicsUtils EXPORT Bullet DESTINATION .) + INSTALL(TARGETS BulletInverseDynamicsUtils DESTINATION .) ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) INSTALL(TARGETS BulletInverseDynamicsUtils - EXPORT Bullet - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN ".svn" EXCLUDE PATTERN "CMakeFiles" EXCLUDE) diff --git a/Extras/Serialize/BulletFileLoader/CMakeLists.txt b/Extras/Serialize/BulletFileLoader/CMakeLists.txt index a4b48ed58..9b5dce7ea 100644 --- a/Extras/Serialize/BulletFileLoader/CMakeLists.txt +++ b/Extras/Serialize/BulletFileLoader/CMakeLists.txt @@ -1,3 +1,7 @@ +INCLUDE_DIRECTORIES( + ${BULLET_PHYSICS_SOURCE_DIR}/src +) + SET(BulletFileLoader_SRCS bChunk.cpp bDNA.cpp @@ -16,11 +20,6 @@ btBulletFile.h ADD_LIBRARY(BulletFileLoader ${BulletFileLoader_SRCS} ${BulletFileLoader_HDRS}) -target_include_directories(BulletFileLoader PUBLIC - $ - $/${INCLUDE_INSTALL_DIR}> -) - IF (BUILD_SHARED_LIBS) TARGET_LINK_LIBRARIES(BulletFileLoader LinearMath) ENDIF (BUILD_SHARED_LIBS) @@ -33,13 +32,12 @@ 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 BulletFileLoader EXPORT Bullet DESTINATION .) + INSTALL(TARGETS BulletFileLoader DESTINATION .) ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) INSTALL(TARGETS BulletFileLoader - EXPORT Bullet - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) INSTALL( DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN diff --git a/Extras/Serialize/BulletWorldImporter/CMakeLists.txt b/Extras/Serialize/BulletWorldImporter/CMakeLists.txt index caf46ff65..3e6f00f10 100644 --- a/Extras/Serialize/BulletWorldImporter/CMakeLists.txt +++ b/Extras/Serialize/BulletWorldImporter/CMakeLists.txt @@ -1,3 +1,8 @@ +INCLUDE_DIRECTORIES( + ${BULLET_PHYSICS_SOURCE_DIR}/src + ${BULLET_PHYSICS_SOURCE_DIR}/Extras/Serialize/BulletFileLoader +) + ADD_LIBRARY( BulletWorldImporter btBulletWorldImporter.cpp @@ -9,13 +14,6 @@ btWorldImporter.h SET_TARGET_PROPERTIES(BulletWorldImporter PROPERTIES VERSION ${BULLET_VERSION}) SET_TARGET_PROPERTIES(BulletWorldImporter PROPERTIES SOVERSION ${BULLET_VERSION}) -target_include_directories(BulletWorldImporter PUBLIC - $ - $ - $/${INCLUDE_INSTALL_DIR}> - $/${INCLUDE_INSTALL_DIR}/BulletFileLoader> -) - IF (BUILD_SHARED_LIBS) TARGET_LINK_LIBRARIES(BulletWorldImporter BulletDynamics BulletCollision BulletFileLoader LinearMath) ENDIF (BUILD_SHARED_LIBS) @@ -25,13 +23,12 @@ 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 BulletWorldImporter EXPORT Bullet DESTINATION .) + INSTALL(TARGETS BulletWorldImporter DESTINATION .) ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) INSTALL(TARGETS BulletWorldImporter - EXPORT Bullet - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN ".svn" EXCLUDE PATTERN "CMakeFiles" EXCLUDE) diff --git a/Extras/Serialize/BulletXmlWorldImporter/CMakeLists.txt b/Extras/Serialize/BulletXmlWorldImporter/CMakeLists.txt index 60ddf5aff..3a9606288 100644 --- a/Extras/Serialize/BulletXmlWorldImporter/CMakeLists.txt +++ b/Extras/Serialize/BulletXmlWorldImporter/CMakeLists.txt @@ -1,3 +1,9 @@ +INCLUDE_DIRECTORIES( + ${BULLET_PHYSICS_SOURCE_DIR}/src + ${BULLET_PHYSICS_SOURCE_DIR}/Extras/Serialize/BulletFileLoader + ${BULLET_PHYSICS_SOURCE_DIR}/Extras/Serialize/BulletWorldImporter +) + ADD_LIBRARY( BulletXmlWorldImporter btBulletXmlWorldImporter.cpp @@ -15,15 +21,6 @@ ADD_LIBRARY( SET_TARGET_PROPERTIES(BulletXmlWorldImporter PROPERTIES VERSION ${BULLET_VERSION}) SET_TARGET_PROPERTIES(BulletXmlWorldImporter PROPERTIES SOVERSION ${BULLET_VERSION}) -target_include_directories(BulletXmlWorldImporter PUBLIC - $ - $ - $ - $/${INCLUDE_INSTALL_DIR}> - $/${INCLUDE_INSTALL_DIR}/BulletFileLoader> - $/${INCLUDE_INSTALL_DIR}/BulletWorldImporter> -) - IF (BUILD_SHARED_LIBS) TARGET_LINK_LIBRARIES(BulletXmlWorldImporter BulletWorldImporter BulletDynamics BulletCollision BulletFileLoader LinearMath) ENDIF (BUILD_SHARED_LIBS) @@ -33,13 +30,12 @@ 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 BulletXmlWorldImporter EXPORT Bullet DESTINATION .) + INSTALL(TARGETS BulletXmlWorldImporter DESTINATION .) ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) INSTALL(TARGETS BulletXmlWorldImporter - EXPORT Bullet - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN diff --git a/examples/ThirdPartyLibs/clsocket/CMakeLists.txt b/examples/ThirdPartyLibs/clsocket/CMakeLists.txt index c01f8cc53..bb9a4c1e1 100644 --- a/examples/ThirdPartyLibs/clsocket/CMakeLists.txt +++ b/examples/ThirdPartyLibs/clsocket/CMakeLists.txt @@ -6,6 +6,8 @@ #set(BUILD_MINOR "4") #set(BUILD_VERSION "3") +include_directories(src) + SET(CLSOCKET_HEADERS src/ActiveSocket.h src/Host.h @@ -61,14 +63,10 @@ else() endif() endif() TARGET_LINK_LIBRARIES(clsocket ${PROJECT_LIBS}) -target_include_directories(clsocket PUBLIC - $ - $/${CMAKE_INSTALL_INCLUDEDIR}> -) # install into configured prefix if(NOT CLSOCKET_DEP_ONLY) - install(TARGETS clsocket EXPORT Bullet ARCHIVE DESTINATION lib LIBRARY DESTINATION lib) + install(TARGETS clsocket ARCHIVE DESTINATION lib LIBRARY DESTINATION lib) install(FILES ${CLSOCKET_HEADERS} DESTINATION include) else() diff --git a/src/Bullet3Collision/CMakeLists.txt b/src/Bullet3Collision/CMakeLists.txt index e811da6f4..130095cc0 100644 --- a/src/Bullet3Collision/CMakeLists.txt +++ b/src/Bullet3Collision/CMakeLists.txt @@ -1,3 +1,8 @@ + +INCLUDE_DIRECTORIES( + ${BULLET_PHYSICS_SOURCE_DIR}/src +) + SET(Bullet3Collision_SRCS BroadPhaseCollision/b3DynamicBvh.cpp BroadPhaseCollision/b3DynamicBvhBroadphase.cpp @@ -53,10 +58,6 @@ SET(Bullet3Collision_HDRS ) ADD_LIBRARY(Bullet3Collision ${Bullet3Collision_SRCS} ${Bullet3Collision_HDRS}) -target_include_directories(Bullet3Collision PUBLIC - $ - $/${INCLUDE_INSTALL_DIR}> -) if (BUILD_SHARED_LIBS) target_link_libraries(Bullet3Collision Bullet3Geometry) endif () @@ -68,13 +69,12 @@ IF (INSTALL_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 Bullet3Collision EXPORT Bullet DESTINATION .) + INSTALL(TARGETS Bullet3Collision DESTINATION .) ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) INSTALL(TARGETS Bullet3Collision - EXPORT Bullet - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN ".svn" EXCLUDE PATTERN "CMakeFiles" EXCLUDE) diff --git a/src/Bullet3Common/CMakeLists.txt b/src/Bullet3Common/CMakeLists.txt index 63fbdedc8..e899e67d9 100644 --- a/src/Bullet3Common/CMakeLists.txt +++ b/src/Bullet3Common/CMakeLists.txt @@ -1,3 +1,8 @@ + +INCLUDE_DIRECTORIES( + ${BULLET_PHYSICS_SOURCE_DIR}/src +) + SET(Bullet3Common_SRCS b3AlignedAllocator.cpp b3Vector3.cpp @@ -30,10 +35,6 @@ SET(Bullet3Common_HDRS ) ADD_LIBRARY(Bullet3Common ${Bullet3Common_SRCS} ${Bullet3Common_HDRS}) -target_include_directories(Bullet3Common PUBLIC - $ - $/${INCLUDE_INSTALL_DIR}> -) SET_TARGET_PROPERTIES(Bullet3Common PROPERTIES VERSION ${BULLET_VERSION}) SET_TARGET_PROPERTIES(Bullet3Common PROPERTIES SOVERSION ${BULLET_VERSION}) @@ -42,13 +43,12 @@ IF (INSTALL_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 Bullet3Common EXPORT Bullet DESTINATION .) + INSTALL(TARGETS Bullet3Common DESTINATION .) ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) INSTALL(TARGETS Bullet3Common - EXPORT Bullet - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN ".svn" EXCLUDE PATTERN "CMakeFiles" EXCLUDE) diff --git a/src/Bullet3Dynamics/CMakeLists.txt b/src/Bullet3Dynamics/CMakeLists.txt index 82f1a2b30..94c120d9b 100644 --- a/src/Bullet3Dynamics/CMakeLists.txt +++ b/src/Bullet3Dynamics/CMakeLists.txt @@ -1,3 +1,8 @@ + +INCLUDE_DIRECTORIES( + ${BULLET_PHYSICS_SOURCE_DIR}/src +) + SET(Bullet3Dynamics_SRCS b3CpuRigidBodyPipeline.cpp ConstraintSolver/b3FixedConstraint.cpp @@ -25,10 +30,6 @@ SET(Bullet3Dynamics_HDRS ) ADD_LIBRARY(Bullet3Dynamics ${Bullet3Dynamics_SRCS} ${Bullet3Dynamics_HDRS}) -target_include_directories(Bullet3Dynamics PUBLIC - $ - $/${INCLUDE_INSTALL_DIR}> -) if (BUILD_SHARED_LIBS) target_link_libraries(Bullet3Dynamics Bullet3Collision) endif () @@ -40,13 +41,12 @@ IF (INSTALL_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 Bullet3Dynamics EXPORT Bullet DESTINATION .) + INSTALL(TARGETS Bullet3Dynamics DESTINATION .) ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) INSTALL(TARGETS Bullet3Dynamics - EXPORT Bullet - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN ".svn" EXCLUDE PATTERN "CMakeFiles" EXCLUDE) diff --git a/src/Bullet3Geometry/CMakeLists.txt b/src/Bullet3Geometry/CMakeLists.txt index b5ae81052..820687270 100644 --- a/src/Bullet3Geometry/CMakeLists.txt +++ b/src/Bullet3Geometry/CMakeLists.txt @@ -1,3 +1,8 @@ + +INCLUDE_DIRECTORIES( + ${BULLET_PHYSICS_SOURCE_DIR}/src +) + SET(Bullet3Geometry_SRCS b3ConvexHullComputer.cpp b3GeometryUtil.cpp @@ -11,10 +16,6 @@ SET(Bullet3Geometry_HDRS ) ADD_LIBRARY(Bullet3Geometry ${Bullet3Geometry_SRCS} ${Bullet3Geometry_HDRS}) -target_include_directories(Bullet3Geometry PUBLIC - $ - $/${INCLUDE_INSTALL_DIR}> -) if (BUILD_SHARED_LIBS) target_link_libraries(Bullet3Geometry Bullet3Common) endif() @@ -26,13 +27,12 @@ IF (INSTALL_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 Bullet3Geometry EXPORT Bullet DESTINATION .) + INSTALL(TARGETS Bullet3Geometry DESTINATION .) ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) INSTALL(TARGETS Bullet3Geometry - EXPORT Bullet - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN ".svn" EXCLUDE PATTERN "CMakeFiles" EXCLUDE) diff --git a/src/Bullet3OpenCL/CMakeLists.txt b/src/Bullet3OpenCL/CMakeLists.txt index cf9549617..45df06ff6 100644 --- a/src/Bullet3OpenCL/CMakeLists.txt +++ b/src/Bullet3OpenCL/CMakeLists.txt @@ -1,3 +1,5 @@ +INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ) + ADD_DEFINITIONS(-DB3_USE_CLEW) SET(Bullet3OpenCL_clew_SRCS @@ -42,10 +44,6 @@ SET(Bullet3OpenCL_clew_HDRS ADD_LIBRARY(Bullet3OpenCL_clew ${Bullet3OpenCL_clew_SRCS} ${Bullet3OpenCL_clew_HDRS}) SET_TARGET_PROPERTIES(Bullet3OpenCL_clew PROPERTIES VERSION ${BULLET_VERSION}) SET_TARGET_PROPERTIES(Bullet3OpenCL_clew PROPERTIES SOVERSION ${BULLET_VERSION}) -target_include_directories(Bullet3OpenCL_clew PUBLIC - $ - $/${INCLUDE_INSTALL_DIR}> -) IF (BUILD_SHARED_LIBS) TARGET_LINK_LIBRARIES(Bullet3OpenCL_clew LinearMath Bullet3Dynamics ${CMAKE_DL_LIBS}) ENDIF (BUILD_SHARED_LIBS) @@ -56,11 +54,11 @@ IF (INSTALL_LIBS) #INSTALL of other files requires CMake 2.6 IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) - INSTALL(TARGETS Bullet3OpenCL_clew EXPORT Bullet DESTINATION .) + INSTALL(TARGETS Bullet3OpenCL_clew DESTINATION .) ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) - INSTALL(TARGETS Bullet3OpenCL_clew EXPORT Bullet RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + INSTALL(TARGETS Bullet3OpenCL_clew RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN ".svn" EXCLUDE PATTERN "CMakeFiles" EXCLUDE) # INSTALL(FILES ../btBullet3OpenCL_clewCommon.h diff --git a/src/Bullet3Serialize/Bullet2FileLoader/CMakeLists.txt b/src/Bullet3Serialize/Bullet2FileLoader/CMakeLists.txt index 499e474fa..125576634 100644 --- a/src/Bullet3Serialize/Bullet2FileLoader/CMakeLists.txt +++ b/src/Bullet3Serialize/Bullet2FileLoader/CMakeLists.txt @@ -1,3 +1,8 @@ + +INCLUDE_DIRECTORIES( + ${BULLET_PHYSICS_SOURCE_DIR}/src +) + SET(Bullet2FileLoader_SRCS b3BulletFile.cpp b3Chunk.cpp @@ -19,10 +24,6 @@ SET(Bullet2FileLoader_HDRS ) ADD_LIBRARY(Bullet2FileLoader ${Bullet2FileLoader_SRCS} ${Bullet2FileLoader_HDRS}) -target_include_directories(Bullet2FileLoader PUBLIC - $ - $/${INCLUDE_INSTALL_DIR}> -) if (BUILD_SHARED_LIBS) target_link_libraries(Bullet2FileLoader Bullet3Common) endif () @@ -34,13 +35,12 @@ IF (INSTALL_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 Bullet2FileLoader EXPORT Bullet DESTINATION .) + INSTALL(TARGETS Bullet2FileLoader DESTINATION .) ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) INSTALL(TARGETS Bullet2FileLoader - EXPORT Bullet - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN ".svn" EXCLUDE PATTERN "CMakeFiles" EXCLUDE) diff --git a/src/BulletCollision/CMakeLists.txt b/src/BulletCollision/CMakeLists.txt index 570eda48e..85c5fc8b6 100644 --- a/src/BulletCollision/CMakeLists.txt +++ b/src/BulletCollision/CMakeLists.txt @@ -1,3 +1,5 @@ +INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ) + SET(BulletCollision_SRCS BroadphaseCollision/btAxisSweep3.cpp BroadphaseCollision/btBroadphaseProxy.cpp @@ -252,10 +254,6 @@ SET(BulletCollision_HDRS ADD_LIBRARY(BulletCollision ${BulletCollision_SRCS} ${BulletCollision_HDRS}) SET_TARGET_PROPERTIES(BulletCollision PROPERTIES VERSION ${BULLET_VERSION}) SET_TARGET_PROPERTIES(BulletCollision PROPERTIES SOVERSION ${BULLET_VERSION}) -target_include_directories(BulletCollision PUBLIC - $ - $/${INCLUDE_INSTALL_DIR}> -) IF (BUILD_SHARED_LIBS) TARGET_LINK_LIBRARIES(BulletCollision LinearMath) ENDIF (BUILD_SHARED_LIBS) @@ -266,11 +264,11 @@ IF (INSTALL_LIBS) #INSTALL of other files requires CMake 2.6 IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) - INSTALL(TARGETS BulletCollision EXPORT Bullet DESTINATION .) + INSTALL(TARGETS BulletCollision DESTINATION .) ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) - INSTALL(TARGETS BulletCollision EXPORT Bullet RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + INSTALL(TARGETS BulletCollision RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN ".svn" EXCLUDE PATTERN "CMakeFiles" EXCLUDE) INSTALL(FILES ../btBulletCollisionCommon.h diff --git a/src/BulletDynamics/CMakeLists.txt b/src/BulletDynamics/CMakeLists.txt index f031852fa..f8a6f34ba 100644 --- a/src/BulletDynamics/CMakeLists.txt +++ b/src/BulletDynamics/CMakeLists.txt @@ -1,3 +1,7 @@ +INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ) + + + SET(BulletDynamics_SRCS Character/btKinematicCharacterController.cpp ConstraintSolver/btConeTwistConstraint.cpp @@ -130,10 +134,6 @@ SET(BulletDynamics_HDRS ADD_LIBRARY(BulletDynamics ${BulletDynamics_SRCS} ${BulletDynamics_HDRS}) SET_TARGET_PROPERTIES(BulletDynamics PROPERTIES VERSION ${BULLET_VERSION}) SET_TARGET_PROPERTIES(BulletDynamics PROPERTIES SOVERSION ${BULLET_VERSION}) -target_include_directories(BulletDynamics PUBLIC - $ - $/${INCLUDE_INSTALL_DIR}> -) IF (BUILD_SHARED_LIBS) TARGET_LINK_LIBRARIES(BulletDynamics BulletCollision LinearMath) ENDIF (BUILD_SHARED_LIBS) @@ -142,11 +142,11 @@ IF (INSTALL_LIBS) IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) - INSTALL(TARGETS BulletDynamics EXPORT Bullet DESTINATION .) + INSTALL(TARGETS BulletDynamics DESTINATION .) ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) - INSTALL(TARGETS BulletDynamics EXPORT Bullet RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + INSTALL(TARGETS BulletDynamics RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN ".svn" EXCLUDE PATTERN "CMakeFiles" EXCLUDE) diff --git a/src/BulletInverseDynamics/CMakeLists.txt b/src/BulletInverseDynamics/CMakeLists.txt index bb5f3f909..3331c27ea 100644 --- a/src/BulletInverseDynamics/CMakeLists.txt +++ b/src/BulletInverseDynamics/CMakeLists.txt @@ -1,3 +1,5 @@ +INCLUDE_DIRECTORIES( ${BULLET_PHYSICS_SOURCE_DIR}/src ) + SET(BulletInverseDynamics_SRCS IDMath.cpp MultiBodyTree.cpp @@ -30,10 +32,6 @@ SET(BulletInverseDynamics_HDRS ADD_LIBRARY(BulletInverseDynamics ${BulletInverseDynamics_SRCS} ${BulletInverseDynamics_HDRS}) SET_TARGET_PROPERTIES(BulletInverseDynamics PROPERTIES VERSION ${BULLET_VERSION}) SET_TARGET_PROPERTIES(BulletInverseDynamics PROPERTIES SOVERSION ${BULLET_VERSION}) -target_include_directories(BulletInverseDynamics PUBLIC - $ - $/${INCLUDE_INSTALL_DIR}> -) IF (BUILD_SHARED_LIBS) TARGET_LINK_LIBRARIES(BulletInverseDynamics Bullet3Common LinearMath) ENDIF (BUILD_SHARED_LIBS) @@ -44,11 +42,11 @@ IF (INSTALL_LIBS) #INSTALL of other files requires CMake 2.6 IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) - INSTALL(TARGETS BulletInverseDynamics EXPORT Bullet DESTINATION .) + INSTALL(TARGETS BulletInverseDynamics DESTINATION .) ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) - INSTALL(TARGETS BulletInverseDynamics EXPORT Bullet RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + INSTALL(TARGETS BulletInverseDynamics RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN ".svn" EXCLUDE PATTERN "CMakeFiles" EXCLUDE) INSTALL(FILES ../btBulletCollisionCommon.h diff --git a/src/BulletSoftBody/CMakeLists.txt b/src/BulletSoftBody/CMakeLists.txt index 0b452400e..d43df1c67 100644 --- a/src/BulletSoftBody/CMakeLists.txt +++ b/src/BulletSoftBody/CMakeLists.txt @@ -1,3 +1,9 @@ + +INCLUDE_DIRECTORIES( +${BULLET_PHYSICS_SOURCE_DIR}/src + +) + #SUBDIRS( Solvers ) SET(BulletSoftBody_SRCS @@ -36,10 +42,6 @@ SET(BulletSoftBody_HDRS ADD_LIBRARY(BulletSoftBody ${BulletSoftBody_SRCS} ${BulletSoftBody_HDRS}) SET_TARGET_PROPERTIES(BulletSoftBody PROPERTIES VERSION ${BULLET_VERSION}) SET_TARGET_PROPERTIES(BulletSoftBody PROPERTIES SOVERSION ${BULLET_VERSION}) -target_include_directories(BulletSoftBody PUBLIC - $ - $/${INCLUDE_INSTALL_DIR}> -) IF (BUILD_SHARED_LIBS) TARGET_LINK_LIBRARIES(BulletSoftBody BulletDynamics) ENDIF (BUILD_SHARED_LIBS) @@ -48,11 +50,11 @@ IF (INSTALL_LIBS) IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) IF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) - INSTALL(TARGETS BulletSoftBody EXPORT Bullet DESTINATION .) + INSTALL(TARGETS BulletSoftBody DESTINATION .) ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) - INSTALL(TARGETS BulletSoftBody EXPORT Bullet RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + INSTALL(TARGETS BulletSoftBody RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN ".svn" EXCLUDE PATTERN "CMakeFiles" EXCLUDE) diff --git a/src/LinearMath/CMakeLists.txt b/src/LinearMath/CMakeLists.txt index efda63752..ede21d9a7 100644 --- a/src/LinearMath/CMakeLists.txt +++ b/src/LinearMath/CMakeLists.txt @@ -1,3 +1,8 @@ + +INCLUDE_DIRECTORIES( + ${BULLET_PHYSICS_SOURCE_DIR}/src +) + SET(LinearMath_SRCS btAlignedAllocator.cpp btConvexHull.cpp @@ -44,23 +49,18 @@ SET(LinearMath_HDRS ADD_LIBRARY(LinearMath ${LinearMath_SRCS} ${LinearMath_HDRS}) SET_TARGET_PROPERTIES(LinearMath PROPERTIES VERSION ${BULLET_VERSION}) SET_TARGET_PROPERTIES(LinearMath PROPERTIES SOVERSION ${BULLET_VERSION}) -target_include_directories(LinearMath PUBLIC - $ - $/${INCLUDE_INSTALL_DIR}> -) IF (INSTALL_LIBS) IF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) #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 LinearMath EXPORT Bullet DESTINATION .) + INSTALL(TARGETS LinearMath DESTINATION .) ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) INSTALL(TARGETS LinearMath - EXPORT Bullet - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib${LIB_SUFFIX} + ARCHIVE DESTINATION lib${LIB_SUFFIX}) INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN ".svn" EXCLUDE PATTERN "CMakeFiles" EXCLUDE) From f38b2cf14d0f1d28e5d37cb0a25535af417e49e8 Mon Sep 17 00:00:00 2001 From: Erwin Coumans Date: Mon, 11 Sep 2017 09:23:14 -0700 Subject: [PATCH 3/9] use SHARED_MEMORY as first connection attempt, to make visualization/OpenGL rendering easier --- .../gym/pybullet_envs/bullet/bullet_client.py | 4 +++- .../pybullet/gym/pybullet_envs/bullet/kukaGymEnv.py | 4 +++- .../gym/pybullet_envs/bullet/minitaur_gym_env.py | 3 +++ examples/pybullet/gym/pybullet_envs/env_bases.py | 12 ++++++------ setup.py | 1 + 5 files changed, 16 insertions(+), 8 deletions(-) diff --git a/examples/pybullet/gym/pybullet_envs/bullet/bullet_client.py b/examples/pybullet/gym/pybullet_envs/bullet/bullet_client.py index 6d4749eb9..0eda1fb2e 100644 --- a/examples/pybullet/gym/pybullet_envs/bullet/bullet_client.py +++ b/examples/pybullet/gym/pybullet_envs/bullet/bullet_client.py @@ -8,7 +8,9 @@ class BulletClient(object): def __init__(self, connection_mode=pybullet.DIRECT): """Create a simulation and connect to it.""" - self._client = pybullet.connect(connection_mode) + self._client = pybullet.connect(pybullet.SHARED_MEMORY) + if(self._client<0): + self._client = pybullet.connect(connection_mode) self._shapes = {} def __del__(self): diff --git a/examples/pybullet/gym/pybullet_envs/bullet/kukaGymEnv.py b/examples/pybullet/gym/pybullet_envs/bullet/kukaGymEnv.py index 56c9fb864..5928a7232 100644 --- a/examples/pybullet/gym/pybullet_envs/bullet/kukaGymEnv.py +++ b/examples/pybullet/gym/pybullet_envs/bullet/kukaGymEnv.py @@ -37,7 +37,9 @@ class KukaGymEnv(gym.Env): self.terminated = 0 self._p = p if self._renders: - p.connect(p.GUI) + cid = p.connect(p.SHARED_MEMORY) + if (cid<0): + cid = p.connect(p.GUI) p.resetDebugVisualizerCamera(1.3,180,-41,[0.52,-0.2,-0.33]) else: p.connect(p.DIRECT) diff --git a/examples/pybullet/gym/pybullet_envs/bullet/minitaur_gym_env.py b/examples/pybullet/gym/pybullet_envs/bullet/minitaur_gym_env.py index 0822255cb..d74906408 100644 --- a/examples/pybullet/gym/pybullet_envs/bullet/minitaur_gym_env.py +++ b/examples/pybullet/gym/pybullet_envs/bullet/minitaur_gym_env.py @@ -166,6 +166,9 @@ class MinitaurBulletEnv(gym.Env): def set_env_randomizer(self, env_randomizer): self._env_randomizer = env_randomizer + def configure(self, args): + self._args = args + def _reset(self): if self._hard_reset: self._pybullet_client.resetSimulation() diff --git a/examples/pybullet/gym/pybullet_envs/env_bases.py b/examples/pybullet/gym/pybullet_envs/env_bases.py index 1a8d5c7d6..5e2017e42 100644 --- a/examples/pybullet/gym/pybullet_envs/env_bases.py +++ b/examples/pybullet/gym/pybullet_envs/env_bases.py @@ -39,13 +39,13 @@ class MJCFBaseBulletEnv(gym.Env): def _reset(self): if (self.physicsClientId<0): - if (self.isRender): - self.physicsClientId = p.connect(p.SHARED_MEMORY) - if (self.physicsClientId<0): + self.physicsClientId = p.connect(p.SHARED_MEMORY) + if (self.physicsClientId<0): + if (self.isRender): self.physicsClientId = p.connect(p.GUI) - else: - self.physicsClientId = p.connect(p.DIRECT) - #p.configureDebugVisualizer(p.COV_ENABLE_GUI,0) + else: + self.physicsClientId = p.connect(p.DIRECT) + p.configureDebugVisualizer(p.COV_ENABLE_GUI,0) if self.scene is None: self.scene = self.create_single_player_scene() diff --git a/setup.py b/setup.py index 3ef1c7776..a108087c7 100644 --- a/setup.py +++ b/setup.py @@ -467,6 +467,7 @@ setup( 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', 'Topic :: Games/Entertainment :: Simulation', + 'Topic :: Scientific/Engineering :: Artificial Intelligence', 'Framework :: Robot Framework'], package_dir = { '': 'examples/pybullet/gym'}, packages=[x for x in find_packages('examples/pybullet/gym')], From 416c29daf721ebe4fd6c95c989964e0f014b1fb7 Mon Sep 17 00:00:00 2001 From: Erwin Coumans Date: Mon, 11 Sep 2017 09:30:39 -0700 Subject: [PATCH 4/9] fix with shared memory connection while disabling rendering --- examples/ExampleBrowser/OpenGLExampleBrowser.cpp | 9 ++++++--- examples/SharedMemory/PosixSharedMemory.cpp | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/examples/ExampleBrowser/OpenGLExampleBrowser.cpp b/examples/ExampleBrowser/OpenGLExampleBrowser.cpp index 7672e1962..0fe118331 100644 --- a/examples/ExampleBrowser/OpenGLExampleBrowser.cpp +++ b/examples/ExampleBrowser/OpenGLExampleBrowser.cpp @@ -1204,10 +1204,13 @@ void OpenGLExampleBrowser::updateGraphics() void OpenGLExampleBrowser::update(float deltaTime) { - if (!gEnableRenderLoop) - return; + b3ChromeUtilsEnableProfiling(); - b3ChromeUtilsEnableProfiling(); + if (!gEnableRenderLoop) + { + sCurrentDemo->updateGraphics(); + return; + } B3_PROFILE("OpenGLExampleBrowser::update"); assert(glGetError()==GL_NO_ERROR); diff --git a/examples/SharedMemory/PosixSharedMemory.cpp b/examples/SharedMemory/PosixSharedMemory.cpp index 9c16b3fe7..43dcc86eb 100644 --- a/examples/SharedMemory/PosixSharedMemory.cpp +++ b/examples/SharedMemory/PosixSharedMemory.cpp @@ -91,7 +91,7 @@ void* PosixSharedMemory::allocateSharedMemory(int key, int size, bool allowCr int id = shmget((key_t) key, (size_t) size,flags); if (id < 0) { - b3Error("shmget error"); + b3Warning("shmget error"); } else { btPointerCaster result; From 105c2c948f20c408c469adc517d15762585e10e3 Mon Sep 17 00:00:00 2001 From: Erwin Coumans Date: Mon, 11 Sep 2017 09:38:55 -0700 Subject: [PATCH 5/9] add simple 'runServer.py' script, that lets you run a GUI shared memory server to connect to --- .../gym/pybullet_envs/examples/runServer.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 examples/pybullet/gym/pybullet_envs/examples/runServer.py diff --git a/examples/pybullet/gym/pybullet_envs/examples/runServer.py b/examples/pybullet/gym/pybullet_envs/examples/runServer.py new file mode 100644 index 000000000..8c37caa9d --- /dev/null +++ b/examples/pybullet/gym/pybullet_envs/examples/runServer.py @@ -0,0 +1,18 @@ +#add parent dir to find package. Only needed for source code build, pip install doesn't need it. +import os +import inspect +currentdir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))) +parentdir = os.path.dirname(os.path.dirname(currentdir)) +os.sys.path.insert(0,parentdir) + +import pybullet_data +import pybullet as p +import time + +p.connect(p.GUI_SERVER) +p.setAdditionalSearchPath(pybullet_data.getDataPath()) + +while(1): + time.sleep(0.01) + p.getNumBodies() + From b7e7415b46474fd073efd045df4dc3d246ee42ab Mon Sep 17 00:00:00 2001 From: Erwin Coumans Date: Mon, 11 Sep 2017 09:39:48 -0700 Subject: [PATCH 6/9] bump up pybullet to 1.3.7 --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index a108087c7..adab003fb 100644 --- a/setup.py +++ b/setup.py @@ -440,7 +440,7 @@ print("-----") setup( name = 'pybullet', - version='1.3.6', + version='1.3.7', description='Official Python Interface for the Bullet Physics SDK specialized for Robotics Simulation and Reinforcement Learning', long_description='pybullet is an easy to use Python module for physics simulation, robotics and deep reinforcement learning based on the Bullet Physics SDK. With pybullet you can load articulated bodies from URDF, SDF and other file formats. pybullet provides forward dynamics simulation, inverse dynamics computation, forward and inverse kinematics and collision detection and ray intersection queries. Aside from physics simulation, pybullet supports to rendering, with a CPU renderer and OpenGL visualization and support for virtual reality headsets.', url='https://github.com/bulletphysics/bullet3', From 3891602784a28d14fce716aa162b2a582ba86e09 Mon Sep 17 00:00:00 2001 From: Erwin Coumans Date: Mon, 11 Sep 2017 17:34:06 -0700 Subject: [PATCH 7/9] enable continuous action space for racecarZEDGymEnv disable SHARED_MEMORY connection (it was just some debug test) --- .../gym/pybullet_envs/bullet/bullet_client.py | 2 +- .../gym/pybullet_envs/bullet/kukaGymEnv.py | 2 +- .../pybullet_envs/bullet/racecarZEDGymEnv.py | 23 +++++++++++++------ .../pybullet/gym/pybullet_envs/env_bases.py | 2 +- .../examples/racecarZEDGymEnvTest.py | 4 ++-- 5 files changed, 21 insertions(+), 12 deletions(-) diff --git a/examples/pybullet/gym/pybullet_envs/bullet/bullet_client.py b/examples/pybullet/gym/pybullet_envs/bullet/bullet_client.py index 0eda1fb2e..fcdedf10c 100644 --- a/examples/pybullet/gym/pybullet_envs/bullet/bullet_client.py +++ b/examples/pybullet/gym/pybullet_envs/bullet/bullet_client.py @@ -8,7 +8,7 @@ class BulletClient(object): def __init__(self, connection_mode=pybullet.DIRECT): """Create a simulation and connect to it.""" - self._client = pybullet.connect(pybullet.SHARED_MEMORY) + self._client = -1 #pybullet.connect(pybullet.SHARED_MEMORY) if(self._client<0): self._client = pybullet.connect(connection_mode) self._shapes = {} diff --git a/examples/pybullet/gym/pybullet_envs/bullet/kukaGymEnv.py b/examples/pybullet/gym/pybullet_envs/bullet/kukaGymEnv.py index 5928a7232..903727b07 100644 --- a/examples/pybullet/gym/pybullet_envs/bullet/kukaGymEnv.py +++ b/examples/pybullet/gym/pybullet_envs/bullet/kukaGymEnv.py @@ -37,7 +37,7 @@ class KukaGymEnv(gym.Env): self.terminated = 0 self._p = p if self._renders: - cid = p.connect(p.SHARED_MEMORY) + cid = -1 #p.connect(p.SHARED_MEMORY) if (cid<0): cid = p.connect(p.GUI) p.resetDebugVisualizerCamera(1.3,180,-41,[0.52,-0.2,-0.33]) diff --git a/examples/pybullet/gym/pybullet_envs/bullet/racecarZEDGymEnv.py b/examples/pybullet/gym/pybullet_envs/bullet/racecarZEDGymEnv.py index 5fcbd75f7..507f6cb1a 100644 --- a/examples/pybullet/gym/pybullet_envs/bullet/racecarZEDGymEnv.py +++ b/examples/pybullet/gym/pybullet_envs/bullet/racecarZEDGymEnv.py @@ -25,7 +25,7 @@ class RacecarZEDGymEnv(gym.Env): urdfRoot=pybullet_data.getDataPath(), actionRepeat=10, isEnableSelfCollision=True, - isDiscrete=True, + isDiscrete=False, renders=True): print("init") self._timeStep = 0.01 @@ -52,7 +52,13 @@ class RacecarZEDGymEnv(gym.Env): #print(observationDim) observation_high = np.array([np.finfo(np.float32).max] * observationDim) - self.action_space = spaces.Discrete(9) + if (isDiscrete): + self.action_space = spaces.Discrete(9) + else: + action_dim = 2 + self._action_bound = 1 + action_high = np.array([self._action_bound] * action_dim) + self.action_space = spaces.Box(-action_high, action_high) self.observation_space = spaces.Box(low=0, high=255, shape=(self._height, self._width, 4)) self.viewer = None @@ -119,11 +125,14 @@ class RacecarZEDGymEnv(gym.Env): basePos,orn = self._p.getBasePositionAndOrientation(self._racecar.racecarUniqueId) #self._p.resetDebugVisualizerCamera(1, 30, -40, basePos) - fwd = [-1,-1,-1,0,0,0,1,1,1] - steerings = [-0.6,0,0.6,-0.6,0,0.6,-0.6,0,0.6] - forward = fwd[action] - steer = steerings[action] - realaction = [forward,steer] + if (self._isDiscrete): + fwd = [-1,-1,-1,0,0,0,1,1,1] + steerings = [-0.6,0,0.6,-0.6,0,0.6,-0.6,0,0.6] + forward = fwd[action] + steer = steerings[action] + realaction = [forward,steer] + else: + realaction = action self._racecar.applyAction(realaction) for i in range(self._actionRepeat): diff --git a/examples/pybullet/gym/pybullet_envs/env_bases.py b/examples/pybullet/gym/pybullet_envs/env_bases.py index 5e2017e42..3379ae4b4 100644 --- a/examples/pybullet/gym/pybullet_envs/env_bases.py +++ b/examples/pybullet/gym/pybullet_envs/env_bases.py @@ -39,7 +39,7 @@ class MJCFBaseBulletEnv(gym.Env): def _reset(self): if (self.physicsClientId<0): - self.physicsClientId = p.connect(p.SHARED_MEMORY) + self.physicsClientId = -1 #p.connect(p.SHARED_MEMORY) if (self.physicsClientId<0): if (self.isRender): self.physicsClientId = p.connect(p.GUI) diff --git a/examples/pybullet/gym/pybullet_envs/examples/racecarZEDGymEnvTest.py b/examples/pybullet/gym/pybullet_envs/examples/racecarZEDGymEnvTest.py index 176846651..64521b121 100644 --- a/examples/pybullet/gym/pybullet_envs/examples/racecarZEDGymEnvTest.py +++ b/examples/pybullet/gym/pybullet_envs/examples/racecarZEDGymEnvTest.py @@ -8,7 +8,7 @@ from pybullet_envs.bullet.racecarZEDGymEnv import RacecarZEDGymEnv def main(): - environment = RacecarZEDGymEnv(renders=True) + environment = RacecarZEDGymEnv(renders=True, isDiscrete=True) targetVelocitySlider = environment._p.addUserDebugParameter("wheelVelocity",-1,1,0) steeringSlider = environment._p.addUserDebugParameter("steering",-1,1,0) @@ -37,4 +37,4 @@ def main(): print(obs) if __name__=="__main__": - main() \ No newline at end of file + main() From de6d370b38f6ca54b5fa78446707879a0b773eb4 Mon Sep 17 00:00:00 2001 From: Erwin Coumans Date: Mon, 11 Sep 2017 17:36:04 -0700 Subject: [PATCH 8/9] bump up pybullet version --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index adab003fb..395bd22b9 100644 --- a/setup.py +++ b/setup.py @@ -440,7 +440,7 @@ print("-----") setup( name = 'pybullet', - version='1.3.7', + version='1.3.8', description='Official Python Interface for the Bullet Physics SDK specialized for Robotics Simulation and Reinforcement Learning', long_description='pybullet is an easy to use Python module for physics simulation, robotics and deep reinforcement learning based on the Bullet Physics SDK. With pybullet you can load articulated bodies from URDF, SDF and other file formats. pybullet provides forward dynamics simulation, inverse dynamics computation, forward and inverse kinematics and collision detection and ray intersection queries. Aside from physics simulation, pybullet supports to rendering, with a CPU renderer and OpenGL visualization and support for virtual reality headsets.', url='https://github.com/bulletphysics/bullet3', From ec25f663c22339d07a4b4d6be56d9a19a98147ce Mon Sep 17 00:00:00 2001 From: Erwin Coumans Date: Mon, 11 Sep 2017 19:46:54 -0700 Subject: [PATCH 9/9] fix getAABB.py on mac osx fix humanoid_benchmark.py and explain how to read/interpret that file in Google Chrome --- examples/pybullet/examples/getAABB.py | 3 ++- examples/pybullet/examples/humanoid_benchmark.py | 12 ++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/examples/pybullet/examples/getAABB.py b/examples/pybullet/examples/getAABB.py index ef1d3ee3f..a43c144e1 100644 --- a/examples/pybullet/examples/getAABB.py +++ b/examples/pybullet/examples/getAABB.py @@ -74,4 +74,5 @@ for i in range (p.getNumJoints(r2d2)): while(1): - a=0 \ No newline at end of file + a=0 + p.stepSimulation() diff --git a/examples/pybullet/examples/humanoid_benchmark.py b/examples/pybullet/examples/humanoid_benchmark.py index 30d479443..5c056cdaa 100644 --- a/examples/pybullet/examples/humanoid_benchmark.py +++ b/examples/pybullet/examples/humanoid_benchmark.py @@ -6,10 +6,10 @@ p.setPhysicsEngineParameter(numSolverIterations=5) p.setPhysicsEngineParameter(fixedTimeStep=1./240.) p.setPhysicsEngineParameter(numSubSteps=1) +p.loadURDF("plane.urdf") + objects = p.loadMJCF("mjcf/humanoid_symmetric.xml") ob = objects[0] -p.resetBasePositionAndOrientation(ob,[0.000000,0.000000,0.000000],[0.000000,0.000000,0.000000,1.000000]) -ob = objects[1] p.resetBasePositionAndOrientation(ob,[0.789351,0.962124,0.113124],[0.710965,0.218117,0.519402,-0.420923]) jointPositions=[ -0.200226, 0.123925, 0.000000, -0.224016, 0.000000, -0.022247, 0.099119, -0.041829, 0.000000, -0.344372, 0.000000, 0.000000, 0.090687, -0.578698, 0.044461, 0.000000, -0.185004, 0.000000, 0.000000, 0.039517, -0.131217, 0.000000, 0.083382, 0.000000, -0.165303, -0.140802, 0.000000, -0.007374, 0.000000 ] for jointIndex in range (p.getNumJoints(ob)): @@ -24,9 +24,13 @@ p.setRealTimeSimulation(0) #now do a benchmark print("Starting benchmark") -logId = p.startStateLogging(p.STATE_LOGGING_PROFILE_TIMINGS,"pybullet_humanoid_timings.json") +fileName = "pybullet_humanoid_timings.json" + +logId = p.startStateLogging(p.STATE_LOGGING_PROFILE_TIMINGS,fileName) for i in range(1000): p.stepSimulation() p.stopStateLogging(logId) -print("ended benchmark") \ No newline at end of file +print("ended benchmark") +print("Use Chrome browser, visit about://tracing, and load the %s file" % fileName) +