build ros rolling image

This commit is contained in:
EricX-Zhao
2026-02-12 15:40:17 +03:00
parent 4c6b249a22
commit f746822e61
12 changed files with 186 additions and 6 deletions
@@ -0,0 +1,25 @@
cmake_minimum_required(VERSION 3.8)
project(console_bridge_vendor)
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
add_compile_options(-Wall -Wextra -Wpedantic)
endif()
# uncomment the following section in order to fill in
# further dependencies manually.
# find_package(<dependency> REQUIRED)
include(ExternalProject)
ExternalProject_Add(
console_bridge_vendor
GIT_REPOSITORY https://github.com/ros/console_bridge.git
GIT_TAG 81ec67f6daf3cd19ef506e00f02efb1645597b9c
CMAKE_ARGS
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
-DBUILD_TESTING=OFF
)
@@ -0,0 +1,13 @@
<?xml version="1.0"?>
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
<name>console_bridge_vendor</name>
<version>0.0.0</version>
<description>TODO: Package description</description>
<maintainer email="ericzhao0325@163.com">ericx</maintainer>
<license>TODO: License declaration</license>
<export>
<build_type>cmake</build_type>
</export>
</package>
@@ -0,0 +1,23 @@
cmake_minimum_required(VERSION 3.8)
project(json_vendor)
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
add_compile_options(-Wall -Wextra -Wpedantic)
endif()
# uncomment the following section in order to fill in
# further dependencies manually.
# find_package(<dependency> REQUIRED)
include(FetchContent)
FetchContent_Declare(
json_vendor
URL https://github.com/nlohmann/json/archive/refs/tags/v3.12.0.tar.gz
)
set(CMAKE_BUILD_TYPE Release)
set(JSON_BuildTests OFF CACHE BOOL "JSON_BuildTests" FORCE)
set(JSON_Install ON CACHE BOOL "JSON_Install" FORCE)
FetchContent_MakeAvailable(json_vendor)
@@ -0,0 +1,13 @@
<?xml version="1.0"?>
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
<name>json_vendor</name>
<version>0.0.0</version>
<description>TODO: Package description</description>
<maintainer email="ericzhao0325@163.com">ericx</maintainer>
<license>TODO: License declaration</license>
<export>
<build_type>cmake</build_type>
</export>
</package>
@@ -12,13 +12,15 @@ endif()
include(FetchContent)
FetchContent_Declare(
spdlog_vendor
URL https://github.com/gabime/spdlog/archive/refs/tags/v1.17.0.tar.gz
URL https://github.com/gabime/spdlog/archive/refs/tags/v1.12.0.tar.gz
)
set(CMAKE_BUILD_TYPE Release)
set(SPDLOG_BUILD_SHARED ON CACHE BOOL "SPDLOG_BUILD_SHARED" FORCE)
set(SPDLOG_BUILD_TESTS OFF CACHE BOOL "SPDLOG_BUILD_TESTS" FORCE)
set(SPDLOG_BUILD_EXAMPLE OFF CACHE BOOL "SPDLOG_BUILD_EXAMPLE" FORCE)
set(SPDLOG_INSTALL ON CACHE BOOL "SPDLOG_INSTALL" FORCE)
set(SPDLOG_BUILD_PIC ON CACHE BOOL "SPDLOG_BUILD_PIC" FORCE)
FetchContent_MakeAvailable(spdlog_vendor)
@@ -19,6 +19,9 @@
<depend>pybind11_vendor</depend>
<depend>spdlog_vendor</depend>
<depend>asio_vendor</depend>
<depend>console_bridge_vendor</depend>
<depend>zlib_vendor</depend>
<depend>json_vendor</depend>
<export>
<build_type>cmake</build_type>
@@ -0,0 +1,22 @@
cmake_minimum_required(VERSION 3.8)
project(zlib_vendor)
if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
add_compile_options(-Wall -Wextra -Wpedantic)
endif()
# uncomment the following section in order to fill in
# further dependencies manually.
# find_package(<dependency> REQUIRED)
include(FetchContent)
FetchContent_Declare(
zlib_vendor
URL https://github.com/madler/zlib/archive/refs/tags/v1.3.1.tar.gz
)
set(CMAKE_BUILD_TYPE Release)
set(ZLIB_BUILD_EXAMPLES OFF CACHE BOOL "ZLIB_BUILD_EXAMPLES" FORCE)
FetchContent_MakeAvailable(zlib_vendor)
@@ -0,0 +1,13 @@
<?xml version="1.0"?>
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
<name>zlib_vendor</name>
<version>0.0.0</version>
<description>TODO: Package description</description>
<maintainer email="ericzhao0325@163.com">ericx</maintainer>
<license>TODO: License declaration</license>
<export>
<build_type>cmake</build_type>
</export>
</package>