+# SPDX-FileCopyrightText: 2021 Jiri Vlasak <jiri.vlasak.2@cvut.cz>
+#
+# SPDX-License-Identifier: GPL-3.0-only
+
cmake_minimum_required(VERSION 2.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")
-link_libraries(jsoncpp)
+set(CMAKE_CXX_STANDARD 17)
+# 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)
+find_package(jsoncpp REQUIRED)
+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/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
)
+target_include_directories(rrts PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/incl)