Skip to content

Commit

Permalink
Ease version handling and folder layout (#71)
Browse files Browse the repository at this point in the history
* Handle version by cmake/carla-map-version.cmake
* Replace generated cmake files
* Remove impl folder
* Update version number to 2.5.0
* Fix python version on wheel actions
* added Ubunut18.04 Python 3.6 build workaround to docu
  • Loading branch information
berndgassmann committed Sep 6, 2021
1 parent 5efb33f commit 84bb515
Show file tree
Hide file tree
Showing 678 changed files with 953 additions and 1,137 deletions.
10 changes: 6 additions & 4 deletions .github/workflows/build_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,22 +74,22 @@ jobs:
EXTRA_PACKAGES: g++-8
CC: /usr/bin/gcc-8
CXX: /usr/bin/g++-8
PYTHON_BINDING_VERSION: "3.6"
PYTHON_BINDING_VERSION: "3.6 -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3.6"
- compiler: gcc9
EXTRA_PACKAGES: g++-9
CC: /usr/bin/gcc-9
CXX: /usr/bin/g++-9
PYTHON_BINDING_VERSION: "3.6"
PYTHON_BINDING_VERSION: "3.6 -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3.6"
- compiler: clang7
EXTRA_PACKAGES: clang-7
CC: /usr/bin/clang-7
CXX: /usr/bin/clang++-7
PYTHON_BINDING_VERSION: "3.6"
PYTHON_BINDING_VERSION: "3.6 -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3.6"
- compiler: clang8
EXTRA_PACKAGES: clang-8
CC: /usr/bin/clang-8
CXX: /usr/bin/clang++-8
PYTHON_BINDING_VERSION: "3.6"
PYTHON_BINDING_VERSION: "3.6 -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3.6"

steps:
- uses: actions/checkout@v2
Expand All @@ -104,6 +104,7 @@ jobs:
CC: ${{ matrix.CC }}
CXX: ${{ matrix.CXX }}
EXTRA_PACKAGES: ${{ matrix.EXTRA_PACKAGES }}
PYTHON_BINDING_VERSION: ${{ matrix.PYTHON_BINDING_VERSION }}
run: |
sudo apt-get install ${EXTRA_PACKAGES}
rm -rf log build install
Expand Down Expand Up @@ -135,6 +136,7 @@ jobs:
CC: ${{ matrix.CC }}
CXX: ${{ matrix.CXX }}
EXTRA_PACKAGES: ${{ matrix.EXTRA_PACKAGES }}
PYTHON_BINDING_VERSION: ${{ matrix.PYTHON_BINDING_VERSION }}
run: |
sudo apt-get install ${EXTRA_PACKAGES}
rm -rf log build install
Expand Down
141 changes: 136 additions & 5 deletions ad_map_access/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,16 +1,15 @@
# ----------------- BEGIN LICENSE BLOCK ---------------------------------
#
# Copyright (C) 2019-2020 Intel Corporation
# Copyright (C) 2019-2021 Intel Corporation
#
# SPDX-License-Identifier: MIT
#
# ----------------- END LICENSE BLOCK -----------------------------------

cmake_minimum_required(VERSION 3.5)

project(ad_map_access)

list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/impl")
include(../cmake/carla-map-version.cmake)
project(ad_map_access VERSION ${CARLA-MAP_VERSION})

include(../cmake/compile-options.cmake)
include(../cmake/hardening.cmake)
Expand All @@ -22,8 +21,140 @@ include(../cmake/python-binding.cmake)
#convert list to string
string (REPLACE ";" " " TARGET_LINK_FLAGS "${TARGET_LINK_OPTIONS}")

add_subdirectory(generated)
include(GNUInstallDirs)
include(CMakePackageConfigHelpers)

set(ad_map_access_TARGET_INCLUDE_DIRECTORIES)
set(ad_map_access_TARGET_LINK_LIBRARIES)

find_package(Boost REQUIRED COMPONENTS program_options filesystem)
get_target_property(BOOST_PROGRAM_OPTIONS_INTERFACE_INCLUDE_DIRS Boost::program_options INTERFACE_INCLUDE_DIRECTORIES)
list(APPEND ad_map_access_TARGET_INCLUDE_DIRECTORIES ${BOOST_PROGRAM_OPTIONS_INTERFACE_INCLUDE_DIRS})
list(APPEND ad_map_access_TARGET_LINK_LIBRARIES Boost::program_options)
get_target_property(BOOST_FILESYSTEM_INTERFACE_INCLUDE_DIRS Boost::filesystem INTERFACE_INCLUDE_DIRECTORIES)
list(APPEND ad_map_access_TARGET_INCLUDE_DIRECTORIES ${BOOST_FILESYSTEM_INTERFACE_INCLUDE_DIRS})
list(APPEND ad_map_access_TARGET_LINK_LIBRARIES Boost::filesystem)

find_package(ad_map_opendrive_reader ${CARLA-MAP_VERSION} EXACT REQUIRED CONFIG)
find_package(ad_physics ${CARLA-MAP_VERSION} EXACT REQUIRED CONFIG)
find_package(spdlog REQUIRED CONFIG)

include(generated/ad_map_access.cmake)

add_library(${PROJECT_NAME}
${ad_map_access_GENERATED_SOURCES}
${CMAKE_CURRENT_SOURCE_DIR}/src/access/AdMapAccess.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/access/Factory.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/access/GeometryStore.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/access/Logging.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/access/Operation.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/access/Store.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/access/StoreSerialization.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/config/MapConfigFileHandler.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/intersection/CoreIntersection.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/intersection/Intersection.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/landmark/LandmarkOperation.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/lane/BorderOperation.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/lane/LaneOperation.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/match/AdMapMatching.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/match/MapMatchedOperation.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/opendrive/AdMapFactory.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/opendrive/DataTypeConversion.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/point/BoundingSphereOperation.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/point/CoordinateTransform.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/point/ECEFOperation.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/point/ENUOperation.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/point/GeometryOperation.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/point/GeoOperation.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/point/HeadingOperation.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/point/Transform.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/restriction/RestrictionOperation.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/route/LaneIntervalOperation.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/route/Planning.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/route/Route.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/route/RouteAStar.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/route/RouteOperation.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/route/RoutePrediction.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/serialize/ChecksumCRC32.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/serialize/SerializeGeneratedLaneTypes.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/serialize/Serializer.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/serialize/StorageFile.cpp
)

target_compile_definitions(${PROJECT_NAME} PUBLIC ${TARGET_COMPILE_DEFINITIONS})
target_compile_options(${PROJECT_NAME} PRIVATE ${TARGET_COMPILE_OPTIONS})
set_property(TARGET ${PROJECT_NAME} APPEND_STRING PROPERTY LINK_FLAGS ${TARGET_LINK_FLAGS})

configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/Version.hpp.in ${CMAKE_CURRENT_BINARY_DIR}/include/${PROJECT_NAME}/Version.hpp)

target_include_directories(${PROJECT_NAME} PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/generated/include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/include>
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
${ad_map_access_TARGET_INCLUDE_DIRECTORIES}
)

target_link_libraries(${PROJECT_NAME} PUBLIC
ad_physics
ad_map_opendrive_reader
spdlog::spdlog
PRIVATE
${ad_map_access_TARGET_LINK_LIBRARIES}
)

install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/include/
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
FILES_MATCHING PATTERN "*.h" PATTERN "*.hpp"
)

install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/generated/include/
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
FILES_MATCHING PATTERN "*.h" PATTERN "*.hpp"
)

install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/include/
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
FILES_MATCHING PATTERN "*.h" PATTERN "*.hpp"
)

install(TARGETS ${PROJECT_NAME} EXPORT ${PROJECT_NAME}_EXPORT
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
)

set(CMAKECONFIG_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}")

install(EXPORT ${PROJECT_NAME}_EXPORT
FILE ${PROJECT_NAME}Targets.cmake
DESTINATION ${CMAKECONFIG_INSTALL_DIR}
)

configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/Config.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/install/${PROJECT_NAME}Config.cmake
INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
)

write_basic_package_version_file(${CMAKE_CURRENT_BINARY_DIR}/install/${PROJECT_NAME}ConfigVersion.cmake
COMPATIBILITY SameMajorVersion
)

install(FILES
${CMAKE_CURRENT_BINARY_DIR}/install/${PROJECT_NAME}Config.cmake
${CMAKE_CURRENT_BINARY_DIR}/install/${PROJECT_NAME}ConfigVersion.cmake
DESTINATION ${CMAKECONFIG_INSTALL_DIR}
)

#####################################################################
# Tests
#####################################################################
if (BUILD_TESTING)
add_subdirectory(tests)
endif()

#####################################################################
# Python binding
#####################################################################
if(BUILD_PYTHON_BINDING)
add_subdirectory(python)
endif()
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,6 @@
# SPDX-License-Identifier: MIT
#
# ----------------- END LICENSE BLOCK -----------------------------------
##
##
# Generated file
#
# Generator Version : 11.0.0-1997
##

@PACKAGE_INIT@

Expand All @@ -25,12 +19,8 @@ get_target_property(BOOST_FILESYSTEM_INTERFACE_INCLUDE_DIRS Boost::filesystem IN
list(APPEND INCLUDE_DIRS ${BOOST_FILESYSTEM_INTERFACE_INCLUDE_DIRS})
list(APPEND LIBRARIES Boost::filesystem)

find_package(ad_map_opendrive_reader REQUIRED CONFIG)
get_target_property(AD_MAP_OPENDRIVE_READER_INTERFACE_INCLUDE_DIRS ad_map_opendrive_reader INTERFACE_INCLUDE_DIRECTORIES)
list(APPEND INCLUDE_DIRS ${AD_MAP_OPENDRIVE_READER_INTERFACE_INCLUDE_DIRS})
list(APPEND LIBRARIES ad_map_opendrive_reader)

find_dependency(ad_physics 2.4.8)
find_dependency(ad_map_opendrive_reader @CARLA-MAP_VERSION@)
find_dependency(ad_physics @CARLA-MAP_VERSION@)
find_dependency(spdlog)

include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,19 +20,19 @@
/*!
* The major version of ad_map_access
*/
#define AD_MAP_ACCESS_VERSION_MAJOR 2
#define AD_MAP_ACCESS_VERSION_MAJOR @CARLA-MAP_VERSION_MAJOR@

/*!
* The minor version of ad_map_access
*/
#define AD_MAP_ACCESS_VERSION_MINOR 4
#define AD_MAP_ACCESS_VERSION_MINOR @CARLA-MAP_VERSION_MINOR@

/*!
* The revision of ad_map_access
*/
#define AD_MAP_ACCESS_VERSION_REVISION 8
#define AD_MAP_ACCESS_VERSION_REVISION @CARLA-MAP_VERSION_REVISION@

/*!
* The version of ad_map_access as string
*/
#define AD_MAP_ACCESS_VERSION_STRING "2.4.8"
#define AD_MAP_ACCESS_VERSION_STRING "@CARLA-MAP_VERSION_MAJOR@.@CARLA-MAP_VERSION_MINOR@.@CARLA-MAP_VERSION_REVISION@"

0 comments on commit 84bb515

Please sign in to comment.