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 -----------------------------------
88cmake_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
1413include (../cmake/compile-options.cmake )
1514include (../cmake/hardening.cmake )
@@ -21,8 +20,115 @@ include(../cmake/python-binding.cmake)
2120#convert list to string
2221string (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+ #####################################################################
26132if (BUILD_PYTHON_BINDING)
27133 add_subdirectory (python )
28134endif ()
0 commit comments