make it possible to build mussa with python
[mussa.git] / py / CMakeLists.txt
1 FIND_PACKAGE(Boost)
2 FIND_PACKAGE(OpenGL)
3 FIND_PACKAGE(PythonLibs)
4 FIND_PACKAGE(PythonInterp)
5 SET(QT_USE_QTOPENGL 1)
6 SET(QT_USE_QTASSISTANT 1)
7 SET(QT_USE_QTNETWORK 1)
8 FIND_PACKAGE(Qt4)
9 INCLUDE( ${QT_USE_FILE} )
10
11
12 IF(BOOST_PYTHON_LIBRARY)
13   INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH} ${QT_INCLUDES})
14   SET(SOURCES 
15         conserved_path.cpp 
16         glsequence.cpp
17         module.cpp 
18         mussa.cpp
19         MussaWindow.cpp
20         nway_paths.cpp
21         sequence.cpp
22         )
23   
24   ADD_LIBRARY(mussa MODULE ${SOURCES})
25   ADD_LIBRARY(mussa_py STATIC ${SOURCES})
26   ADD_CUSTOM_TARGET(mussa.so ALL
27                      COMMAND cp libmussa.so mussa.so
28                      DEPENDS mussa)
29   LINK_DIRECTORIES(${MUSSA_BINARY_DIR}/alg)
30   TARGET_LINK_LIBRARIES(mussa 
31                           mussa_core
32                           mussa_qui
33                           ${BOOST_PYTHON_LIBRARY}
34                           ${BOOST_FILESYSTEM_LIBRARY}
35                           ${OPENGL_gl_LIBRARY}
36                           ${PYTHON_LIBRARIES}
37                           ${QT_LIBRARIES} 
38                         )
39
40   GET_MUSSA_COMPILE_FLAGS(PY_CFLAGS)
41   GET_MUSSA_LINK_FLAGS(PY_LDFLAGS)
42   SET_SOURCE_FILES_PROPERTIES(
43     ${SOURCES}
44     PROPERTIES
45     COMPILE_FLAGS "${PY_CFLAGS}"
46   )
47   SET_TARGET_PROPERTIES(
48     mussa mussa_py PROPERTIES
49     COMPILE_FLAGS "${PY_CFLAGS}"
50     LINK_FLAGS "${PY_LDFLAGS}"
51   )
52
53   IF(PYTHON_EXECUTABLE)
54     SET(PYTHON_TEST_DIR ${CMAKE_SOURCE_DIR}/py/test/)
55     ADD_TEST(sequence_py 
56              ${PYTHON_EXECUTABLE} ${PYTHON_TEST_DIR}/TestSequence.py)
57   ENDIF(PYTHON_EXECUTABLE)
58 ELSE(BOOST_PYTHON_LIBRARY)
59 ENDIF(BOOST_PYTHON_LIBRARY)
60