Revision: 8552
          http://playerstage.svn.sourceforge.net/playerstage/?rev=8552&view=rev
Author:   hsujohnhsu
Date:     2010-02-11 21:39:00 +0000 (Thu, 11 Feb 2010)

Log Message:
-----------
 * replacing bullet cmake setup, going
   * from bullet_dynamics_dirs, bullet_collision_dirs, bullet_soft_body_dirs, 
bullet_math_dirs
   * to bullet_include_dirs, bullet_library_dirs and bullet_libraries
 * added set ( FLTK_LIBRARIES and FLTK_INCLUDE_DIRS )
 * added gazebo_lflags so user can set things such as rpath while building 
gazebo-executable

Modified Paths:
--------------
    code/gazebo/trunk/cmake/SearchForStuff.cmake
    code/gazebo/trunk/server/CMakeLists.txt
    code/gazebo/trunk/server/physics/bullet/CMakeLists.txt

Modified: code/gazebo/trunk/cmake/SearchForStuff.cmake
===================================================================
--- code/gazebo/trunk/cmake/SearchForStuff.cmake        2010-02-11 19:18:35 UTC 
(rev 8551)
+++ code/gazebo/trunk/cmake/SearchForStuff.cmake        2010-02-11 21:39:00 UTC 
(rev 8552)
@@ -24,13 +24,20 @@
 set (boost_include_dirs "" CACHE STRING "Boost include paths. Use this to 
override automatic detection.")
 set (boost_library_dirs "" CACHE STRING "Boost library paths. Use this to 
override automatic detection.")
 set (boost_libraries "" CACHE STRING "Boost libraries. Use this to override 
automatic detection.")
-set (bullet_dynamics_dirs "" CACHE STRING "Bullet Dynamics libraries. Use this 
to override automatic detection.")
-set (bullet_collision_dirs "" CACHE STRING "Bullet Collision libraries. Use 
this to override automatic detection.")
-set (bullet_softbody_dirs "" CACHE STRING "Bullet Softbody libraries. Use this 
to override automatic detection.")
-set (bullet_math_dirs "" CACHE STRING "Bullet LinearMath libraries. Use this 
to override automatic detection.")
+
+set (bullet_include_dirs "" CACHE STRING "Bullet include paths. Use this to 
override automatic detection.")
+set (bullet_library_dirs "" CACHE STRING "Bullet library paths. Use this to 
override automatic detection.")
+set (bullet_lflags "" CACHE STRING "Bullet libraries Use this to override 
automatic detection.")
 set (bullet_cflags "-DBT_USE_DOUBLE_PRECISION -DBT_EULER_DEFAULT_ZYX" CACHE 
STRING "Bullet Dynamics C compile flags exported by rospack.")
+
 set (threadpool_include_dirs "" CACHE STRING "Threadpool include paths. Use 
this to override automatic detection.")
 
+SET (gazebo_lflags "" CACHE STRING "Linker flags such as rpath for gazebo 
executable.")
+
+set (FLTK_LIBRARIES "" CACHE STRING "Threadpool include paths. Use this to 
override automatic detection.")
+set (FLTK_INCLUDE_DIR "" CACHE STRING "Threadpool include paths. Use this to 
override automatic detection.")
+
+
 ########################################
 # Find packages
 if (PKG_CONFIG_FOUND)
@@ -392,68 +399,38 @@
 
 ########################################
 # Find bullet
-FIND_PATH( bullet_include_dir btBulletDynamicsCommon.h ${bullet_include_dirs} 
ENV CPATH)
-IF (NOT bullet_include_dir)
-  MESSAGE (STATUS "Looking for btBulletDynamicsCommon.h - not found")
-  SET (bullet_include_dir /usr/include)
-ELSE (NOT bullet_include_dir)
-  MESSAGE (STATUS "Looking for btBulletDynamicsCommon.h - found")
-ENDIF (NOT bullet_include_dir)
+if (NOT bullet_include_dirs AND NOT bullet_library_dirs AND NOT bullet_lflags )
 
-FIND_LIBRARY(bullet_dynamics_library NAMES BulletDynamics 
-  PATHS ${bullet_dynamics_dirs} ENV LD_LIBRARY_PATH)
-FIND_LIBRARY(bullet_collision_library NAMES BulletCollision  
-  PATHS ${bullet_collision_dirs} ENV LD_LIBRARY_PATH)
-FIND_LIBRARY(bullet_softbody_library NAMES BulletSoftBody  
-  PATHS ${bullet_softbody_dirs} ENV LD_LIBRARY_PATH)
-FIND_LIBRARY(bullet_math_library NAMES LinearMath
-  PATHS ${bullet_math_dirs} ENV LD_LIBRARY_PATH)
+  find_path(bullet_include_dir btBulletDynamicsCommon.h ${bullet_include_dirs} 
ENV CPATH)
+  
+  if (NOT bullet_include_dir)
+    #BUILD_ERROR("bullet not found. See the following website for installation 
instructions: http://bullet.sourceforge.net";)
+    message (STATUS "Looking for btBulletDynamicsCommon.h - not found. Using 
built in version.")
+    set (bullet_include_dirs /usr/include CACHE STRING
+      "bullet include paths. Use this to override automatic detection.")
+  else (NOT bullet_include_dir)
+    message (STATUS "Looking for btBulletDynamicsCommon.h - found")
+    set (assim_include_dirs ${bullet_include_dir} CACHE STRING
+      "bullet include paths. Use this to override automatic detection.")
+  endif (NOT bullet_include_dir)
+  
+  find_library(bullet_library BulletDynamics ENV LD_LIBRARY_PATH)
+  
+  if (NOT bullet_library)
+    message (STATUS "Looking for libBulletDynamics - not found. Using builtin 
version.")
+    #BUILD_ERROR("libbullet not found. See the following website for 
installation instructions: http://bullet.sourceforge.net";)
+  else (NOT bullet_library)
+    message (STATUS "Looking for libBulletDynamics - found")
+    APPEND_TO_CACHED_LIST(bullet_lflags
+                          "bullet libraries Use this to override automatic 
detection."
+                          ${bullet_library})
+  endif (NOT bullet_library)
+ 
+  if (NOT bullet_include_dir OR NOT bullet_library)
+    message (STATUS "bullet not found")
+  endif (NOT bullet_include_dir OR NOT bullet_library)
 
-IF (NOT bullet_dynamics_library OR 
-    NOT bullet_collision_library OR 
-    NOT bullet_softbody_library OR
-    NOT bullet_math_library)
-  MESSAGE (STATUS "Looking for bullet libraries - not found")
-ELSE (NOT bullet_dynamics_library OR 
-      NOT bullet_collision_library OR 
-      NOT bullet_softbody_library OR
-      NOT bullet_math_library)
-  MESSAGE (STATUS "Looking for bullet libraries - found")
-ENDIF (NOT bullet_dynamics_library OR 
-       NOT bullet_collision_library OR 
-       NOT bullet_softbody_library OR
-       NOT bullet_math_library)
+endif (NOT bullet_include_dirs AND NOT bullet_library_dirs AND NOT 
bullet_lflags )
 
-IF (bullet_dynamics_library AND 
-    bullet_collision_library AND 
-    bullet_softbody_library  AND 
-    bullet_math_library AND
-    bullet_include_dir)
-  SET (INCLUDE_BULLET TRUE CACHE BOOL "Include support for Bullet")
+set (INCLUDE_BULLET ON BOOL)
 
-  APPEND_TO_CACHED_LIST(bullet_link_libs 
-                        ${bullet_link_libs_desc} 
-                        ${bullet_dynamics_library})
-  APPEND_TO_CACHED_LIST(bullet_link_libs 
-                        ${bullet_link_libs_desc} 
-                        ${bullet_collision_library})
-  APPEND_TO_CACHED_LIST(bullet_link_libs 
-                        ${bullet_link_libs_desc} 
-                        ${bullet_softbody_library})
-  APPEND_TO_CACHED_LIST(bullet_link_libs 
-                        ${bullet_link_libs_desc} 
-                        ${bullet_math_library})
-
-
-ELSE (bullet_dynamics_library AND 
-    bullet_collision_library AND 
-    bullet_softbody_library  AND 
-    bullet_math_library AND
-    bullet_include_dir)
-  SET (INCLUDE_BULLET FALSE CACHE BOOL "Include support for Bullet")
-  MESSAGE (STATUS "Warning: Unable to find bullet. The bullet physics engine 
will not be supported.")
-ENDIF (bullet_dynamics_library AND 
-       bullet_collision_library AND 
-       bullet_softbody_library  AND 
-       bullet_math_library AND
-       bullet_include_dir)

Modified: code/gazebo/trunk/server/CMakeLists.txt
===================================================================
--- code/gazebo/trunk/server/CMakeLists.txt     2010-02-11 19:18:35 UTC (rev 
8551)
+++ code/gazebo/trunk/server/CMakeLists.txt     2010-02-11 21:39:00 UTC (rev 
8552)
@@ -2,8 +2,16 @@
 
 ########################################
 # Include all the search paths for headers
+STRING (REPLACE " " ";" boost_include_dirs_split "${boost_include_dirs}")
+STRING (REPLACE " " ";" assimp_include_dirs_split "${assimp_include_dirs}")
+STRING (REPLACE " " ";" bullet_include_dirs_split "${bullet_include_dirs}")
 STRING (REPLACE " " ";" threadpool_include_dirs_split 
"${threadpool_include_dirs}")
+STRING (REPLACE " " ";" boost_library_dirs_split "${boost_library_dirs}")
+STRING (REPLACE " " ";" assimp_library_dirs_split "${assimp_library_dirs}")
+STRING (REPLACE " " ";" bullet_library_dirs_split "${bullet_library_dirs}")
 
+
+
 INCLUDE_DIRECTORIES(
   .
   ${CMAKE_SOURCE_DIR}/libgazebo 
@@ -24,10 +32,10 @@
   ${LIBAVFORMAT_PATH}
   ${libtool_include_path}
   ${gazeboserver_include_dirs}
-  ${boost_include_dirs}
-  ${assimp_include_dirs}
+  ${boost_include_dirs_split}
+  ${assimp_include_dirs_split}
   ${freeimage_include_dir}
-  ${bullet_include_dir}
+  ${bullet_include_dirs_split}
   ${threadpool_include_dirs_split}
   ${FLTK_INCLUDE_DIR}
 )
@@ -36,12 +44,9 @@
  ${CMAKE_BINARY_DIR}/libgazebo 
  ${CMAKE_BINARY_DIR}/server/gui 
  ${CMAKE_BINARY_DIR}/server/physics/bullet 
- ${boost_library_dirs} 
- ${assimp_library_dirs} 
- ${bullet_dynamics_dirs} 
- ${bullet_collision_dirs} 
- ${bullet_softbody_dirs} 
- ${bullet_math_dirs} 
+ ${boost_library_dirs_split} 
+ ${assimp_library_dirs_split} 
+ ${bullet_library_dirs_split} 
  ${freeimage_library_dir}
  ${gazeboserver_link_dirs} 
 )
@@ -145,6 +150,8 @@
     ${CMAKE_LINK_FLAGS_${CMAKE_BUILD_TYPE}})
 ENDIF (CMAKE_LINK_FLAGS_${CMAKE_BUILD_TYPE})
 
+SET_TARGET_PROPERTIES( gazebo-exec PROPERTIES LINK_FLAGS "${LINK_FLAGS} 
${gazebo_lflags}")
+
 target_link_libraries( gazebo-exec ${libtool_library}
                                    ${gazeboserver_link_libs} 
                                    ${boost_libraries} 
@@ -162,9 +169,8 @@
 target_link_libraries( gazebo_server ${libtool_library} ${freeimage_library} 
gazebo gazebo_rendering gazebo_physics )
 
 if (INCLUDE_BULLET)
-  target_link_libraries(gazebo-exec gazebo_physics_bullet ${bullet_link_libs})
-  target_link_libraries(gazebo-exec BulletDynamics)
-  target_link_libraries(gazebo_server gazebo_physics_bullet 
${bullet_link_libs})
+  target_link_libraries(gazebo-exec gazebo_physics_bullet ${bullet_lflags})
+  target_link_libraries(gazebo_server gazebo_physics_bullet ${bullet_lflags})
 endif (INCLUDE_BULLET)
 
 if (INCLUDE_ODE)

Modified: code/gazebo/trunk/server/physics/bullet/CMakeLists.txt
===================================================================
--- code/gazebo/trunk/server/physics/bullet/CMakeLists.txt      2010-02-11 
19:18:35 UTC (rev 8551)
+++ code/gazebo/trunk/server/physics/bullet/CMakeLists.txt      2010-02-11 
21:39:00 UTC (rev 8552)
@@ -1,5 +1,13 @@
 include (${gazebo_cmake_dir}/GazeboUtils.cmake)
 
+########################################
+# Include all the search paths for headers
+STRING (REPLACE " " ";" boost_include_dirs_split "${boost_include_dirs}")
+STRING (REPLACE " " ";" bullet_include_dirs_split "${bullet_include_dirs}")
+STRING (REPLACE " " ";" threadpool_include_dirs_split 
"${threadpool_include_dirs}")
+STRING (REPLACE " " ";" boost_library_dirs_split "${boost_library_dirs}")
+STRING (REPLACE " " ";" bullet_library_dirs_split "${bullet_library_dirs}")
+
 INCLUDE_DIRECTORIES(
   .
   ${CMAKE_SOURCE_DIR}/libgazebo 
@@ -20,9 +28,9 @@
   ${LIBAVFORMAT_PATH}
   ${libtool_include_path}
   ${gazeboserver_include_dirs}
-  ${boost_include_dirs}
+  ${boost_include_dirs_split}
   ${freeimage_include_dir}
-  ${bullet_include_dir}
+  ${bullet_include_dirs_split}
   ${threadpool_include_dirs_split}
   ${FLTK_INCLUDE_DIR}
 )
@@ -31,11 +39,8 @@
  ${CMAKE_BINARY_DIR}/libgazebo 
  ${CMAKE_BINARY_DIR}/server/gui 
  ${CMAKE_BINARY_DIR}/server/physics/bullet 
- ${boost_library_dirs} 
- ${bullet_dynamics_dirs} 
- ${bullet_collision_dirs} 
- ${bullet_softbody_dirs} 
- ${bullet_math_dirs} 
+ ${boost_library_dirs_split} 
+ ${bullet_library_dirs_split} 
  ${freeimage_library_dir}
  ${gazeboserver_link_dirs} 
 )
@@ -54,8 +59,10 @@
              #BulletRayGeom.cc
 )
 
+
+
 add_definitions(${bullet_cflags})
 #add_definitions(mDBT_USE_DOUBLE_PRECISION -DBT_EULER_DEFAULT_ZYX)
 ADD_LIBRARY(gazebo_physics_bullet SHARED ${sources})
-TARGET_LINK_LIBRARIES( gazebo_physics_bullet BulletDynamics BulletCollision 
LinearMath )
+TARGET_LINK_LIBRARIES( gazebo_physics_bullet ${bullet_lflags} )
 INSTALL( TARGETS gazebo_physics_bullet DESTINATION ${CMAKE_INSTALL_PREFIX}/lib 
)


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
http://p.sf.net/sfu/solaris-dev2dev
_______________________________________________
Playerstage-commit mailing list
Playerstage-commit@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/playerstage-commit

Reply via email to