X-Git-Url: http://woldlab.caltech.edu/gitweb/?p=mussa.git;a=blobdiff_plain;f=py%2FCMakeLists.txt;h=dbfdb2d3c4e3ae0974b6063dcbe6e443c532425e;hp=00a18b5969a069f2699c6c70874cc8cfcea81eaf;hb=HEAD;hpb=4f83d2a3cb065e7219e83bd6d45ee11d0318facf diff --git a/py/CMakeLists.txt b/py/CMakeLists.txt index 00a18b5..dbfdb2d 100644 --- a/py/CMakeLists.txt +++ b/py/CMakeLists.txt @@ -1,70 +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) +# 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 ) - - ADD_LIBRARY(mussa MODULE ${SOURCES}) - ADD_LIBRARY(mussa_py STATIC ${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} - ) + 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}) + 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( - mussa mussa_py PROPERTIES + ${STATIC_PYTHON_TARGETS} ${SHARED_PYTHON_TARGETS} + PROPERTIES COMPILE_FLAGS "${PY_CFLAGS}" LINK_FLAGS "${PY_LDFLAGS}" ) 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)