FIND_PACKAGE(PythonLibs REQUIRED) FIND_PACKAGE(PythonInterp REQUIRED) SET(PYTHON_LIBRARY_SUFFIX /python) SET(PYTHON_LIBRARY_PATH lib${PYTHON_LIBRARY_SUFFIX}) FIND_PACKAGE(Numpy) INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${PYTHON_NUMPY_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}) INCLUDE_DIRECTORIES(../../../system/libs/swig) FIND_PACKAGE(Boost REQUIRED COMPONENTS filesystem) IF (CMAKE_COMPILER_IS_GNUCC) # Important for O2 compilation ADD_DEFINITIONS("-fno-strict-aliasing") ENDIF (CMAKE_COMPILER_IS_GNUCC) SET( WRAPPER_MODULES CAPS ) FIND_PACKAGE(OpenSSL REQUIRED) SET(WRAPPER_MODULE_CAPS_EXTRA_LIBS capsclient ${Boost_filesystem_LIBRARY} ${OPENSSL_LIBRARIES}) FOREACH (wrapper_module ${WRAPPER_MODULES}) SET( ${wrapper_module}_SOURCES ${wrapper_module}PYTHON_wrap.cxx ${WRAPPER_MODULE_${wrapper_module}_EXTRA_FILES} ) ADD_LIBRARY(_${wrapper_module} MODULE ${${wrapper_module}_SOURCES}) SET_TARGET_PROPERTIES(_${wrapper_module} PROPERTIES PREFIX "") TARGET_LINK_LIBRARIES(_${wrapper_module} ${PYTHON_LIBRARIES}) TARGET_LINK_LIBRARIES(_${wrapper_module} ${WRAPPER_MODULE_${wrapper_module}_EXTRA_LIBS}) ENDFOREACH (wrapper_module) #SC_SWIG_GET_MODULE_PATH(_module_path) SET(_module_path ${CMAKE_INSTALL_PREFIX}/lib/python/gempa) FOREACH (wrapper_module ${WRAPPER_MODULES}) INSTALL( TARGETS _${wrapper_module} LIBRARY DESTINATION ${_module_path} ) INSTALL( FILES ${CMAKE_CURRENT_SOURCE_DIR}/__init__.py DESTINATION ${_module_path} ) INSTALL( FILES ${CMAKE_CURRENT_SOURCE_DIR}/${wrapper_module}.py DESTINATION ${_module_path} ) INSTALL( FILES ${CMAKE_CURRENT_BINARY_DIR}/${wrapper_module}.pyc DESTINATION ${_module_path} OPTIONAL ) INSTALL( FILES ${CMAKE_CURRENT_BINARY_DIR}/${wrapper_module}.pyo DESTINATION ${_module_path} OPTIONAL ) ADD_CUSTOM_COMMAND( TARGET _${wrapper_module} POST_BUILD COMMAND ${CMAKE_SOURCE_DIR}/py-compile ARGS --python \"${PYTHON_EXECUTABLE}\" --destdir ${CMAKE_CURRENT_BINARY_DIR} ${wrapper_module}.py ) ENDFOREACH (wrapper_module)