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