-cmake_minimum_required(VERSION 2.8)
+# SPDX-FileCopyrightText: 2021 Jiri Vlasak <jiri.vlasak.2@cvut.cz>
+#
+# 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")
-include_directories(../bcar/api)
-link_directories(../../bcar/build)
-link_libraries(bcar)
-
-include_directories(${CMAKE_CURRENT_SOURCE_DIR}/incl)
-include_directories(${CMAKE_CURRENT_SOURCE_DIR}/api)
+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()
-add_library(rrts SHARED
- src/rrts.cc
- src/reeds_shepp.cpp
-)
-set_target_properties(rrts PROPERTIES
- PUBLIC_HEADER api/rrts.h
-)
+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}/wvtest/cpp)
-ADD_DEFINITIONS(-DWVTEST_CONFIGURED)
-add_executable(ut
- wvtest/cpp/wvtestmain.cc
- wvtest/cpp/wvtest.cc
- ut/rrts.t.cc
-)
-target_link_libraries(ut rrts)
+find_package(jsoncpp REQUIRED)
+link_libraries(jsoncpp_lib)
-add_custom_command(TARGET ut
- POST_BUILD COMMAND ./wvtestrun ../build/ut
- WORKING_DIRECTORY ../wvtest
+add_library(rrts STATIC
+ src/rrts.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)