-FIND_PACKAGE(Boost)
+set(Boost_USE_STATIC_LIBS ON)
+set(Boost_USE_MULTITHREADED ON)
+FIND_PACKAGE(Boost 1.34.1 COMPONENTS python filesystem serialization)
FIND_PACKAGE(OpenGL)
FIND_PACKAGE(PythonLibs)
FIND_PACKAGE(PythonInterp)
+# SET(QT_DONT_USE_QTGUI 1)
+FIND_PACKAGE(Qt4)
+INCLUDE( ${QT_USE_FILE} )
-# IF(BOOST_PYTHON_LIB)
- INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH})
+
+IF(Boost_PYTHON_LIBRARY)
+ INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH} ${QT_INCLUDES})
SET(SOURCES
+ stl_container_adapter.cpp
+ alphabet.cpp
+ annot.cpp
+ annotation_colors.cpp
+ annotations.cpp
conserved_path.cpp
+ drawable.cpp
+ flp.cpp
glsequence.cpp
module.cpp
mussa.cpp
nway_paths.cpp
+ seq_span.cpp
sequence.cpp
)
-
- #SET_SOURCE_FILES_PROPERTIES(${SOURCES} COM
+ SET(QUI_SOURCES
+ module_qui.cpp
+ qt.cpp
+ sequence.cpp
+ glsequence.cpp
+ annotation_colors.cpp
+ sequencebrowserwidget.cpp
+ )
+ SET(MUSSA_LIBRARIES
+ mussa_core
+ ${Boost_PYTHON_LIBRARY}
+ ${Boost_SYSTEM_LIBRARY}
+ ${Boost_FILESYSTEM_LIBRARY}
+ ${Boost_SERIALIZATION_LIBRARY}
+ ${OPENGL_gl_LIBRARY}
+ ${QT_QTCORE_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})
- 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
- ${BOOST_PYTHON_LIBRARY}
- ${BOOST_FILESYSTEM_LIBRARY}
- ${OPENGL_gl_LIBRARY}
- ${PYTHON_LIBRARIES}
+ 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}
+ ${QT_QTGUI_LIBRARY}
+ ${QT_QTOPENGL_LIBRARY}
+ )
+
+ 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 ${PYTHON_EXECUTABLE} ${PYTHON_TEST_DIR}/TestSequence.py)
+ SET(PYTEST_DIR ${CMAKE_SOURCE_DIR}/py/test/)
+ ADD_TEST(TestAnnotations
+ ${PYTHON_EXECUTABLE} ${PYTEST_DIR}/TestAnnotations.py)
+ ADD_TEST(TestSeqSpan ${PYTHON_EXECUTABLE} ${PYTEST_DIR}/TestSeqSpan.py)
+ 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)
+ MESSAGE(STATUS "Not building mussa python extension, Boost python not found")
+ENDIF(Boost_PYTHON_LIBRARY)
+ADD_SUBDIRECTORY(test)