Skip to content

Commit 23f0222

Browse files
committed
Handle conan package name and flatc target
1 parent 655001f commit 23f0222

File tree

3 files changed

+21
-7
lines changed

3 files changed

+21
-7
lines changed

.github/workflows/conan.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
-DSPARROW_IPC_BUILD_TESTS=ON \
3131
-DFETCH_DEPENDENCIES_WITH_CMAKE=MISSING
3232
33-
- name: Build
33+
- name: Build tests
3434
working-directory: build/build/Release
3535
run: cmake --build . --config Release --target test_sparrow_ipc_lib
3636

CMakeLists.txt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,9 +99,15 @@ foreach(fbs_file IN LISTS FLATBUFFERS_SCHEMAS)
9999
list(APPEND FLATBUFFERS_GENERATED_HEADERS "${FLATBUFFERS_GENERATED_DIR}/${header_name}_generated.h")
100100
endforeach()
101101

102+
if(TARGET flatbuffers::flatc)
103+
set(FLATC_EXECUTABLE flatbuffers::flatc)
104+
else()
105+
set(FLATC_EXECUTABLE flatc)
106+
endif()
107+
102108
add_custom_command(
103109
OUTPUT ${FLATBUFFERS_GENERATED_HEADERS}
104-
COMMAND flatc --cpp -o ${FLATBUFFERS_GENERATED_DIR} --cpp-std c++17 --scoped-enums ${FLATBUFFERS_SCHEMAS}
110+
COMMAND ${FLATC_EXECUTABLE} --cpp -o ${FLATBUFFERS_GENERATED_DIR} --cpp-std c++17 --scoped-enums ${FLATBUFFERS_SCHEMAS}
105111
DEPENDS ${FLATBUFFERS_SCHEMAS}
106112
COMMENT "Generating FlatBuffers C++ headers from schemas"
107113
)

cmake/external_dependencies.cmake

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,23 @@ endif()
1111

1212
function(find_package_or_fetch)
1313
set(options)
14-
set(oneValueArgs PACKAGE_NAME VERSION GIT_REPOSITORY TAG)
14+
set(oneValueArgs CONAN_PKG_NAME PACKAGE_NAME VERSION GIT_REPOSITORY TAG)
1515
set(multiValueArgs)
1616
cmake_parse_arguments(PARSE_ARGV 0 arg
1717
"${options}" "${oneValueArgs}" "${multiValueArgs}"
1818
)
19+
20+
set(actual_pkg_name ${arg_PACKAGE_NAME})
21+
if(arg_CONAN_PKG_NAME)
22+
set(actual_pkg_name ${arg_CONAN_PKG_NAME})
23+
endif()
24+
1925
if(NOT FETCH_DEPENDENCIES_WITH_CMAKE STREQUAL "ON")
20-
find_package(${arg_PACKAGE_NAME} ${FIND_PACKAGE_OPTIONS})
26+
find_package(${actual_pkg_name} ${FIND_PACKAGE_OPTIONS})
2127
endif()
28+
2229
if(FETCH_DEPENDENCIES_WITH_CMAKE STREQUAL "ON" OR FETCH_DEPENDENCIES_WITH_CMAKE STREQUAL "MISSING")
23-
if(NOT ${arg_PACKAGE_NAME}_FOUND)
30+
if(NOT ${actual_pkg_name}_FOUND)
2431
message(STATUS "📦 Fetching ${arg_PACKAGE_NAME}")
2532
FetchContent_Declare(
2633
${arg_PACKAGE_NAME}
@@ -33,7 +40,7 @@ function(find_package_or_fetch)
3340
FetchContent_MakeAvailable(${arg_PACKAGE_NAME})
3441
message(STATUS "\t✅ Fetched ${arg_PACKAGE_NAME}")
3542
else()
36-
message(STATUS "📦 ${arg_PACKAGE_NAME} found here: ${arg_PACKAGE_NAME}_DIR")
43+
message(STATUS "📦 ${actual_pkg_name} found here: ${actual_pkg_name}_DIR")
3744
endif()
3845
endif()
3946
endfunction()
@@ -53,6 +60,7 @@ endif()
5360
set(FLATBUFFERS_BUILD_TESTS OFF)
5461
set(FLATBUFFERS_BUILD_SHAREDLIB ${SPARROW_IPC_BUILD_SHARED})
5562
find_package_or_fetch(
63+
CONAN_PKG_NAME flatbuffers
5664
PACKAGE_NAME FlatBuffers
5765
VERSION v25.2.10
5866
GIT_REPOSITORY https://github.com/google/flatbuffers.git
@@ -71,4 +79,4 @@ if(SPARROW_IPC_BUILD_TESTS)
7179
GIT_REPOSITORY https://github.com/doctest/doctest.git
7280
TAG v2.4.12
7381
)
74-
endif()
82+
endif()

0 commit comments

Comments
 (0)