add prototype wrapping of the qt sequence browser
[mussa.git] / py / CMakeLists.txt
index 869faad95388fed5f2384c858d1470ed8c13a210..0a7fdc2f6001e2be0fff90e392aeee0fa5b783a3 100644 (file)
@@ -2,7 +2,7 @@ FIND_PACKAGE(Boost)
 FIND_PACKAGE(OpenGL)
 FIND_PACKAGE(PythonLibs)
 FIND_PACKAGE(PythonInterp)
-SET(QT_DONT_USE_QTGUI 1)
+SET(QT_DONT_USE_QTGUI 1)
 FIND_PACKAGE(Qt4)
 INCLUDE( ${QT_USE_FILE} )
 
@@ -17,47 +17,76 @@ IF(BOOST_PYTHON_LIBRARY)
         glsequence.cpp
         module.cpp 
         mussa.cpp
-        # MussaWindow.cpp
         nway_paths.cpp
         sequence.cpp
         )
   SET(QUI_SOURCES
     module_qui.cpp
-    MussaWindow.cpp
-  )
-  ADD_LIBRARY(mussa MODULE ${SOURCES})
-  ADD_LIBRARY(mussa_py STATIC ${SOURCES})
-  ADD_LIBRARY(mussa_qui_py STATIC ${QUI_SOURCES})
-  # Any suggestions for a more elegant solution to this? -diane
-  IF(WIN32)
-    ADD_CUSTOM_TARGET(mussa.dll ALL
-                      COMMAND copy libmussa.dll mussa.dll
-                      DEPENDS mussa)
-  ELSE(WIN32)
-    # Not win32, aka linux and mac
-    ADD_CUSTOM_TARGET(mussa.so ALL
-                      COMMAND cp libmussa.so mussa.so
-                      DEPENDS mussa)
-  ENDIF(WIN32)
-  TARGET_LINK_LIBRARIES(mussa 
-                          mussa_core
-                          ${BOOST_PYTHON_LIBRARY}
-                          ${BOOST_FILESYSTEM_LIBRARY}
-                          ${BOOST_SERIALIZATION_LIBRARY}
-                          ${OPENGL_gl_LIBRARY}
-                          ${PYTHON_LIBRARIES}
-                          optimized ${QT_QTCORE_LIBRARY} 
-                          debug ${QT_QTCORE_LIBRARY_DEBUG} 
-                        )
+    qt.cpp
+    sequence.cpp
+    glsequence.cpp
+    annotation_colors.cpp
+    sequencebrowserwidget.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)
+
+       # configure static core python library  
+  ADD_LIBRARY(mussa_py STATIC ${SOURCES})
+  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(
-    mussa mussa_py mussa_qui_py PROPERTIES
+    ${STATIC_PYTHON_TARGETS} ${SHARED_PYTHON_TARGETS}
+    PROPERTIES
     COMPILE_FLAGS "${PY_CFLAGS}"
     LINK_FLAGS "${PY_LDFLAGS}"
   )