add annot and motif classes to python interface
[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         annot.cpp
16         annotation_colors.cpp
17         conserved_path.cpp 
18         glsequence.cpp
19         module.cpp 
20         mussa.cpp
21         MussaWindow.cpp
22         nway_paths.cpp
23         sequence.cpp
24         )
25   
26   ADD_LIBRARY(mussa MODULE ${SOURCES})
27   ADD_LIBRARY(mussa_py STATIC ${SOURCES})
28   ADD_CUSTOM_TARGET(mussa.so ALL
29                      COMMAND cp libmussa.so mussa.so
30                      DEPENDS mussa)
31   LINK_DIRECTORIES(${MUSSA_BINARY_DIR}/alg)
32   TARGET_LINK_LIBRARIES(mussa 
33                           mussa_core
34                           mussa_qui
35                           ${BOOST_PYTHON_LIBRARY}
36                           ${BOOST_FILESYSTEM_LIBRARY}
37                           ${OPENGL_gl_LIBRARY}
38                           ${PYTHON_LIBRARIES}
39                           ${QT_LIBRARIES} 
40                         )
41
42   GET_MUSSA_COMPILE_FLAGS(PY_CFLAGS)
43   GET_MUSSA_LINK_FLAGS(PY_LDFLAGS)
44   SET_SOURCE_FILES_PROPERTIES(
45     ${SOURCES}
46     PROPERTIES
47     COMPILE_FLAGS "${PY_CFLAGS}"
48   )
49   SET_TARGET_PROPERTIES(
50     mussa mussa_py PROPERTIES
51     COMPILE_FLAGS "${PY_CFLAGS}"
52     LINK_FLAGS "${PY_LDFLAGS}"
53   )
54
55   IF(PYTHON_EXECUTABLE)
56     SET(PYTHON_TEST_DIR ${CMAKE_SOURCE_DIR}/py/test/)
57     ADD_TEST(sequence_py 
58              ${PYTHON_EXECUTABLE} ${PYTHON_TEST_DIR}/TestSequence.py)
59   ENDIF(PYTHON_EXECUTABLE)
60 ELSE(BOOST_PYTHON_LIBRARY)
61 ENDIF(BOOST_PYTHON_LIBRARY)
62