Skip to content

Commit 8e90a5b

Browse files
committed
fix: Remove FetchContent for the Transport
1 parent c152ff0 commit 8e90a5b

File tree

4 files changed

+12
-76
lines changed

4 files changed

+12
-76
lines changed

.transport.version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.1.3
1+
1.1.4

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
## [0.5.2](https://github.com/rdkcentral/firebolt-cpp-client/compare/v0.5.1...v0.5.2)
2+
3+
### Changed
4+
- **Breaking**: Removed `FetchContent` from the build system. The Firebolt C++ Transport must now be installed separately (along with other dependencies) before building the project.
5+
16
## [0.5.1](https://github.com/rdkcentral/firebolt-cpp-client/compare/v0.5.0...v0.5.1)
27

38
### Changed

CMakeLists.txt

Lines changed: 6 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,12 @@
1616

1717
cmake_minimum_required(VERSION 3.12)
1818

19-
include(FetchContent)
20-
2119
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
2220

2321
project(FireboltClient)
2422

2523
include(version)
2624

27-
if(EXISTS "${CMAKE_SOURCE_DIR}/.transport.version")
28-
file(READ "${CMAKE_SOURCE_DIR}/.transport.version" FIREBOLT_TRANSPORT_VERSION)
29-
string(STRIP ${FIREBOLT_TRANSPORT_VERSION} FIREBOLT_TRANSPORT_VERSION)
30-
else()
31-
message(FATAL_ERROR "Could not determine firebolt-cpp-transport version from .transport.version")
32-
endif()
33-
3425
message(STATUS "Project version: ${PROJECT_VERSION}")
3526

3627
option(BUILD_SHARED_LIBS "Build shared libraries" ON)
@@ -53,42 +44,15 @@ list(APPEND CMAKE_MODULE_PATH
5344
"${SYSROOT_PATH}/usr/lib/cmake"
5445
)
5546

56-
if(NOT TARGET nlohmann_json::nlohmann_json)
57-
find_package(nlohmann_json REQUIRED)
58-
endif()
59-
60-
if(NOT TARGET websocketpp::websocketpp)
61-
find_package(websocketpp REQUIRED)
62-
endif()
47+
find_package(nlohmann_json CONFIG REQUIRED)
6348

64-
find_package(FireboltTransport CONFIG QUIET)
49+
file(READ "${CMAKE_CURRENT_SOURCE_DIR}/.transport.version" FIREBOLT_TRANSPORT_VERSION_RAW)
50+
string(STRIP "${FIREBOLT_TRANSPORT_VERSION_RAW}" FIREBOLT_TRANSPORT_VERSION)
51+
string(REGEX REPLACE "^v?([0-9]+)\\.([0-9]+)\\.([0-9]+).*" "\\1" FIREBOLT_TRANSPORT_MAJOR_VERSION "${FIREBOLT_TRANSPORT_VERSION}")
6552

66-
if(FireboltTransport_FOUND)
67-
check_version_compatibility(FireboltTransport_VERSION_OK "${FireboltTransport_VERSION}" "${FIREBOLT_TRANSPORT_VERSION}")
68-
else()
69-
set(FireboltTransport_VERSION_OK FALSE)
70-
endif()
53+
find_package(FireboltTransport ${FIREBOLT_TRANSPORT_MAJOR_VERSION} CONFIG REQUIRED)
7154

72-
if(FireboltTransport_VERSION_OK)
73-
message(STATUS "Installed FireboltTransport, ${FireboltTransport_VERSION}, matches expected version: ${FIREBOLT_TRANSPORT_VERSION}")
74-
else()
75-
message(STATUS "FireboltTransport version mismatch or not found, expected '${FIREBOLT_TRANSPORT_VERSION}' but found '${FireboltTransport_VERSION}'")
76-
if (BUILD_WITH_INSTALLED_TRANSPORT AND FireboltTransport_FOUND)
77-
message(WARNING "Using installed FireboltTransport version '${FireboltTransport_VERSION}' even though it does not match expected version '${FIREBOLT_TRANSPORT_VERSION}'")
78-
else()
79-
message(STATUS "Will try to fetch it.")
80-
FetchContent_Declare(
81-
FireboltTransport
82-
URL "https://github.com/rdkcentral/firebolt-cpp-transport/releases/download/v${FIREBOLT_TRANSPORT_VERSION}/firebolt-cpp-transport-${FIREBOLT_TRANSPORT_VERSION}.tar.gz"
83-
URL_HASH "SHA256=0a0c9394395a514d3ba6931a6c656886523c6b3f038b0cb991c27c837f0e506e"
84-
DOWNLOAD_EXTRACT_TIMESTAMP true
85-
)
86-
set(ENABLE_TESTS_ORIG ${ENABLE_TESTS})
87-
set(ENABLE_TESTS OFF)
88-
FetchContent_MakeAvailable(FireboltTransport)
89-
set(ENABLE_TESTS ${ENABLE_TESTS_ORIG})
90-
endif()
91-
endif()
55+
message(STATUS "Transport: installed version: ${FireboltTransport_VERSION}, expected: ${FIREBOLT_TRANSPORT_VERSION}")
9256

9357
add_compile_options(-Wall -Wextra -Wpedantic)
9458

cmake/version.cmake

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -46,36 +46,3 @@ set(VERSION ${PROJECT_VERSION})
4646
string(REGEX REPLACE "^v?([0-9]+)\\.([0-9]+)\\.([0-9]+).*" "\\1" PROJECT_VERSION_MAJOR "${VERSION}")
4747
string(REGEX REPLACE "^v?([0-9]+)\\.([0-9]+)\\.([0-9]+).*" "\\2" PROJECT_VERSION_MINOR "${VERSION}")
4848
string(REGEX REPLACE "^v?([0-9]+)\\.([0-9]+)\\.([0-9]+).*" "\\3" PROJECT_VERSION_PATCH "${VERSION}")
49-
50-
function(check_version_compatibility result_var found_version required_version)
51-
set(FOUND_VERSION_SUFFIX "")
52-
set(FOUND_VERSION_SUFFIX_NO "")
53-
string(REGEX REPLACE "^([0-9]+)\\.([0-9]+)\\.([0-9]+)(-(.*))?" "\\1" FOUND_VERSION_MAJOR "${found_version}")
54-
if (found_version MATCHES "^([0-9]+)\\.([0-9]+)\\.([0-9]+)-([^.]*)(\\.(.*))?")
55-
set(FOUND_VERSION_SUFFIX "${CMAKE_MATCH_4}")
56-
set(FOUND_VERSION_SUFFIX_NO "${CMAKE_MATCH_6}")
57-
endif()
58-
59-
set(REQUIRED_VERSION_SUFFIX "")
60-
set(REQUIRED_VERSION_SUFFIX_NO "")
61-
string(REGEX REPLACE "^([0-9]+)(\\.([0-9]+)(\\.([0-9]+))?)?(-(.*))?" "\\1" REQUIRED_VERSION_MAJOR "${required_version}")
62-
if (required_version MATCHES "^([0-9]+)(\\.[0-9]+(\\.[0-9]+)?)?-([^.]*)(\\.([0-9]+))?")
63-
set(REQUIRED_VERSION_SUFFIX "${CMAKE_MATCH_4}")
64-
set(REQUIRED_VERSION_SUFFIX_NO "${CMAKE_MATCH_6}")
65-
endif()
66-
67-
set(IS_OK FALSE)
68-
if (NOT FOUND_VERSION_MAJOR EQUAL REQUIRED_VERSION_MAJOR)
69-
set(IS_OK FALSE)
70-
elseif(found_version VERSION_LESS required_version)
71-
set(IS_OK FALSE)
72-
elseif(REQUIRED_VERSION_SUFFIX STREQUAL "" AND FOUND_VERSION_SUFFIX STREQUAL "")
73-
set(IS_OK TRUE)
74-
elseif(FOUND_VERSION_SUFFIX STREQUAL REQUIRED_VERSION_SUFFIX)
75-
if(REQUIRED_VERSION_SUFFIX_NO STREQUAL "" OR FOUND_VERSION_SUFFIX_NO GREATER_EQUAL REQUIRED_VERSION_SUFFIX_NO)
76-
set(IS_OK TRUE)
77-
endif()
78-
endif()
79-
80-
set(${result_var} ${IS_OK} PARENT_SCOPE)
81-
endfunction()

0 commit comments

Comments
 (0)