Skip to content
Snippets Groups Projects

cmake fixes

Merged Joan Vallvé Navarro requested to merge devel into main
3 files
+ 44
67
Compare changes
  • Side-by-side
  • Inline
Files
3
+ 13
22
@@ -12,7 +12,7 @@ PROJECT(gnss_utils)
SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/bin)
SET(LIBRARY_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/lib)
set(INCLUDE_INSTALL_DIR include/iri-algorithms)
set(INCLUDE_INSTALL_DIR include)
set(LIB_INSTALL_DIR lib/)
IF (NOT CMAKE_BUILD_TYPE)
@@ -25,17 +25,11 @@ SET(CMAKE_CXX_FLAGS_RELEASE "-O3 -D_REENTRANT")
#Set compiler according C++11 support
include(CheckCXXCompilerFlag)
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
if(COMPILER_SUPPORTS_CXX11)
message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has C++11 support.")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c99")
elseif(COMPILER_SUPPORTS_CXX0X)
message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has C++0x support.")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c99")
message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has C++11 support.")
set(CMAKE_CXX_STANDARD 11)
else()
message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
message(STATUS "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
endif()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpermissive")
@@ -55,7 +49,7 @@ if(BUILD_TESTS)
endif()
# Define the directory where will be the configured config.h
SET(GNSS_UTILS_CONFIG_DIR ${PROJECT_BINARY_DIR}/conf/gnss_utils/internal)
SET(GNSS_UTILS_CONFIG_DIR ${PROJECT_BINARY_DIR}/conf/${PROJECT_NAME}/internal)
# Create the specified output directory if it does not exist.
IF(NOT EXISTS "${GNSS_UTILS_CONFIG_DIR}")
@@ -68,9 +62,6 @@ IF(EXISTS "${GNSS_UTILS_CONFIG_DIR}" AND NOT IS_DIRECTORY "${GNSS_UTILS_CONFIG_D
ENDIF()
# Configure config.h
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/internal/config.h.in "${GNSS_UTILS_CONFIG_DIR}/config.h")
message("GNSS_UTILS CONFIG ${GNSS_UTILS_CONFIG_DIR}/config.h")
message("CONFIG DIRECTORY ${PROJECT_BINARY_DIR}")
include_directories("${PROJECT_BINARY_DIR}/conf")
# rtklib path
SET(RTKLIB_SRC_DIR deps/RTKLIB/src)
@@ -126,10 +117,10 @@ FIND_PACKAGE(Eigen3 3.3 REQUIRED CONFIG)
INCLUDE_DIRECTORIES(BEFORE include ${RTKLIB_SRC_DIR})
# create the shared library
ADD_LIBRARY(gnss_utils SHARED ${SOURCES} ${RTKLIB_SRC})
ADD_LIBRARY(${PROJECT_NAME} SHARED ${SOURCES} ${RTKLIB_SRC})
# Link this library wrt. its dependencies
TARGET_LINK_LIBRARIES(gnss_utils Eigen3::Eigen)
TARGET_LINK_LIBRARIES(${PROJECT_NAME} Eigen3::Eigen)
# Examples
ADD_SUBDIRECTORY(src/examples)
@@ -163,18 +154,18 @@ install(
${LIB_INSTALL_DIR}/${PROJECT_NAME}/cmake
)
# Specifies include directories to use when compiling the plugin target
# This way, include_directories does not need to be called in plugins depending on this one
target_include_directories(${PROJECT_NAME} INTERFACE
target_include_directories(${PROJECT_NAME} PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/conf>
$<INSTALL_INTERFACE:${INCLUDE_INSTALL_DIR}>
)
INSTALL(DIRECTORY include/gnss_utils DESTINATION ${INCLUDE_INSTALL_DIR})
INSTALL(DIRECTORY include/${PROJECT_NAME} DESTINATION ${INCLUDE_INSTALL_DIR})
INSTALL(FILES ${RTKLIB_SRC_DIR}/rtklib.h DESTINATION ${INCLUDE_INSTALL_DIR}/gnss_utils)
INSTALL(FILES ${RTKLIB_SRC_DIR}/rtklib.h DESTINATION ${INCLUDE_INSTALL_DIR}/${PROJECT_NAME})
INSTALL(FILES "${GNSS_UTILS_CONFIG_DIR}/config.h"
DESTINATION ${INCLUDE_INSTALL_DIR}/gnss_utils/internal)
DESTINATION ${INCLUDE_INSTALL_DIR}/${PROJECT_NAME}/internal)
###############
Loading