From dff62e67df83f0e97ff92e9d4c4cc7f0d24eddf7 Mon Sep 17 00:00:00 2001 From: "erwin.coumans" Date: Wed, 29 Feb 2012 05:19:22 +0000 Subject: [PATCH] CMakeListst.txt maintenance/improvement: create frameworks for BulletMultiThreaded and MiniCL, also minor fix in BulletCollision thanks to eitttje, see Issue 548 --- src/BulletCollision/CMakeLists.txt | 2 +- src/BulletMultiThreaded/CMakeLists.txt | 142 ++++++++++++++----------- src/MiniCL/CMakeLists.txt | 42 ++++++-- 3 files changed, 115 insertions(+), 71 deletions(-) diff --git a/src/BulletCollision/CMakeLists.txt b/src/BulletCollision/CMakeLists.txt index cef6293e2..e740e98ae 100644 --- a/src/BulletCollision/CMakeLists.txt +++ b/src/BulletCollision/CMakeLists.txt @@ -266,7 +266,7 @@ DESTINATION ${INCLUDE_INSTALL_DIR}/BulletCollision) IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) SET_TARGET_PROPERTIES(BulletCollision PROPERTIES FRAMEWORK true) - SET_TARGET_PROPERTIES(BulletCollision PROPERTIES PUBLIC_HEADER ${Root_HDRS}) + SET_TARGET_PROPERTIES(BulletCollision PROPERTIES PUBLIC_HEADER "${Root_HDRS}") # Have to list out sub-directories manually: SET_PROPERTY(SOURCE ${BroadphaseCollision_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/BroadphaseCollision) SET_PROPERTY(SOURCE ${CollisionDispatch_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/CollisionDispatch) diff --git a/src/BulletMultiThreaded/CMakeLists.txt b/src/BulletMultiThreaded/CMakeLists.txt index d15c317f0..6eeeb6d20 100644 --- a/src/BulletMultiThreaded/CMakeLists.txt +++ b/src/BulletMultiThreaded/CMakeLists.txt @@ -3,68 +3,81 @@ INCLUDE_DIRECTORIES( ${VECTOR_MATH_INCLUDE} ) -ADD_LIBRARY(BulletMultiThreaded - PlatformDefinitions.h - PpuAddressSpace.h - SpuFakeDma.cpp - SpuFakeDma.h - SpuDoubleBuffer.h - SpuLibspe2Support.cpp - SpuLibspe2Support.h - btThreadSupportInterface.cpp - btThreadSupportInterface.h - - Win32ThreadSupport.cpp - Win32ThreadSupport.h - PosixThreadSupport.cpp - PosixThreadSupport.h - SequentialThreadSupport.cpp - SequentialThreadSupport.h - SpuSampleTaskProcess.h - SpuSampleTaskProcess.cpp +SET(BulletMultiThreaded_SRCS + SpuFakeDma.cpp + SpuLibspe2Support.cpp + btThreadSupportInterface.cpp + Win32ThreadSupport.cpp + PosixThreadSupport.cpp + SequentialThreadSupport.cpp + SpuSampleTaskProcess.cpp + SpuCollisionObjectWrapper.cpp + SpuCollisionTaskProcess.cpp + SpuGatheringCollisionDispatcher.cpp + SpuContactManifoldCollisionAlgorithm.cpp + btParallelConstraintSolver.cpp + + #SPURS_PEGatherScatterTask/SpuPEGatherScatterTask.cpp + #SpuPEGatherScatterTaskProcess.cpp - SpuCollisionObjectWrapper.cpp - SpuCollisionObjectWrapper.h - SpuCollisionTaskProcess.h - SpuCollisionTaskProcess.cpp - SpuGatheringCollisionDispatcher.h - SpuGatheringCollisionDispatcher.cpp - SpuContactManifoldCollisionAlgorithm.cpp - SpuContactManifoldCollisionAlgorithm.h - - btParallelConstraintSolver.cpp - btParallelConstraintSolver.h - - SpuNarrowPhaseCollisionTask/Box.h - SpuNarrowPhaseCollisionTask/boxBoxDistance.cpp - SpuNarrowPhaseCollisionTask/boxBoxDistance.h -# SPURS_PEGatherScatterTask/SpuPEGatherScatterTask.cpp -# SPURS_PEGatherScatterTask/SpuPEGatherScatterTask.h -# SpuPEGatherScatterTaskProcess.cpp -# SpuPEGatherScatterTaskProcess.h - - SpuNarrowPhaseCollisionTask/SpuContactResult.cpp - SpuNarrowPhaseCollisionTask/SpuContactResult.h - SpuNarrowPhaseCollisionTask/SpuMinkowskiPenetrationDepthSolver.cpp - SpuNarrowPhaseCollisionTask/SpuMinkowskiPenetrationDepthSolver.h - SpuNarrowPhaseCollisionTask/SpuConvexPenetrationDepthSolver.h - SpuNarrowPhaseCollisionTask/SpuPreferredPenetrationDirections.h - SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask.cpp - SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask.h - SpuNarrowPhaseCollisionTask/SpuCollisionShapes.cpp - SpuNarrowPhaseCollisionTask/SpuCollisionShapes.h + SpuNarrowPhaseCollisionTask/boxBoxDistance.cpp + SpuNarrowPhaseCollisionTask/SpuContactResult.cpp + SpuNarrowPhaseCollisionTask/SpuMinkowskiPenetrationDepthSolver.cpp + SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask.cpp + SpuNarrowPhaseCollisionTask/SpuCollisionShapes.cpp - -#Some GPU related stuff, mainly CUDA and perhaps OpenCL - btGpu3DGridBroadphase.cpp - btGpu3DGridBroadphase.h - btGpu3DGridBroadphaseSharedCode.h - btGpu3DGridBroadphaseSharedDefs.h - btGpu3DGridBroadphaseSharedTypes.h - btGpuDefines.h - btGpuUtilsSharedCode.h - btGpuUtilsSharedDefs.h + #Some GPU related stuff, mainly CUDA and perhaps OpenCL + btGpu3DGridBroadphase.cpp ) + +SET(Root_HDRS + PlatformDefinitions.h + PpuAddressSpace.h + SpuFakeDma.h + SpuDoubleBuffer.h + SpuLibspe2Support.h + btThreadSupportInterface.h + Win32ThreadSupport.h + PosixThreadSupport.h + SequentialThreadSupport.h + SpuSampleTaskProcess.h + SpuCollisionObjectWrapper.cpp + SpuCollisionObjectWrapper.h + SpuCollisionTaskProcess.h + SpuGatheringCollisionDispatcher.h + SpuContactManifoldCollisionAlgorithm.h + btParallelConstraintSolver.h + + #SPURS_PEGatherScatterTask/SpuPEGatherScatterTask.h + #SpuPEGatherScatterTaskProcess.h + + #Some GPU related stuff, mainly CUDA and perhaps OpenCL + btGpu3DGridBroadphase.h + btGpu3DGridBroadphaseSharedCode.h + btGpu3DGridBroadphaseSharedDefs.h + btGpu3DGridBroadphaseSharedTypes.h + btGpuDefines.h + btGpuUtilsSharedCode.h + btGpuUtilsSharedDefs.h +) + +SET(SpuNarrowPhaseCollisionTask_HDRS + SpuNarrowPhaseCollisionTask/Box.h + SpuNarrowPhaseCollisionTask/boxBoxDistance.h + SpuNarrowPhaseCollisionTask/SpuContactResult.h + SpuNarrowPhaseCollisionTask/SpuMinkowskiPenetrationDepthSolver.h + SpuNarrowPhaseCollisionTask/SpuConvexPenetrationDepthSolver.h + SpuNarrowPhaseCollisionTask/SpuPreferredPenetrationDirections.h + SpuNarrowPhaseCollisionTask/SpuGatheringCollisionTask.h + SpuNarrowPhaseCollisionTask/SpuCollisionShapes.h +) + +SET(BulletMultiThreaded_HDRS + ${Root_HDRS} + ${SpuNarrowPhaseCollisionTask_HDRS} +) + +ADD_LIBRARY(BulletMultiThreaded ${BulletMultiThreaded_SRCS} ${BulletMultiThreaded_HDRS}) SET_TARGET_PROPERTIES(BulletMultiThreaded PROPERTIES VERSION ${BULLET_VERSION}) SET_TARGET_PROPERTIES(BulletMultiThreaded PROPERTIES SOVERSION ${BULLET_VERSION}) @@ -89,13 +102,22 @@ IF (INSTALL_LIBS) IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) INSTALL(TARGETS BulletMultiThreaded DESTINATION .) ELSE (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) - INSTALL(TARGETS BulletMultiThreaded DESTINATION lib${LIB_SUFFIX}) + INSTALL(TARGETS BulletMultiThreaded DESTINATION lib${LIB_SUFFIX}) INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} DESTINATION ${INCLUDE_INSTALL_DIR} FILES_MATCHING PATTERN "*.h" PATTERN ".svn" EXCLUDE PATTERN "CMakeFiles" EXCLUDE) ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) # ENDIF (INSTALL_EXTRA_LIBS) ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) + + IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + SET_TARGET_PROPERTIES(BulletMultiThreaded PROPERTIES FRAMEWORK true) + + SET_TARGET_PROPERTIES(BulletMultiThreaded PROPERTIES PUBLIC_HEADER "${Root_HDRS}") + # Have to list out sub-directories manually: + SET_PROPERTY(SOURCE ${SpuNarrowPhaseCollisionTask_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/SpuNarrowPhaseCollisionTask) + + ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) ENDIF (INSTALL_LIBS) diff --git a/src/MiniCL/CMakeLists.txt b/src/MiniCL/CMakeLists.txt index bfaaf6b71..9fe5753ac 100644 --- a/src/MiniCL/CMakeLists.txt +++ b/src/MiniCL/CMakeLists.txt @@ -5,17 +5,30 @@ INCLUDE_DIRECTORIES( ${VECTOR_MATH_INCLUDE} ) -ADD_LIBRARY(MiniCL - MiniCL.cpp - MiniCLTaskScheduler.cpp - MiniCLTaskScheduler.h - MiniCLTask/MiniCLTask.cpp - MiniCLTask/MiniCLTask.h - ../MiniCL/cl.h - ../MiniCL/cl_gl.h - ../MiniCL/cl_platform.h - ../MiniCL/cl_MiniCL_Defs.h +SET(MiniCL_SRCS + MiniCL.cpp + MiniCLTaskScheduler.cpp + MiniCLTask/MiniCLTask.cpp ) + +SET(Root_HDRS + MiniCLTaskScheduler.h + cl.h + cl_gl.h + cl_platform.h + cl_MiniCL_Defs.h +) + +SET(MiniCLTask_HDRS + MiniCLTask/MiniCLTask.h +) + +SET(MiniCL_HDRS + ${Root_HDRS} + ${MiniCLTask_HDRS} +) + +ADD_LIBRARY(MiniCL ${MiniCL_SRCS} ${MiniCL_HDRS} ) SET_TARGET_PROPERTIES(MiniCL PROPERTIES VERSION ${BULLET_VERSION}) SET_TARGET_PROPERTIES(MiniCL PROPERTIES SOVERSION ${BULLET_VERSION}) @@ -39,6 +52,15 @@ PATTERN "*.h" PATTERN ".svn" EXCLUDE PATTERN "CMakeFiles" EXCLUDE) ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) # ENDIF (INSTALL_EXTRA_LIBS) ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.5) + + IF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) + SET_TARGET_PROPERTIES(MiniCL PROPERTIES FRAMEWORK true) + + SET_TARGET_PROPERTIES(MiniCL PROPERTIES PUBLIC_HEADER "${Root_HDRS}") + # Have to list out sub-directories manually: + SET_PROPERTY(SOURCE ${MiniCLTask_HDRS} PROPERTY MACOSX_PACKAGE_LOCATION Headers/MiniCLTask) + + ENDIF (APPLE AND BUILD_SHARED_LIBS AND FRAMEWORK) ENDIF (NOT INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES) ENDIF (INSTALL_LIBS)