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