Update mussa to build on ubuntu 10.04 with qt 4.6.2 +boost 1.40.0.1
[mussa.git] / py / CMakeLists.txt
1 set(Boost_USE_STATIC_LIBS   OFF)
2 set(Boost_USE_MULTITHREADED ON)
3 FIND_PACKAGE(Boost 1.34.1 COMPONENTS python filesystem serialization)
4 FIND_PACKAGE(OpenGL)
5 FIND_PACKAGE(PythonLibs)
6 FIND_PACKAGE(PythonInterp)
7 # SET(QT_DONT_USE_QTGUI 1)
8 FIND_PACKAGE(Qt4)
9 INCLUDE( ${QT_USE_FILE} )
10
11
12 IF(Boost_PYTHON_LIBRARY)
13   INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH} ${QT_INCLUDES})
14   SET(SOURCES 
15         stl_container_adapter.cpp
16         alphabet.cpp
17         annot.cpp
18         annotation_colors.cpp
19         annotations.cpp
20         conserved_path.cpp 
21         drawable.cpp
22         flp.cpp
23         glsequence.cpp
24         module.cpp 
25         mussa.cpp
26         nway_paths.cpp
27         seq_span.cpp
28         sequence.cpp
29         )
30   SET(QUI_SOURCES
31     module_qui.cpp
32     qt.cpp
33     sequence.cpp
34     glsequence.cpp
35     annotation_colors.cpp
36     sequencebrowserwidget.cpp
37   )                        
38   SET(MUSSA_LIBRARIES
39         mussa_core
40         ${Boost_PYTHON_LIBRARY}
41         ${Boost_SYSTEM_LIBRARY}
42         ${Boost_FILESYSTEM_LIBRARY}
43         ${Boost_SERIALIZATION_LIBRARY}
44         ${OPENGL_gl_LIBRARY}
45         ${QT_QTCORE_LIBRARY}
46         #optimized ${QT_QTCORE_LIBRARY_RELEASE}
47         #debug ${QT_QTCORE_LIBRARY_DEBUG}
48      )        
49   GET_MUSSA_COMPILE_FLAGS(PY_CFLAGS)
50   GET_MUSSA_LINK_FLAGS(PY_LDFLAGS)
51
52         # configure static core python library  
53   ADD_LIBRARY(mussa_py STATIC ${SOURCES})
54   SET_TARGET_PROPERTIES(mussa_py PROPERTIES 
55                         COMPILE_FLAGS "${PY_CFLAGS}"
56                         LINK_FLAGS "${PY_LDFLAGS}")
57
58   # configure core (shared) python module 
59   ADD_LIBRARY(mussa MODULE ${SOURCES})
60   SET_TARGET_PROPERTIES(mussa PROPERTIES 
61                         PREFIX ""
62                         COMPILE_FLAGS "${PY_CFLAGS}"
63                         LINK_FLAGS "${PY_LDFLAGS}")
64   TARGET_LINK_LIBRARIES(mussa
65                         ${MUSSA_LIBRARIES}
66                         ${PYTHON_LIBRARIES}
67                         )
68   # configure static gui python library
69   #ADD_LIBRARY(mussaqui_py STATIC ${QUI_SOURCES})
70   #  SET_TARGET_PROPERTIES(mussa_py PROPERTIES 
71   #                        COMPILE_FLAGS "${PY_CFLAGS}"
72   #                        LINK_FLAGS "${PY_LDFLAGS}")
73                         
74   # configure gui (shared) python library
75   ADD_LIBRARY(mussaqui MODULE ${QUI_SOURCES})
76   SET_TARGET_PROPERTIES(mussaqui PROPERTIES 
77                        PREFIX ""
78                        COMPILE_FLAGS "${PY_CFLAGS}"
79                        LINK_FLAGS "${PY_LDFLAGS}")
80   TARGET_LINK_LIBRARIES(mussaqui
81                         mussa_qui
82                         ${MUSSA_LIBRARIES}
83                         ${PYTHON_LIBRARIES}
84                         ${QT_QTGUI_LIBRARY}
85                         ${QT_QTOPENGL_LIBRARY}
86                        )
87   
88   SET_SOURCE_FILES_PROPERTIES(
89     ${SOURCES}
90     ${QUI_SOURCES}
91     PROPERTIES
92     COMPILE_FLAGS "${PY_CFLAGS}"
93   )
94   SET_TARGET_PROPERTIES(
95     ${STATIC_PYTHON_TARGETS} ${SHARED_PYTHON_TARGETS}
96     PROPERTIES
97     COMPILE_FLAGS "${PY_CFLAGS}"
98     LINK_FLAGS "${PY_LDFLAGS}"
99   )
100
101   IF(PYTHON_EXECUTABLE)
102     SET(PYTEST_DIR ${CMAKE_SOURCE_DIR}/py/test/)
103     ADD_TEST(TestAnnotations 
104                      ${PYTHON_EXECUTABLE} ${PYTEST_DIR}/TestAnnotations.py)
105     ADD_TEST(TestSeqSpan ${PYTHON_EXECUTABLE} ${PYTEST_DIR}/TestSeqSpan.py)
106     ADD_TEST(TestSequence ${PYTHON_EXECUTABLE} ${PYTEST_DIR}/TestSequence.py)
107     ADD_TEST(TestFlp ${PYTHON_EXECUTABLE} ${PYTEST_DIR}/TestFlp.py)
108     ADD_TEST(TestMussa ${PYTHON_EXECUTABLE} ${PYTEST_DIR}/TestMussa.py)
109   ENDIF(PYTHON_EXECUTABLE)
110 ELSE(Boost_PYTHON_LIBRARY)
111   MESSAGE(STATUS "Not building mussa python extension, Boost python not found")
112 ENDIF(Boost_PYTHON_LIBRARY)
113
114 ADD_SUBDIRECTORY(test)