4 CMAKE_MINIMUM_REQUIRED(VERSION 2.4)
5 # try to include our cmake modules
6 SET (CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/makelib)
9 IF(NOT CMAKE_BUILD_TYPE)
10 SET (CMAKE_BUILD_TYPE Debug CACHE STRING
11 "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel."
13 ENDIF(NOT CMAKE_BUILD_TYPE)
15 # include packages we depend on
17 SET(QT_USE_QTOPENGL 1)
18 IF(QT_QTASSISTANT_FOUND)
19 SET(QT_USE_QTNETWORK 1)
20 SET(QT_USE_QTASSISTANT 1)
21 ENDIF(QT_QTASSISTANT_FOUND)
22 INCLUDE( ${QT_USE_FILE} )
24 FIND_PACKAGE(Boost 1.34.1 COMPONENTS filesystem serialization program_options python)
25 FIND_PACKAGE(PythonLibs)
27 SET(USE_PYTHON 0 CACHE BOOL
28 "Build mussa executable linked to python interpreter")
30 INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH}
32 ${Boost_INCLUDE_DIR} )
35 # all of our source files al relative to the root of our project
36 INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR})
37 ADD_SUBDIRECTORY( doc )
38 IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/paircomp)
39 MESSAGE(STATUS "Found paircomp")
41 ADD_SUBDIRECTORY( paircomp )
42 ENDIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/paircomp)
43 ADD_SUBDIRECTORY( alg )
44 ADD_SUBDIRECTORY( qui )
45 ADD_SUBDIRECTORY( py )
50 ADD_EXECUTABLE(mussagl WIN32 MACOSX_BUNDLE ${MAIN_SOURCES} )
52 # For windows you need to go from library with the most dependencies
53 # to the library with the least dependencies -diane
54 TARGET_LINK_LIBRARIES(mussagl
58 # Including QT_LIBS twice is for dealing with linking dependancies
59 # related to Qt Assistant Client on windows
61 ${Boost_FILESYSTEM_LIBRARY}
62 ${Boost_SERIALIZATION_LIBRARY}
63 ${Boost_PROGRAM_OPTIONS_LIBRARY}
68 SET(PYTHON_CFLAGS "-DUSE_PYTHON")
69 TARGET_LINK_LIBRARIES(mussagl
73 ${Boost_PYTHON_LIBRARY}
75 ${PYTHON_LINK_LIBRARIES})
78 GET_MUSSA_COMPILE_FLAGS(MAIN_CFLAGS)
79 GET_MUSSA_LINK_FLAGS(MAIN_LDFLAGS)
81 SET_SOURCE_FILES_PROPERTIES(
84 COMPILE_FLAGS "${MAIN_CFLAGS} ${PYTHON_CFLAGS}"
86 SET_TARGET_PROPERTIES(
88 COMPILE_FLAGS "${MAIN_CFLAGS}"
89 LINK_FLAGS "${MAIN_LDFLAGS}"
92 # we need Cocoa in order to find where our base directory is (AKA bundle)
94 SET(COCOA_LIBRARY "-framework Cocoa")
95 TARGET_LINK_LIBRARIES(mussagl ${COCOA_LIBRARY})
96 SET(MACOSX_BUNDLE_BUNDLE_NAME "Mussa")
97 SET(MACOSX_BUNDLE_LONG_VERSION_STRING "Mussa Copyright 2004-2006 California Institute of Technology")
98 SET(MACOSX_BUNDLE_COPYRIGHT "Copyright 2004-2006 California Institute of Technology")
99 SET(MACOSX_BUNDLE_ICON_FILE "mussa.icns")
101 SET(APP_DIR ${CMAKE_BINARY_DIR}/mussagl.app/Contents)
102 SET(RESOURCE_DIR ${APP_DIR}/Resources})
104 ADD_CUSTOM_TARGET(mussa.icns ALL
105 cmake -E copy_directory ${CMAKE_SOURCE_DIR}/icons/osx