Reorder libraries for win32
[mussa.git] / py / CMakeLists.txt
1 FIND_PACKAGE(Boost)
2 FIND_PACKAGE(OpenGL)
3 FIND_PACKAGE(PythonLibs)
4 FIND_PACKAGE(PythonInterp)
5 SET(QT_USE_QTOPENGL 1)
6 SET(QT_USE_QTASSISTANT 1)
7 SET(QT_USE_QTNETWORK 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         annot.cpp
16         annotation_colors.cpp
17         conserved_path.cpp 
18         glsequence.cpp
19         module.cpp 
20         mussa.cpp
21         #MussaWindow.cpp
22         nway_paths.cpp
23         sequence.cpp
24         )
25   
26   ADD_LIBRARY(mussa MODULE ${SOURCES})
27   ADD_LIBRARY(mussa_py STATIC ${SOURCES})
28   # Any suggestions for a more elegant solution to this? -diane
29   IF(WIN32)
30     ADD_CUSTOM_TARGET(mussa.dll ALL
31                       COMMAND copy libmussa.dll mussa.dll
32                       DEPENDS mussa)
33   ELSE(WIN32)
34     # Not win32, aka linux and mac
35     ADD_CUSTOM_TARGET(mussa.so ALL
36                       COMMAND cp libmussa.so mussa.so
37                       DEPENDS mussa)
38   ENDIF(WIN32)
39   LINK_DIRECTORIES(${CMAKE_BINARY_DIR}/alg)
40   TARGET_LINK_LIBRARIES(mussa 
41                           mussa_core
42                           mussa_qui
43                           ${BOOST_PYTHON_LIBRARY}
44                           ${BOOST_FILESYSTEM_LIBRARY}
45                           ${BOOST_SERIALIZATION_LIBRARY}
46                           ${OPENGL_gl_LIBRARY}
47                           ${PYTHON_LIBRARIES}
48                           ${QT_LIBRARIES} 
49                         )
50
51   GET_MUSSA_COMPILE_FLAGS(PY_CFLAGS)
52   GET_MUSSA_LINK_FLAGS(PY_LDFLAGS)
53   SET_SOURCE_FILES_PROPERTIES(
54     ${SOURCES}
55     PROPERTIES
56     COMPILE_FLAGS "${PY_CFLAGS}"
57   )
58   SET_TARGET_PROPERTIES(
59     mussa mussa_py PROPERTIES
60     COMPILE_FLAGS "${PY_CFLAGS}"
61     LINK_FLAGS "${PY_LDFLAGS}"
62   )
63
64   IF(PYTHON_EXECUTABLE)
65     SET(PYTHON_TEST_DIR ${CMAKE_SOURCE_DIR}/py/test/)
66     ADD_TEST(sequence_py 
67              ${PYTHON_EXECUTABLE} ${PYTHON_TEST_DIR}/TestSequence.py)
68   ENDIF(PYTHON_EXECUTABLE)
69 ELSE(BOOST_PYTHON_LIBRARY)
70 ENDIF(BOOST_PYTHON_LIBRARY)
71
72 ADD_SUBDIRECTORY(test)