# This is a CMake example for Python cmake_minimum_required(VERSION 3.0.0) # Project name project(TimeSeries) # Enable C++ enable_language(CXX) add_compile_options("${CXX_NORM_FLAGS}") # Identify SWIG if(MSVC) SET(SWIG_EXECUTABLE ${CMAKE_CURRENT_SOURCE_DIR}/thirdParty/swigwin-3.0.10/swig.exe) endif() FIND_PACKAGE(SWIG REQUIRED) INCLUDE(${SWIG_USE_FILE}) FIND_PACKAGE(PythonLibs) INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH}) INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/src) # Add third party include directories if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") include_directories("${PROJECT_SOURCE_DIR}/thirdParty/xsd/xsd-4.0.0-i686-windows/libxsd") include_directories("${PROJECT_SOURCE_DIR}/thirdParty/xerces/xerces-c-3.1.1-x86_64-windows-vc-10.0/include") include_directories("${PROJECT_SOURCE_DIR}/thirdParty/boost_1_60_0") link_directories("${PROJECT_SOURCE_DIR}/thirdParty/xerces/xerces-c-3.1.1-x86_64-windows-vc-10.0/lib/") link_directories("${PROJECT_SOURCE_DIR}/thirdParty/boost_1_60_0/lib") elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "Darwin") include_directories("${PROJECT_SOURCE_DIR}/thirdParty/xsd/xsd-4.0.0-x86_64-linux-gnu/libxsd") endif() # Link dependencies if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") set(LINK_LIBRARIES xerces-c_3) elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "Darwin") set(LINK_LIBRARIES xerces-c boost_system boost_date_time boost_filesystem) endif() SET(CMAKE_SWIG_FLAGS "") SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_SOURCE_DIR}/src/timeseries.i PROPERTIES CPLUSPLUS ON) # SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_SOURCE_DIR}/src/timeseries.i PROPERTIES SWIG_FLAGS "-includeall") SWIG_ADD_MODULE(timeseries python ${CMAKE_CURRENT_SOURCE_DIR}/src/timeseries.i ${CMAKE_CURRENT_SOURCE_DIR}/src/timeseries.cxx ${CMAKE_CURRENT_SOURCE_DIR}/src/pi_timeseries.cxx ${CMAKE_CURRENT_SOURCE_DIR}/src/pi_sharedtypes.cxx ${CMAKE_CURRENT_SOURCE_DIR}/src/piTimeSeriesSAX2Handler.cpp ${CMAKE_CURRENT_SOURCE_DIR}/src/utils.cpp) SWIG_LINK_LIBRARIES(timeseries ${PYTHON_LIBRARIES} ${LINK_LIBRARIES})