X-Git-Url: http://woldlab.caltech.edu/gitweb/?p=mussa.git;a=blobdiff_plain;f=CMakeLists.txt;h=59fba73805356ac8808ab569f7d3e18e60f224f9;hp=854ba6e213ce126cc1c9ff6b45269c33b8512a1f;hb=HEAD;hpb=f3b6e8fa194217e3c386a556430d496cd2e09ee7 diff --git a/CMakeLists.txt b/CMakeLists.txt index 854ba6e..59fba73 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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})