cmake_minimum_required (VERSION 2.4) if(COMMAND cmake_policy) cmake_policy(SET CMP0003 NEW) endif(COMMAND cmake_policy) SET (SRC_FILES steereoObject.cpp steereoLogger.cpp steereoSocketCommunicator.cpp steereoSteeringBase.cpp steereoSimSteering.cpp steereoCommand.cpp steereoClientSteering.cpp commandIDGenerator.cpp steereoCommunicator.cpp steereoCommandQueue.cpp steereoParameterParser.cpp request_xdr.c steereoStream.cpp point3D.cpp cuboid.cpp steereoSingleConnection.cpp steereoConnection.cpp steereoCompression.cpp steereoDeltaCompression.cpp steereoOctTreeCompression.cpp steereoSingleSocketConnection.cpp steeringMethodsCommand.cpp steerParameterCommand.cpp steerParameterClient.cpp pauseCommand.cpp steereoCommandLoader.cpp steereoWrapper.cpp setCouplingInfoCommand.cpp waitForSynchronizationCommand.cpp steereoIntraCommunicator.cpp steereoCouplingClient.cpp steereoCouplingSim.cpp steereoTiming.cpp steereoCouplingCommand.cpp steereoSequentialIntraCommunicator.cpp getSteeringPartitionsCommand.cpp steereoXMLReader.cpp steereoManipulatorGeneration.cpp) SET (SRC_FILES ${SRC_FILES} ../tools/rapidXMLAttribute.cpp ../tools/rapidXMLDocument.cpp ../tools/rapidXMLNode.cpp ../tools/rapidXMLBase.cpp) ADD_DEFINITIONS(-Wall -O2 -g) IF( CMAKE_BUILD_TYPE STREQUAL "Debug" OR CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo" ) ADD_DEFINITIONS(-g "-DDEBUG") ENDIF() SET (OPTIONAL_LIBS) SET (OPTIONAL_FILES) OPTION(STEEREO_PARALLEL "build parallel version with MPI" ON) IF (STEEREO_PARALLEL) FIND_PACKAGE (MPI REQUIRED) SET (OPTIONAL_FILES ${OPTIONAL_FILES} steereoMPICommunicator.cpp singleMPIConnection.cpp steereoMPIIntraCommunicator.cpp) INCLUDE_DIRECTORIES(${MPI_INCLUDE_PATH}) ADD_DEFINITIONS(-DMPICH_IGNORE_CXX_SEEK -DSTEEREO_PARALLEL) SET (OPTIONAL_LIBS ${OPTIONAL_LIBS} ${MPI_LIBRARIES}) ENDIF (STEEREO_PARALLEL) MESSAGE(STATUS "MPI Libraries: " ${MPI_LIBRARIES}) MESSAGE(STATUS "Used compiler " ${CMAKE_CXX_COMPILER}) MESSAGE(STATUS "Optional libs " ${OPTIONAL_LIBS}) MESSAGE(STATUS "Optional Files " ${OPTIONAL_FILES}) SET (SRC_FILES ${SRC_FILES} ${OPTIONAL_FILES}) OPTION (PYTHONWRAPPER "compile the python wrapper" OFF) ADD_LIBRARY(Steereo SHARED ${SRC_FILES}) TARGET_LINK_LIBRARIES(Steereo ${OPTIONAL_LIBS} pthread) IF (PYTHONWRAPPER) FIND_PACKAGE (PythonLibs REQUIRED) OPTION (GENERATE_PYTHONWRAPPER "generate the python wrapper anew" OFF) IF (GENERATE_PYTHONWRAPPER) SET(INTERFACE_FILE "${CMAKE_CURRENT_SOURCE_DIR}/Steereo.i" CACHE STRING "File defining the Python interface") SET(STEEREOPYTHON_LIB "SteereoPython" CACHE STRING "Name of the Python library (without lib prefix!)") SET(STEEREOPYTHON_LIB_REAL ${CMAKE_SHARED_LIBRARY_PREFIX}${STEEREOPYTHON_LIB}) FIND_PACKAGE (SWIG REQUIRED) ADD_CUSTOM_COMMAND( OUTPUT Steereo_wrap.cxx COMMAND ${SWIG_EXECUTABLE} -c++ -python -interface ${STEEREOPYTHON_LIB_REAL} -o Steereo_wrap.cxx ${INTERFACE_FILE} DEPENDS ${INTERFACE_FILE}) ENDIF (GENERATE_PYTHONWRAPPER) INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_DIR}) ADD_LIBRARY (${STEEREOPYTHON_LIB} SHARED Steereo_wrap.cxx) TARGET_LINK_LIBRARIES (${STEEREOPYTHON_LIB} ${PYTHON_LIBRARIES} Steereo) ENDIF (PYTHONWRAPPER) FILE(GLOB includeFiles "${CMAKE_CURRENT_SOURCE_DIR}/*.[hc]") INSTALL (FILES ${includeFiles} DESTINATION include/steereo) #FILE(GLOB libFiles "${CMAKE_CURRENT_SOURCE_DIR}/*Steereo*") #INSTALL (FILES ${libFiles} DESTINATION lib) INSTALL (TARGETS Steereo DESTINATION lib)