X-Git-Url: http://woldlab.caltech.edu/gitweb/?p=mussa.git;a=blobdiff_plain;f=py%2FCMakeLists.txt;h=dbfdb2d3c4e3ae0974b6063dcbe6e443c532425e;hp=c890cfa868c9f6e402aad74dd73fea0a0b1f312f;hb=HEAD;hpb=c965f83880854a562c3b7c2cc86d7e2291fab641 diff --git a/py/CMakeLists.txt b/py/CMakeLists.txt index c890cfa..dbfdb2d 100644 --- a/py/CMakeLists.txt +++ b/py/CMakeLists.txt @@ -1,37 +1,114 @@ -FIND_PACKAGE(Boost) +set(Boost_USE_STATIC_LIBS OFF) +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_COMMAND(TARGET mussa - COMMAND cp libmussa.so mussa.so) - 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)