Skip to content

Commit ea5b1b8

Browse files
Ease version handling and folder layout (#112)
* Handle version by cmake/ad-rss-lib-version.cmake * Replace generated cmake files * Remove impl folder * Update map to latest v2.4.5_hotfix commit * Update version number to 4.4.2
1 parent b713d7c commit ea5b1b8

File tree

209 files changed

+460
-591
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

209 files changed

+460
-591
lines changed

ad_rss/CMakeLists.txt

+111-5
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
# ----------------- BEGIN LICENSE BLOCK ---------------------------------
22
#
3-
# Copyright (C) 2018-2020 Intel Corporation
3+
# Copyright (C) 2018-2021 Intel Corporation
44
#
55
# SPDX-License-Identifier: LGPL-2.1-only
66
#
77
# ----------------- END LICENSE BLOCK -----------------------------------
88
cmake_minimum_required(VERSION 3.5)
99

10-
project(ad_rss)
11-
12-
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/impl")
10+
include(../cmake/ad-rss-lib-version.cmake)
11+
project(ad_rss VERSION ${AD-RSS-LIB_VERSION})
1312

1413
include(../cmake/compile-options.cmake)
1514
include(../cmake/hardening.cmake)
@@ -21,8 +20,115 @@ include(../cmake/python-binding.cmake)
2120
#convert list to string
2221
string (REPLACE ";" " " TARGET_LINK_FLAGS "${TARGET_LINK_OPTIONS}")
2322

24-
add_subdirectory(generated)
23+
include(GNUInstallDirs)
24+
include(CMakePackageConfigHelpers)
25+
26+
set(ad_rss_TARGET_INCLUDE_DIRECTORIES)
27+
set(ad_rss_TARGET_LINK_LIBRARIES)
28+
29+
find_package(Boost REQUIRED)
30+
list(APPEND ad_rss_TARGET_INCLUDE_DIRECTORIES ${Boost_INCLUDE_DIRS})
31+
list(APPEND ad_rss_TARGET_LINK_LIBRARIES ${Boost_LIBRARIES})
32+
33+
find_package(ad_physics ${CARLA-MAP_VERSION} REQUIRED CONFIG)
34+
find_package(spdlog REQUIRED CONFIG)
35+
36+
include(generated/ad_rss.cmake)
37+
38+
add_library(${PROJECT_NAME}
39+
${ad_rss_GENERATED_SOURCES}
40+
${CMAKE_CURRENT_SOURCE_DIR}/src/core/RssCheck.cpp
41+
${CMAKE_CURRENT_SOURCE_DIR}/src/core/RssResponseResolving.cpp
42+
${CMAKE_CURRENT_SOURCE_DIR}/src/core/RssSituationChecking.cpp
43+
${CMAKE_CURRENT_SOURCE_DIR}/src/core/RssSituationExtraction.cpp
44+
${CMAKE_CURRENT_SOURCE_DIR}/src/situation/Physics.cpp
45+
${CMAKE_CURRENT_SOURCE_DIR}/src/situation/RssFormulas.cpp
46+
${CMAKE_CURRENT_SOURCE_DIR}/src/situation/RssStructuredSceneIntersectionChecker.cpp
47+
${CMAKE_CURRENT_SOURCE_DIR}/src/situation/RssStructuredSceneNonIntersectionChecker.cpp
48+
${CMAKE_CURRENT_SOURCE_DIR}/src/situation/RssUnstructuredSceneChecker.cpp
49+
${CMAKE_CURRENT_SOURCE_DIR}/src/world/RssSituationCoordinateSystemConversion.cpp
50+
${CMAKE_CURRENT_SOURCE_DIR}/src/world/RssSituationIdProvider.cpp
51+
${CMAKE_CURRENT_SOURCE_DIR}/src/world/RssObjectPositionExtractor.cpp
52+
${CMAKE_CURRENT_SOURCE_DIR}/src/unstructured/Geometry.cpp
53+
${CMAKE_CURRENT_SOURCE_DIR}/src/unstructured/TrajectoryCommon.cpp
54+
${CMAKE_CURRENT_SOURCE_DIR}/src/unstructured/TrajectoryPedestrian.cpp
55+
${CMAKE_CURRENT_SOURCE_DIR}/src/unstructured/TrajectoryVehicle.cpp
56+
)
57+
58+
target_compile_definitions(${PROJECT_NAME} PUBLIC ${TARGET_COMPILE_DEFINITIONS})
59+
target_compile_options(${PROJECT_NAME} PRIVATE ${TARGET_COMPILE_OPTIONS})
60+
set_property(TARGET ${PROJECT_NAME} APPEND_STRING PROPERTY LINK_FLAGS ${TARGET_LINK_FLAGS})
61+
62+
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/Version.hpp.in ${CMAKE_CURRENT_BINARY_DIR}/include/${PROJECT_NAME}/Version.hpp)
63+
64+
target_include_directories(${PROJECT_NAME} PUBLIC
65+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
66+
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/generated/include>
67+
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>
68+
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
69+
${ad_rss_TARGET_INCLUDE_DIRECTORIES}
70+
)
71+
72+
target_link_libraries(${PROJECT_NAME} PUBLIC
73+
ad_physics
74+
spdlog::spdlog
75+
PRIVATE
76+
${ad_rss_TARGET_LINK_LIBRARIES}
77+
)
78+
79+
80+
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/
81+
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
82+
FILES_MATCHING PATTERN "*.h" PATTERN "*.hpp"
83+
)
84+
85+
install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/generated/include/
86+
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
87+
FILES_MATCHING PATTERN "*.h" PATTERN "*.hpp"
88+
)
89+
90+
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/
91+
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
92+
FILES_MATCHING PATTERN "*.h" PATTERN "*.hpp"
93+
)
94+
95+
install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}_EXPORT
96+
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
97+
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
98+
)
99+
100+
set(CMAKECONFIG_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}")
101+
102+
install(EXPORT ${PROJECT_NAME}_EXPORT
103+
FILE ${PROJECT_NAME}Targets.cmake
104+
DESTINATION ${CMAKECONFIG_INSTALL_DIR}
105+
)
106+
107+
configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/Config.cmake.in
108+
${CMAKE_CURRENT_BINARY_DIR}/install/${PROJECT_NAME}Config.cmake
109+
INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
110+
)
111+
112+
write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/install/${PROJECT_NAME}ConfigVersion.cmake
113+
COMPATIBILITY SameMajorVersion
114+
)
115+
116+
install(FILES
117+
${CMAKE_CURRENT_BINARY_DIR}/install/${PROJECT_NAME}Config.cmake
118+
${CMAKE_CURRENT_BINARY_DIR}/install/${PROJECT_NAME}ConfigVersion.cmake
119+
DESTINATION ${CMAKECONFIG_INSTALL_DIR}
120+
)
121+
122+
#####################################################################
123+
# Tests
124+
#####################################################################
125+
if (BUILD_TESTING)
126+
add_subdirectory(tests)
127+
endif()
25128

129+
#####################################################################
130+
# Python binding
131+
#####################################################################
26132
if(BUILD_PYTHON_BINDING)
27133
add_subdirectory(python)
28134
endif()

ad_rss/generated/cmake/Config.cmake.in renamed to ad_rss/cmake/Config.cmake.in

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
##
22
# ----------------- BEGIN LICENSE BLOCK ---------------------------------
33
#
4-
# Copyright (C) 2018-2020 Intel Corporation
4+
# Copyright (C) 2018-2021 Intel Corporation
55
#
66
# SPDX-License-Identifier: LGPL-2.1-only
77
#
@@ -21,7 +21,7 @@ find_package(Boost REQUIRED)
2121
list(APPEND INCLUDE_DIRS ${Boost_INCLUDE_DIRS})
2222
list(APPEND LIBRARIES ${Boost_LIBRARIES})
2323

24-
find_dependency(ad_physics 2.3.0)
24+
find_dependency(ad_physics @CARLA-MAP_VERSION@)
2525
find_dependency(spdlog)
2626

2727
include("${CMAKE_CURRENT_LIST_DIR}/@[email protected]")

ad_rss/generated/include/ad_rss/Version.hpp renamed to ad_rss/cmake/Version.hpp.in

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
* ----------------- BEGIN LICENSE BLOCK ---------------------------------
33
*
4-
* Copyright (C) 2018-2020 Intel Corporation
4+
* Copyright (C) 2018-2021 Intel Corporation
55
*
66
* SPDX-License-Identifier: LGPL-2.1-only
77
*
@@ -20,19 +20,19 @@
2020
/*!
2121
* The major version of ad_rss
2222
*/
23-
#define AD_RSS_VERSION_MAJOR 4
23+
#define AD_RSS_VERSION_MAJOR @AD-RSS-LIB_VERSION_MAJOR@
2424

2525
/*!
2626
* The minor version of ad_rss
2727
*/
28-
#define AD_RSS_VERSION_MINOR 4
28+
#define AD_RSS_VERSION_MINOR @AD-RSS-LIB_VERSION_MINOR@
2929

3030
/*!
3131
* The revision of ad_rss
3232
*/
33-
#define AD_RSS_VERSION_REVISION 0
33+
#define AD_RSS_VERSION_REVISION @AD-RSS-LIB_VERSION_REVISION@
3434

3535
/*!
3636
* The version of ad_rss as string
3737
*/
38-
#define AD_RSS_VERSION_STRING "4.4.0"
38+
#define AD_RSS_VERSION_STRING "@AD-RSS-LIB_VERSION_MAJOR@.@AD-RSS-LIB_VERSION_MINOR@.@AD-RSS-LIB_VERSION_REVISION@"

ad_rss/generated/CMakeLists.txt

-134
This file was deleted.

ad_rss/generated/ad_rss.cmake

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
##
2+
# ----------------- BEGIN LICENSE BLOCK ---------------------------------
3+
#
4+
# Copyright (C) 2018-2021 Intel Corporation
5+
#
6+
# SPDX-License-Identifier: LGPL-2.1-only
7+
#
8+
# ----------------- END LICENSE BLOCK -----------------------------------
9+
##
10+
##
11+
# Generated file
12+
#
13+
# Generator Version : 11.0.0-1997
14+
##
15+
16+
set(ad_rss_GENERATED_SOURCES
17+
${CMAKE_CURRENT_LIST_DIR}/src/ad/rss/situation/LateralRelativePosition.cpp
18+
${CMAKE_CURRENT_LIST_DIR}/src/ad/rss/situation/LongitudinalRelativePosition.cpp
19+
${CMAKE_CURRENT_LIST_DIR}/src/ad/rss/situation/SituationType.cpp
20+
${CMAKE_CURRENT_LIST_DIR}/src/ad/rss/state/LateralResponse.cpp
21+
${CMAKE_CURRENT_LIST_DIR}/src/ad/rss/state/LongitudinalResponse.cpp
22+
${CMAKE_CURRENT_LIST_DIR}/src/ad/rss/state/RssStateEvaluator.cpp
23+
${CMAKE_CURRENT_LIST_DIR}/src/ad/rss/state/UnstructuredSceneResponse.cpp
24+
${CMAKE_CURRENT_LIST_DIR}/src/ad/rss/world/LaneDrivingDirection.cpp
25+
${CMAKE_CURRENT_LIST_DIR}/src/ad/rss/world/LaneSegmentType.cpp
26+
${CMAKE_CURRENT_LIST_DIR}/src/ad/rss/world/ObjectType.cpp
27+
)

ad_rss/gtest-cmake.txt.in

-16
This file was deleted.

0 commit comments

Comments
 (0)