fea3b27930abcbb8db80e2f43b192407b09d1e21
[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   SET(MUSSA_LIBRARIES
29         mussa_core
30         ${BOOST_PYTHON_LIBRARY}
31         ${BOOST_FILESYSTEM_LIBRARY}
32         ${BOOST_SERIALIZATION_LIBRARY}
33         ${OPENGL_gl_LIBRARY}
34         optimized ${QT_QTCORE_LIBRARY_RELEASE}
35         debug ${QT_QTCORE_LIBRARY_DEBUG}
36      )        
37   GET_MUSSA_COMPILE_FLAGS(PY_CFLAGS)
38   GET_MUSSA_LINK_FLAGS(PY_LDFLAGS)
39
40         # configure static core python library  
41   ADD_LIBRARY(mussa_py STATIC ${SOURCES})
42   SET_TARGET_PROPERTIES(mussa_py PROPERTIES 
43                         COMPILE_FLAGS "${PY_CFLAGS}"
44                         LINK_FLAGS "${PY_LDFLAGS}")
45
46   # configure core (shared) python module 
47   ADD_LIBRARY(mussa MODULE ${SOURCES})
48   SET_TARGET_PROPERTIES(mussa PROPERTIES 
49                         PREFIX ""
50                         COMPILE_FLAGS "${PY_CFLAGS}"
51                         LINK_FLAGS "${PY_LDFLAGS}")
52   TARGET_LINK_LIBRARIES(mussa
53                         ${MUSSA_LIBRARIES}
54                         ${PYTHON_LIBRARIES}
55                         )
56   # configure static gui python library
57   ADD_LIBRARY(mussaqui_py STATIC ${QUI_SOURCES})
58   SET_TARGET_PROPERTIES(mussa_py PROPERTIES 
59                         COMPILE_FLAGS "${PY_CFLAGS}"
60                         LINK_FLAGS "${PY_LDFLAGS}")
61                         
62   # configure gui (shared) python library
63   #ADD_LIBRARY(mussaqui MODULE ${QUI_SOURCES})
64   #SET_TARGET_PROPERTIES(mussaqui PROPERTIES 
65   #                     PREFIX ""
66   #                     COMPILE_FLAGS "${PY_CFLAGS}"
67   #                     LINK_FLAGS "${PY_LDFLAGS}")
68   #TARGET_LINK_LIBRARIES(mussaqui
69   #                      mussa_qui
70   #                      ${MUSSA_LIBRARIES}
71   #                      ${PYTHON_LIBRARIES}
72   #                      optimized ${QT_QTGUI_LIBRARY}
73   #                      debug ${QT_QTGUI_LIBRARY_DEBUG}
74   #                      optimized ${QT_QTOPENGL_LIBRARY}
75   #                      debug ${QT_QTOPENGL_LIBRARY_DEBUG}
76   #                     )
77   
78   SET_SOURCE_FILES_PROPERTIES(
79     ${SOURCES}
80     ${QUI_SOURCES}
81     PROPERTIES
82     COMPILE_FLAGS "${PY_CFLAGS}"
83   )
84   SET_TARGET_PROPERTIES(
85     ${STATIC_PYTHON_TARGETS} ${SHARED_PYTHON_TARGETS}
86     PROPERTIES
87     COMPILE_FLAGS "${PY_CFLAGS}"
88     LINK_FLAGS "${PY_LDFLAGS}"
89   )
90
91   IF(PYTHON_EXECUTABLE)
92     SET(PYTEST_DIR ${CMAKE_SOURCE_DIR}/py/test/)
93     ADD_TEST(TestSequence ${PYTHON_EXECUTABLE} ${PYTEST_DIR}/TestSequence.py)
94     ADD_TEST(TestFlp ${PYTHON_EXECUTABLE} ${PYTEST_DIR}/TestFlp.py)
95     ADD_TEST(TestMussa ${PYTHON_EXECUTABLE} ${PYTEST_DIR}/TestMussa.py)
96   ENDIF(PYTHON_EXECUTABLE)
97 ELSE(BOOST_PYTHON_LIBRARY)
98 ENDIF(BOOST_PYTHON_LIBRARY)
99
100 ADD_SUBDIRECTORY(test)