1
1
# ----------------- BEGIN LICENSE BLOCK ---------------------------------
2
2
#
3
- # Copyright (C) 2018-2020 Intel Corporation
3
+ # Copyright (C) 2018-2021 Intel Corporation
4
4
#
5
5
# SPDX-License-Identifier: LGPL-2.1-only
6
6
#
7
7
# ----------------- END LICENSE BLOCK -----------------------------------
8
8
cmake_minimum_required (VERSION 3.5)
9
9
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})
13
12
14
13
include (../cmake/compile-options .cmake)
15
14
include (../cmake/hardening.cmake)
@@ -21,8 +20,115 @@ include(../cmake/python-binding.cmake)
21
20
#convert list to string
22
21
string (REPLACE ";" " " TARGET_LINK_FLAGS "${TARGET_LINK_OPTIONS} " )
23
22
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 ()
25
128
129
+ #####################################################################
130
+ # Python binding
131
+ #####################################################################
26
132
if (BUILD_PYTHON_BINDING)
27
133
add_subdirectory (python)
28
134
endif ()
0 commit comments