X-Git-Url: http://woldlab.caltech.edu/gitweb/?p=mussa.git;a=blobdiff_plain;f=py%2FCMakeLists.txt;h=dbfdb2d3c4e3ae0974b6063dcbe6e443c532425e;hp=a2466f9f7894226d6b532d8b3eff8261dd0a09f3;hb=HEAD;hpb=7c3bf26770d10c90e1b40c60479114f42a84edf0 diff --git a/py/CMakeLists.txt b/py/CMakeLists.txt index a2466f9..dbfdb2d 100644 --- a/py/CMakeLists.txt +++ b/py/CMakeLists.txt @@ -1,70 +1,90 @@ -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) +# SET(QT_DONT_USE_QTGUI 1) FIND_PACKAGE(Qt4) INCLUDE( ${QT_USE_FILE} ) -IF(BOOST_PYTHON_LIBRARY) +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 - # MussaWindow.cpp nway_paths.cpp + seq_span.cpp sequence.cpp ) SET(QUI_SOURCES module_qui.cpp - MussaWindow.cpp + 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} + ${Boost_PYTHON_LIBRARY} + ${Boost_SYSTEM_LIBRARY} + ${Boost_FILESYSTEM_LIBRARY} + ${Boost_SERIALIZATION_LIBRARY} ${OPENGL_gl_LIBRARY} - ${PYTHON_LIBRARIES} - optimized ${QT_QTCORE_LIBRARY} - debug ${QT_QTCORE_LIBRARY_DEBUG} + ${QT_QTCORE_LIBRARY} + #optimized ${QT_QTCORE_LIBRARY_RELEASE} + #debug ${QT_QTCORE_LIBRARY_DEBUG} ) - SET(STATIC_PYTHON_TARGETS "") - SET(SHARED_PYTHON_TARGETS "") - + GET_MUSSA_COMPILE_FLAGS(PY_CFLAGS) + GET_MUSSA_LINK_FLAGS(PY_LDFLAGS) + + # configure static core python library ADD_LIBRARY(mussa_py STATIC ${SOURCES}) - SET(${STATIC_PYTHON_TARGETS} "${${STATIC_PYTHON_TARGETS}} mussa_py") + 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(${SHARED_PYTHON_TARGETS} "${${SHARED_PYTHON_TARGETS}} mussa") + SET_TARGET_PROPERTIES(mussa PROPERTIES + PREFIX "" + COMPILE_FLAGS "${PY_CFLAGS}" + LINK_FLAGS "${PY_LDFLAGS}") TARGET_LINK_LIBRARIES(mussa ${MUSSA_LIBRARIES} + ${PYTHON_LIBRARIES} ) - ADD_LIBRARY(mussaqui_py STATIC ${QUI_SOURCES}) - SET(${STATIC_PYTHON_TARGETS} "${${STATIC_PYTHON_TARGETS}} mussaqui_py") - # ADD_LIBRARY(mussaqui MODULE ${QUI_SOURCES}) - # SET(${SHARED_PYTHON_TARGETS} "${${SHARED_PYTHON_TARGETS}} mussaqui") - #TARGET_LINK_LIBRARIES(mussaqui - # mussa_qui - # ${MUSSA_LIBRARIES} - # optimized ${QT_QTGUI_LIBRARY} - # debug ${QT_QTGUI_LIBRARY_DEBUG} - # optimized ${QT_QTOPENGL_LIBRARY} - # debug ${QT_QTOPENGL_LIBRARY_DEBUG} - # ) - - # don't put the "lib" prefix infront of our shared modules - SET_TARGET_PROPERTIES(${SHARED_PYTHON_TARGETS} - PROPERTIES - PREFIX "" + # 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} ) - GET_MUSSA_COMPILE_FLAGS(PY_CFLAGS) - GET_MUSSA_LINK_FLAGS(PY_LDFLAGS) + SET_SOURCE_FILES_PROPERTIES( ${SOURCES} ${QUI_SOURCES} @@ -80,11 +100,15 @@ IF(BOOST_PYTHON_LIBRARY) IF(PYTHON_EXECUTABLE) 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_LIBRARY) -ENDIF(BOOST_PYTHON_LIBRARY) +ELSE(Boost_PYTHON_LIBRARY) + MESSAGE(STATUS "Not building mussa python extension, Boost python not found") +ENDIF(Boost_PYTHON_LIBRARY) ADD_SUBDIRECTORY(test)