diff --git a/CMakeLists.txt b/CMakeLists.txt index a618f57..e12af3c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,98 +1,96 @@ project( liboncilla C CXX ) cmake_minimum_required(VERSION 2.8 ) #set( LIBNAME "oncilla" ) #SET( CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS TRUE ) #SET( LIBONCILLA_CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake ) #SET( CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE ) # CMake module path and modules find_package(RSC REQUIRED ) find_package(BiorobCMakeUtils 0.3.4 REQUIRED) include_all_biorob_cmake_utils() set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" "${RSC_CMAKE_MODULE_PATH}" ) #MESSAGE( STATUS "RSC version: ${RSC_VERSION}" ) include( CheckIncludeFileCXX ) include( EnableCoverageReport ) include( EnableSlocCount ) include( GenerateDoxygen ) include( GenerateCppcheck ) include( PedanticCompilerWarnings ) include( SuperPedanticCompilerWarnings ) #SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) # --- user options --- option(BUILD_TESTS "Decide whether unit-tests are built" ON) option(BUILD_EXAMPLES "Decide whether the examples are built" ON) option(BUILD_DOCS "Decide whether the docygen documentation is built" OFF) find_package(RCI REQUIRED) add_definitions(${RCI_DEFINITIONS}) # --- global definitions --- make_std_versionning(MAJOR 0 MINOR 3 PATCH 0~dev1) set(LIBONCILLA_CMAKE_MODULE_PATH "share/cmake/Modules") # Includes include_directories(BEFORE src ${PROJECT_BINARY_DIR}/src) include_directories(SYSTEM - ${RCI_INCLUDE_DIRS} - ${RSC_INCLUDE_DIRS} - ${Boost_INCLUDE_DIRS}) + ${RCI_INCLUDE_DIRS}) add_subdirectory(src) find_package(GMock) if(BUILD_TESTS AND GMOCK_FOUND) enable_testing() message(STATUS "Building tests - deactivate by adapting BUILD_TESTS") add_subdirectory(test) elseif(BUILD_TESTS AND NOT GMOCK_FOUND) message(WARNING "Could not build unit tests even though desired because Google Mock could not be installed.") endif(BUILD_TESTS AND GMOCK_FOUND) if(BUILD_EXAMPLES) add_subdirectory(examples) endif(BUILD_EXAMPLES) # --- pkgconfig file --- set(PKG_CONFIG_FILE liboncilla-${VERSION_MAJOR}.pc ) configure_file(liboncilla.pc.in ${PKG_CONFIG_FILE} @ONLY) install(FILES ${CMAKE_BINARY_DIR}/${PKG_CONFIG_FILE} DESTINATION lib/pkgconfig) # --- cmake config file --- configure_file(liboncillaConfig.cmake.in LibOncillaConfig.cmake @ONLY) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/LibOncillaConfig.cmake DESTINATION share/liboncilla) # --- documentation generation --- if(BUILD_DOCS) add_subdirectory(doc) endif(BUILD_DOCS) # --- coverage --- if(BUILD_TESTS) enable_coverage_report(TARGETS liboncilla TESTS ${DTO_TEST_NAME} ${INTEGRATED_TEST_NAME} FILTER "*3rdparty*" "*test/*") endif(BUILD_TESTS) # --- sloccount --- enable_sloccount(FOLDERS src test examples) # --- cppcheck --- generate_cppcheck(SOURCES src test examples "${CMAKE_CURRENT_BINARY_DIR}/src" "${CMAKE_CURRENT_BINARY_DIR}/test" "${CMAKE_CURRENT_BINARY_DIR}/examples" ENABLE_IDS style) diff --git a/src/liboncilla/CMakeLists.txt b/src/liboncilla/CMakeLists.txt index 0d2b172..75d7970 100644 --- a/src/liboncilla/CMakeLists.txt +++ b/src/liboncilla/CMakeLists.txt @@ -1,35 +1,35 @@ set(ONCILLAHEADERS OncillaTrunk.h OncillaL0.h OncillaL1L2.h OncillaL3.h OncillaL4.h Oncilla.h OncillaSynchronizer.h BackendFactory.h common.h) set(ONCILLASOURCES OncillaTrunk.cpp OncillaL0.cpp OncillaL1L2.cpp OncillaL3.cpp OncillaL4.cpp Oncilla.cpp OncillaSynchronizer.cpp BackendFactory.cpp) add_library(oncilla SHARED ${ONCILLASOURCES} ${ONCILLAHEADERS}) target_link_libraries(oncilla - ${RSC_LIBRARIES} ${RCI_LIBRARIES} -ldl) + set_target_properties(oncilla PROPERTIES VERSION ${VERSION_STRING} SOVERSION ${VERSION_ABI}) install(TARGETS oncilla DESTINATION lib) install(FILES ${ONCILLAHEADERS} DESTINATION include/liboncilla-${VERSION_API}/liboncilla )