provide python interpreter for mussa qui via a seperate thread
[mussa.git] / py / CMakeLists.txt
1 FIND_PACKAGE(Boost)
2 FIND_PACKAGE(OpenGL)
3 FIND_PACKAGE(PythonLibs)
4 FIND_PACKAGE(PythonInterp)
5 SET(QT_DONT_USE_QTGUI 1)
6 FIND_PACKAGE(Qt4)
7 INCLUDE( ${QT_USE_FILE} )
8
9
10 IF(BOOST_PYTHON_LIBRARY)
11   INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH} ${QT_INCLUDES})
12   SET(SOURCES 
13         annot.cpp
14         annotation_colors.cpp
15         conserved_path.cpp 
16         flp.cpp
17         glsequence.cpp
18         module.cpp 
19         mussa.cpp
20         # MussaWindow.cpp
21         nway_paths.cpp
22         sequence.cpp
23         )
24   SET(QUI_SOURCES
25     module_qui.cpp
26     MussaWindow.cpp
27   )
28   ADD_LIBRARY(mussa MODULE ${SOURCES})
29   ADD_LIBRARY(mussa_py STATIC ${SOURCES})
30   ADD_LIBRARY(mussa_qui_py STATIC ${QUI_SOURCES})
31   # Any suggestions for a more elegant solution to this? -diane
32   IF(WIN32)
33     ADD_CUSTOM_TARGET(mussa.dll ALL
34                       COMMAND copy libmussa.dll mussa.dll
35                       DEPENDS mussa)
36   ELSE(WIN32)
37     # Not win32, aka linux and mac
38     ADD_CUSTOM_TARGET(mussa.so ALL
39                       COMMAND cp libmussa.so mussa.so
40                       DEPENDS mussa)
41   ENDIF(WIN32)
42   TARGET_LINK_LIBRARIES(mussa 
43                           mussa_core
44                           ${BOOST_PYTHON_LIBRARY}
45                           ${BOOST_FILESYSTEM_LIBRARY}
46                           ${BOOST_SERIALIZATION_LIBRARY}
47                           ${OPENGL_gl_LIBRARY}
48                           ${PYTHON_LIBRARIES}
49                           optimized ${QT_QTCORE_LIBRARY} 
50                           debug ${QT_QTCORE_LIBRARY_DEBUG} 
51                         )
52   GET_MUSSA_COMPILE_FLAGS(PY_CFLAGS)
53   GET_MUSSA_LINK_FLAGS(PY_LDFLAGS)
54   SET_SOURCE_FILES_PROPERTIES(
55     ${SOURCES}
56     PROPERTIES
57     COMPILE_FLAGS "${PY_CFLAGS}"
58   )
59   SET_TARGET_PROPERTIES(
60     mussa mussa_py mussa_qui_py PROPERTIES
61     COMPILE_FLAGS "${PY_CFLAGS}"
62     LINK_FLAGS "${PY_LDFLAGS}"
63   )
64
65   IF(PYTHON_EXECUTABLE)
66     SET(PYTEST_DIR ${CMAKE_SOURCE_DIR}/py/test/)
67     ADD_TEST(TestSequence ${PYTHON_EXECUTABLE} ${PYTEST_DIR}/TestSequence.py)
68     ADD_TEST(TestFlp ${PYTHON_EXECUTABLE} ${PYTEST_DIR}/TestFlp.py)
69     ADD_TEST(TestMussa ${PYTHON_EXECUTABLE} ${PYTEST_DIR}/TestMussa.py)
70   ENDIF(PYTHON_EXECUTABLE)
71 ELSE(BOOST_PYTHON_LIBRARY)
72 ENDIF(BOOST_PYTHON_LIBRARY)
73
74 ADD_SUBDIRECTORY(test)