add python interface to seqcomp
[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   
25   ADD_LIBRARY(mussa MODULE ${SOURCES})
26   ADD_LIBRARY(mussa_py STATIC ${SOURCES})
27   # Any suggestions for a more elegant solution to this? -diane
28   IF(WIN32)
29     ADD_CUSTOM_TARGET(mussa.dll ALL
30                       COMMAND copy libmussa.dll mussa.dll
31                       DEPENDS mussa)
32   ELSE(WIN32)
33     # Not win32, aka linux and mac
34     ADD_CUSTOM_TARGET(mussa.so ALL
35                       COMMAND cp libmussa.so mussa.so
36                       DEPENDS mussa)
37   ENDIF(WIN32)
38   LINK_DIRECTORIES(${CMAKE_BINARY_DIR}/alg)
39   TARGET_LINK_LIBRARIES(mussa 
40                           mussa_core
41                           ${BOOST_PYTHON_LIBRARY}
42                           ${BOOST_FILESYSTEM_LIBRARY}
43                           ${BOOST_SERIALIZATION_LIBRARY}
44                           ${OPENGL_gl_LIBRARY}
45                           ${PYTHON_LIBRARIES}
46                           optimized ${QT_QTCORE_LIBRARY} 
47                           debug ${QT_QTCORE_LIBRARY_DEBUG} 
48                         )
49
50   GET_MUSSA_COMPILE_FLAGS(PY_CFLAGS)
51   GET_MUSSA_LINK_FLAGS(PY_LDFLAGS)
52   SET_SOURCE_FILES_PROPERTIES(
53     ${SOURCES}
54     PROPERTIES
55     COMPILE_FLAGS "${PY_CFLAGS}"
56   )
57   SET_TARGET_PROPERTIES(
58     mussa mussa_py PROPERTIES
59     COMPILE_FLAGS "${PY_CFLAGS}"
60     LINK_FLAGS "${PY_LDFLAGS}"
61   )
62
63   IF(PYTHON_EXECUTABLE)
64     SET(PYTEST_DIR ${CMAKE_SOURCE_DIR}/py/test/)
65     ADD_TEST(TestSequence ${PYTHON_EXECUTABLE} ${PYTEST_DIR}/TestSequence.py)
66     ADD_TEST(TestFlp ${PYTHON_EXECUTABLE} ${PYTEST_DIR}/TestFlp.py)
67   ENDIF(PYTHON_EXECUTABLE)
68 ELSE(BOOST_PYTHON_LIBRARY)
69 ENDIF(BOOST_PYTHON_LIBRARY)
70
71 ADD_SUBDIRECTORY(test)