X-Git-Url: http://rtime.felk.cvut.cz/gitweb/hubacji1/rrts.git/blobdiff_plain/2fd4ab5c10d539fff0a4dc4f7ddbb5c976f04560..HEAD:/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index c27bbb1..e767f08 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,36 +1,49 @@ -cmake_minimum_required(VERSION 2.8) +# SPDX-FileCopyrightText: 2021 Jiri Vlasak +# +# SPDX-License-Identifier: GPL-3.0-only + +cmake_minimum_required(VERSION 3.8) project(rrts) #set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_DEBUG} -fno-omit-frame-pointer -fsanitize=address") #set (CMAKE_LINKER_FLAGS "${CMAKE_LINKER_FLAGS_DEBUG} -fno-omit-frame-pointer -fsanitize=address") -find_package(jsoncpp REQUIRED) -link_libraries(jsoncpp_lib) +set(CMAKE_CXX_STANDARD 17) +add_compile_options(-O2) +# Require compiler version (g++ >= 7 tested) +if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7) + message(FATAL_ERROR "GCC version must be at least 7!") +endif() -include_directories(../bcar/api) -link_directories(../../bcar/build) +if (NOT TARGET bcar) + set(SKIP_UT TRUE) + add_subdirectory(bcar) + unset(SKIP_UT) +endif() link_libraries(bcar) +link_libraries(pslot) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/incl) -include_directories(${CMAKE_CURRENT_SOURCE_DIR}/api) +if (NOT TARGET "JsonCpp::JsonCpp") + find_package(jsoncpp REQUIRED) +endif () +link_libraries(jsoncpp_lib) -add_library(rrts SHARED - src/rrts.cc - src/rrtext13.cc - src/rrtext12.cc - src/rrtext11.cc - src/rrtext10.cc - src/rrtext9.cc - src/rrtext8.cc - src/rrtext7.cc - src/rrtext6.cc - src/rrtext5.cc - src/rrtext4.cc - src/rrtext3.cc - src/rrtext2.cc - src/rrtext1.cc - src/reeds_shepp.cpp -) -set_target_properties(rrts PROPERTIES - PUBLIC_HEADER api/rrts.h +add_library(rrts STATIC + src/rrts.cc + src/rrtext21.cc + src/rrtext20.cc + src/rrtext19.cc + src/rrtext18.cc + src/rrtext17.cc + src/rrtext16.cc + src/rrtext15.cc + src/rrtext14.cc + src/rrtext13.cc + src/rrtext10.cc + src/rrtext8.cc + src/rrtext6.cc + src/rrtext2.cc + src/reeds_shepp.cpp + src/dubins.c ) +target_include_directories(rrts PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/incl)