Update mussa to build on ubuntu 10.04 with qt 4.6.2 +boost 1.40.0.1
[mussa.git] / CMakeLists.txt
index 854ba6e213ce126cc1c9ff6b45269c33b8512a1f..59fba73805356ac8808ab569f7d3e18e60f224f9 100644 (file)
@@ -1,9 +1,10 @@
 PROJECT(mussa)
 
 ENABLE_TESTING()
-CMAKE_MINIMUM_REQUIRED(VERSION 2.4)
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
 # try to include our cmake modules
 SET (CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/makelib)
+INCLUDE(Platform)
 
 IF(NOT CMAKE_BUILD_TYPE)
   SET (CMAKE_BUILD_TYPE Debug CACHE STRING
@@ -11,9 +12,6 @@ IF(NOT CMAKE_BUILD_TYPE)
       FORCE)
 ENDIF(NOT CMAKE_BUILD_TYPE)
 
-# configure python
-SET(USE_PYTHON 1)
-
 # include packages we depend on
 FIND_PACKAGE(Qt4)
 SET(QT_USE_QTOPENGL 1)
@@ -23,12 +21,28 @@ IF(QT_QTASSISTANT_FOUND)
 ENDIF(QT_QTASSISTANT_FOUND)
 INCLUDE( ${QT_USE_FILE} )
 FIND_PACKAGE(OpenGL)
-FIND_PACKAGE(Boost)
+set(Boost_USE_STATIC_LIBS   OFF)
+set(Boost_USE_MULTITHREADED ON)
+FIND_PACKAGE(Boost 1.40 REQUIRED filesystem serialization system program_options )
+FIND_PACKAGE(Boost 1.40 COMPONENTS python)
 FIND_PACKAGE(PythonLibs)
 
+SET(USE_PYTHON 0 CACHE BOOL
+    "Build mussa executable linked to python interpreter")
+
+INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH} 
+                    ${QT_INCLUDES}
+                    ${Boost_INCLUDE_DIR} )
+
+
 # all of our source files al relative to the root of our project
 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR})
 ADD_SUBDIRECTORY( doc )
+IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/paircomp) 
+  MESSAGE(STATUS "Found paircomp")
+  SET(USE_PAIRCOMP 1)
+  ADD_SUBDIRECTORY( paircomp )
+ENDIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/paircomp)
 ADD_SUBDIRECTORY( alg )
 ADD_SUBDIRECTORY( qui )
 ADD_SUBDIRECTORY( py )
@@ -38,25 +52,31 @@ SET(MAIN_SOURCES
 
 ADD_EXECUTABLE(mussagl WIN32 MACOSX_BUNDLE ${MAIN_SOURCES} )
 
+# For windows you need to go from library with the most dependencies
+# to the library with the least dependencies -diane
 TARGET_LINK_LIBRARIES(mussagl 
-                        mussa_core
                         mussa_qui
+                        mussa_core
                         ${QT_LIBRARIES}
+                        # Including QT_LIBS twice is for dealing with linking dependancies
+                        # related to Qt Assistant Client on windows
+                        ${QT_LIBRARIES}  
+                        ${Boost_FILESYSTEM_LIBRARY}
+                        ${Boost_SERIALIZATION_LIBRARY}
+                        ${Boost_SYSTEM_LIBRARY}
+                        ${Boost_PROGRAM_OPTIONS_LIBRARY}
                         ${OPENGL_gl_LIBRARY}
-                        ${BOOST_PROGRAM_OPTIONS_LIBRARY}
-                        ${BOOST_FILESYSTEM_LIBRARY}
-                        ${BOOST_SERIALIZATION_LIBRARY}
                       )
 
 IF(USE_PYTHON)
-  INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH})
   SET(PYTHON_CFLAGS "-DUSE_PYTHON")
   TARGET_LINK_LIBRARIES(mussagl
-                          mussa_py
-                          ${BOOST_PYTHON_LIBRARY}
-                          optimized ${PYTHON_LIBRARIES}
-                          debug ${PYTHON_DEBUG_LIBRARIES}
-                        )
+        mussa_py
+        ${QT_LIBRARIES}
+#mussaqui_py
+        ${Boost_PYTHON_LIBRARY}
+        ${PYTHON_LIBRARIES}
+        ${PYTHON_LINK_LIBRARIES})
 ENDIF(USE_PYTHON)
 
 GET_MUSSA_COMPILE_FLAGS(MAIN_CFLAGS)
@@ -80,7 +100,7 @@ IF(APPLE)
   SET(MACOSX_BUNDLE_BUNDLE_NAME "Mussa")
   SET(MACOSX_BUNDLE_LONG_VERSION_STRING "Mussa Copyright 2004-2006 California Institute of Technology")
   SET(MACOSX_BUNDLE_COPYRIGHT "Copyright 2004-2006 California Institute of Technology")
-  SET(MACOSX_BUNDLE_ICON_FILE "mussa")
+  SET(MACOSX_BUNDLE_ICON_FILE "mussa.icns")
 
   SET(APP_DIR ${CMAKE_BINARY_DIR}/mussagl.app/Contents)
   SET(RESOURCE_DIR ${APP_DIR}/Resources})