cmake was trying to link -loptimized
[mussa.git] / py / CMakeLists.txt
index 8e0a6ff767bd7a3f951989af0e724a8754227a1a..fea3b27930abcbb8db80e2f43b192407b09d1e21 100644 (file)
@@ -2,48 +2,99 @@ FIND_PACKAGE(Boost)
 FIND_PACKAGE(OpenGL)
 FIND_PACKAGE(PythonLibs)
 FIND_PACKAGE(PythonInterp)
-SET(QT_USE_QTOPENGL 1)
-SET(QT_USE_QTASSISTANT 1)
-SET(QT_USE_QTNETWORK 1)
+SET(QT_DONT_USE_QTGUI 1)
 FIND_PACKAGE(Qt4)
 INCLUDE( ${QT_USE_FILE} )
 
 
-# IF(BOOST_PYTHON_LIB)
+IF(BOOST_PYTHON_LIBRARY)
   INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH} ${QT_INCLUDES})
   SET(SOURCES 
+        annot.cpp
+        annotation_colors.cpp
         conserved_path.cpp 
+        flp.cpp
         glsequence.cpp
         module.cpp 
         mussa.cpp
-        MussaWindow.cpp
+        MussaWindow.cpp
         nway_paths.cpp
         sequence.cpp
         )
-  
-  #SET_SOURCE_FILES_PROPERTIES(${SOURCES} COM
+  SET(QUI_SOURCES
+    module_qui.cpp
+    MussaWindow.cpp
+  )                        
+  SET(MUSSA_LIBRARIES
+        mussa_core
+        ${BOOST_PYTHON_LIBRARY}
+        ${BOOST_FILESYSTEM_LIBRARY}
+        ${BOOST_SERIALIZATION_LIBRARY}
+        ${OPENGL_gl_LIBRARY}
+        optimized ${QT_QTCORE_LIBRARY_RELEASE}
+        debug ${QT_QTCORE_LIBRARY_DEBUG}
+     )        
+  GET_MUSSA_COMPILE_FLAGS(PY_CFLAGS)
+  GET_MUSSA_LINK_FLAGS(PY_LDFLAGS)
 
-  ADD_LIBRARY(mussa MODULE ${SOURCES})
+       # configure static core python library  
   ADD_LIBRARY(mussa_py STATIC ${SOURCES})
-  ADD_CUSTOM_TARGET(mussa.so ALL
-                     COMMAND cp libmussa.so mussa.so
-                     DEPENDS mussa)
-  LINK_DIRECTORIES(${MUSSA_BINARY_DIR}/alg)
-  TARGET_LINK_LIBRARIES(mussa 
-                          mussa_core
-                          mussa_qui
-                          ${BOOST_PYTHON_LIBRARY}
-                          ${BOOST_FILESYSTEM_LIBRARY}
-                          ${OPENGL_gl_LIBRARY}
-                          ${PYTHON_LIBRARIES}
-                          ${QT_LIBRARIES} 
+  SET_TARGET_PROPERTIES(mussa_py PROPERTIES 
+                        COMPILE_FLAGS "${PY_CFLAGS}"
+                        LINK_FLAGS "${PY_LDFLAGS}")
+
+  # configure core (shared) python module 
+  ADD_LIBRARY(mussa MODULE ${SOURCES})
+  SET_TARGET_PROPERTIES(mussa PROPERTIES 
+                        PREFIX ""
+                        COMPILE_FLAGS "${PY_CFLAGS}"
+                        LINK_FLAGS "${PY_LDFLAGS}")
+  TARGET_LINK_LIBRARIES(mussa
+                        ${MUSSA_LIBRARIES}
+                        ${PYTHON_LIBRARIES}
                         )
+  # configure static gui python library
+  ADD_LIBRARY(mussaqui_py STATIC ${QUI_SOURCES})
+  SET_TARGET_PROPERTIES(mussa_py PROPERTIES 
+                        COMPILE_FLAGS "${PY_CFLAGS}"
+                        LINK_FLAGS "${PY_LDFLAGS}")
+                        
+  # configure gui (shared) python library
+  #ADD_LIBRARY(mussaqui MODULE ${QUI_SOURCES})
+  #SET_TARGET_PROPERTIES(mussaqui PROPERTIES 
+  #                     PREFIX ""
+  #                     COMPILE_FLAGS "${PY_CFLAGS}"
+  #                     LINK_FLAGS "${PY_LDFLAGS}")
+  #TARGET_LINK_LIBRARIES(mussaqui
+  #                      mussa_qui
+  #                      ${MUSSA_LIBRARIES}
+  #                      ${PYTHON_LIBRARIES}
+  #                      optimized ${QT_QTGUI_LIBRARY}
+  #                      debug ${QT_QTGUI_LIBRARY_DEBUG}
+  #                      optimized ${QT_QTOPENGL_LIBRARY}
+  #                      debug ${QT_QTOPENGL_LIBRARY_DEBUG}
+  #                     )
+  
+  SET_SOURCE_FILES_PROPERTIES(
+    ${SOURCES}
+    ${QUI_SOURCES}
+    PROPERTIES
+    COMPILE_FLAGS "${PY_CFLAGS}"
+  )
+  SET_TARGET_PROPERTIES(
+    ${STATIC_PYTHON_TARGETS} ${SHARED_PYTHON_TARGETS}
+    PROPERTIES
+    COMPILE_FLAGS "${PY_CFLAGS}"
+    LINK_FLAGS "${PY_LDFLAGS}"
+  )
 
   IF(PYTHON_EXECUTABLE)
-    SET(PYTHON_TEST_DIR ${CMAKE_SOURCE_DIR}/py/test/)
-    ADD_TEST(sequence_py 
-             ${PYTHON_EXECUTABLE} ${PYTHON_TEST_DIR}/TestSequence.py)
+    SET(PYTEST_DIR ${CMAKE_SOURCE_DIR}/py/test/)
+    ADD_TEST(TestSequence ${PYTHON_EXECUTABLE} ${PYTEST_DIR}/TestSequence.py)
+    ADD_TEST(TestFlp ${PYTHON_EXECUTABLE} ${PYTEST_DIR}/TestFlp.py)
+    ADD_TEST(TestMussa ${PYTHON_EXECUTABLE} ${PYTEST_DIR}/TestMussa.py)
   ENDIF(PYTHON_EXECUTABLE)
-#ELSE(BOOST_PYTHON_LIB)
-#ENDIF(BOOST_PYTHON_LIB)
+ELSE(BOOST_PYTHON_LIBRARY)
+ENDIF(BOOST_PYTHON_LIBRARY)
 
+ADD_SUBDIRECTORY(test)