diff --git a/CMakeLists.txt b/CMakeLists.txt index 75835804821c1f30f37e53e5de8cec0160108e1b..283da4078b98c0a53041c8ae70dbd0f93779f142 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ # Pre-requisites about cmake itself -CMAKE_MINIMUM_REQUIRED(VERSION 2.6) +CMAKE_MINIMUM_REQUIRED(VERSION 2.8) if(COMMAND cmake_policy) cmake_policy(SET CMP0005 NEW) @@ -12,6 +12,8 @@ SET(CMAKE_MACOSX_RPATH 1) PROJECT(gnss) set(PLUGIN_NAME wolf${PROJECT_NAME}) +MESSAGE("Starting ${PROJECT_NAME} CMakeLists ...") + SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/bin) SET(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/lib) SET(CMAKE_INSTALL_PREFIX /usr/local) @@ -41,7 +43,6 @@ if(UNIX) "${CMAKE_CXX_FLAGS} -Werror=all -Werror=extra -Wno-unknown-pragmas -Wno-sign-compare -Wno-unused-parameter -Wno-missing-field-initializers") endif(UNIX) - IF(NOT BUILD_TESTS) OPTION(BUILD_TESTS "Build Unit tests" ON) ENDIF(NOT BUILD_TESTS) @@ -66,16 +67,11 @@ if(BUILD_TESTS) enable_testing() endif() -MESSAGE("Starting ${PROJECT_NAME} CMakeLists ...") -CMAKE_MINIMUM_REQUIRED(VERSION 2.8) - #CMAKE modules - SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake_modules") MESSAGE(STATUS ${CMAKE_MODULE_PATH}) # Some wolf compilation options - IF((CMAKE_BUILD_TYPE MATCHES DEBUG) OR (CMAKE_BUILD_TYPE MATCHES debug) OR (CMAKE_BUILD_TYPE MATCHES Debug)) set(_WOLF_DEBUG true) ENDIF() @@ -90,26 +86,11 @@ IF(BUILD_EXAMPLES OR BUILD_TESTS) set(_WOLF_ROOT_DIR ${CMAKE_SOURCE_DIR}) ENDIF(BUILD_EXAMPLES OR BUILD_TESTS) - #find dependencies. # ============EXAMPLE================== FIND_PACKAGE(wolfcore REQUIRED) FIND_PACKAGE(gnss_utils REQUIRED) -#FIND_PATH( -# Suitesparse_INCLUDE_DIRS -# NAMES SuiteSparse_config.h -# PATHS /usr/include/suitesparse /usr/local/include/suitesparse) -#MESSAGE("Found suitesparse_INCLUDE_DIRS:" ${Suitesparse_INCLUDE_DIRS}) - -#IF(Suitesparse_INCLUDE_DIRS) -# SET(Suitesparse_FOUND TRUE) -# MESSAGE("Suitesparse FOUND: wolf_solver will be built.") -#ELSE (Suitesparse_INCLUDE_DIRS) -# SET(Suitesparse_FOUND FALSE) -# MESSAGE(FATAL_ERROR "Suitesparse NOT FOUND") -#ENDIF (Suitesparse_INCLUDE_DIRS) - # Define the directory where will be the configured config.h SET(WOLF_CONFIG_DIR ${PROJECT_BINARY_DIR}/conf/${PROJECT_NAME}/internal) @@ -134,14 +115,6 @@ INCLUDE_DIRECTORIES(${gnss_utils_INCLUDE_DIRS}) INCLUDE_DIRECTORIES(BEFORE "include") #HEADERS -SET(HDRS_COMMON - ) -SET(HDRS_MATH - ) -SET(HDRS_UTILS - ) -SET(HDRS_STATE_BLOCK - ) SET(HDRS_CAPTURE include/gnss/capture/capture_gnss.h include/gnss/capture/capture_gnss_fix.h @@ -161,8 +134,6 @@ SET(HDRS_FEATURE include/gnss/feature/feature_gnss_tdcp.h include/gnss/feature/feature_gnss_satellite.h ) -SET(HDRS_LANDMARK - ) SET(HDRS_PROCESSOR include/gnss/processor/processor_gnss_fix.h include/gnss/processor/processor_gnss_tdcp.h @@ -171,31 +142,15 @@ SET(HDRS_PROCESSOR SET(HDRS_SENSOR include/gnss/sensor/sensor_gnss.h ) -SET(HDRS_SOLVER - ) SET(HDRS_TREE_MANAGER include/gnss/tree_manager/tree_manager_sliding_window_tdcp.h ) #SOURCES -SET(SRCS_COMMON - ) -SET(SRCS_MATH - ) -SET(SRCS_UTILS - ) -SET(SRCS_STATE_BLOCK - ) SET(SRCS_CAPTURE src/capture/capture_gnss.cpp src/capture/capture_gnss_fix.cpp ) -SET(SRCS_FACTOR - ) -SET(SRCS_FEATURE - ) -SET(SRCS_LANDMARK - ) SET(SRCS_PROCESSOR src/processor/processor_gnss_fix.cpp src/processor/processor_gnss_tdcp.cpp @@ -204,54 +159,17 @@ SET(SRCS_PROCESSOR SET(SRCS_SENSOR src/sensor/sensor_gnss.cpp ) -SET(SRCS_SOLVER - ) SET(SRCS_TREE_MANAGER src/tree_manager/tree_manager_sliding_window_tdcp.cpp ) -SET(SRCS_YAML - ) -#OPTIONALS -#optional HDRS and SRCS -# ==================EXAMPLE=============== -# IF (Ceres_FOUND) -# SET(HDRS_WRAPPER -# include/base/solver_suitesparse/sparse_utils.h -# include/base/solver/solver_manager.h -# include/base/ceres_wrapper/ceres_manager.h -# include/base/ceres_wrapper/cost_function_wrapper.h -# include/base/ceres_wrapper/create_numeric_diff_cost_function.h -# include/base/ceres_wrapper/local_parametrization_wrapper.h -# ) -# SET(SRCS_WRAPPER -# src/solver/solver_manager.cpp -# src/ceres_wrapper/ceres_manager.cpp -# src/ceres_wrapper/local_parametrization_wrapper.cpp -# ) -# ELSE(Ceres_FOUND) -# SET(HDRS_WRAPPER) -# SET(SRCS_WRAPPER) -# ENDIF(Ceres_FOUND) - # create the shared library ADD_LIBRARY(${PLUGIN_NAME} SHARED ${SRCS_CAPTURE} - ${SRCS_COMMON} - ${SRCS_DTASSC} - ${SRCS_FACTOR} - ${SRCS_FEATURE} - ${SRCS_LANDMARK} - ${SRCS_MATH} ${SRCS_PROCESSOR} ${SRCS_SENSOR} - ${SRCS_SOLVER} - ${SRCS_STATE_BLOCK} ${SRCS_TREE_MANAGER} - ${SRCS_UTILS} - ${SRCS_WRAPPER} - ${SRCS_YAML} ) # Set compiler options @@ -266,13 +184,11 @@ elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") # using GCC endif() - #Link the created libraries #===============EXAMPLE========================= TARGET_LINK_LIBRARIES(${PLUGIN_NAME} ${wolfcore_LIBRARIES}) TARGET_LINK_LIBRARIES(${PLUGIN_NAME} ${gnss_utils_LIBRARIES}) - #Build tests #===============EXAMPLE========================= IF(BUILD_TESTS) @@ -284,35 +200,23 @@ ENDIF(BUILD_TESTS) #============================================================= INSTALL(TARGETS ${PLUGIN_NAME} EXPORT ${PLUGIN_NAME}Targets RUNTIME DESTINATION bin - LIBRARY DESTINATION lib/iri-algorithms - ARCHIVE DESTINATION lib/iri-algorithms) + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib) install(EXPORT ${PLUGIN_NAME}Targets DESTINATION lib/cmake/${PLUGIN_NAME}) #install headers -INSTALL(FILES ${HDRS_STATE_BLOCK} - DESTINATION include/iri-algorithms/wolf/plugin_${PROJECT_NAME}/${PROJECT_NAME}/state_block) INSTALL(FILES ${HDRS_CAPTURE} DESTINATION include/iri-algorithms/wolf/plugin_${PROJECT_NAME}/${PROJECT_NAME}/capture) INSTALL(FILES ${HDRS_FACTOR} DESTINATION include/iri-algorithms/wolf/plugin_${PROJECT_NAME}/${PROJECT_NAME}/factor) INSTALL(FILES ${HDRS_FEATURE} DESTINATION include/iri-algorithms/wolf/plugin_${PROJECT_NAME}/${PROJECT_NAME}/feature) -INSTALL(FILES ${HDRS_SENSOR} - DESTINATION include/iri-algorithms/wolf/plugin_${PROJECT_NAME}/${PROJECT_NAME}/sensor) INSTALL(FILES ${HDRS_PROCESSOR} DESTINATION include/iri-algorithms/wolf/plugin_${PROJECT_NAME}/${PROJECT_NAME}/processor) -INSTALL(FILES ${HDRS_LANDMARK} - DESTINATION include/iri-algorithms/wolf/plugin_${PROJECT_NAME}/${PROJECT_NAME}/landmark) -INSTALL(FILES ${HDRS_WRAPPER} - DESTINATION include/iri-algorithms/wolf/plugin_${PROJECT_NAME}/${PROJECT_NAME}/ceres_wrapper) -#INSTALL(FILES ${HDRS_SOLVER_SUITESPARSE} -# DESTINATION include/iri-algorithms/wolf/plugin_${PROJECT_NAME}/${PROJECT_NAME}/solver_suitesparse) -INSTALL(FILES ${HDRS_SOLVER} - DESTINATION include/iri-algorithms/wolf/plugin_${PROJECT_NAME}/${PROJECT_NAME}/solver) +INSTALL(FILES ${HDRS_SENSOR} + DESTINATION include/iri-algorithms/wolf/plugin_${PROJECT_NAME}/${PROJECT_NAME}/sensor) INSTALL(FILES ${HDRS_TREE_MANAGER} DESTINATION include/iri-algorithms/wolf/plugin_${PROJECT_NAME}/${PROJECT_NAME}/tree_manager) -INSTALL(FILES ${HDRS_YAML} - DESTINATION include/iri-algorithms/wolf/plugin_${PROJECT_NAME}/${PROJECT_NAME}/yaml) FILE(WRITE ${PROJECT_NAME}.found "") INSTALL(FILES ${PROJECT_NAME}.found diff --git a/cmake_modules/wolfgnssConfig.cmake b/cmake_modules/wolfgnssConfig.cmake index 5d041b978feb32a0dfc114ebc2b93b738dd939fb..43a786472f1ee81eb0292f6fd1c6b780a1713534 100644 --- a/cmake_modules/wolfgnssConfig.cmake +++ b/cmake_modules/wolfgnssConfig.cmake @@ -12,7 +12,7 @@ ENDIF(wolfgnss_INCLUDE_DIRS) FIND_LIBRARY( wolfgnss_LIBRARIES NAMES libwolfgnss.so - PATHS /usr/local/lib/iri-algorithms) + PATHS /usr/local/lib) IF(wolfgnss_LIBRARIES) MESSAGE("Found gnss lib: ${wolfgnss_LIBRARIES}") ELSE(wolfgnss_LIBRARIES) @@ -80,4 +80,9 @@ if(NOT wolf_FOUND) list(REVERSE wolfgnss_LIBRARIES) list(APPEND wolfgnss_LIBRARIES ${wolfcore_LIBRARIES}) list(REVERSE wolfgnss_LIBRARIES) -endif() \ No newline at end of file +endif() + +# provide both INCLUDE_DIR and INCLUDE_DIRS +SET(wolfgnss_INCLUDE_DIR ${wolfgnss_INCLUDE_DIRS}) +# provide both LIBRARY and LIBRARIES +SET(wolfgnss_LIBRARY ${wolfgnss_LIBRARIES}) \ No newline at end of file