From c736585c154b6e7a5b65fbf702fcd2574fbda42e Mon Sep 17 00:00:00 2001 From: Xiaochong Wei Date: Sun, 18 May 2025 23:19:13 +0000 Subject: [PATCH 1/6] Make spider installable --- CMakeLists.txt | 20 +++++ cmake/Config.cmake.in | 25 ++++++ examples/quick-start/CMakeLists.txt | 17 ++-- src/spider/CMakeLists.txt | 125 +++++++++++++++++++++++++++- 4 files changed, 173 insertions(+), 14 deletions(-) create mode 100644 cmake/Config.cmake.in diff --git a/CMakeLists.txt b/CMakeLists.txt index 2c4c97382..829891945 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -196,3 +196,23 @@ find_package(Threads REQUIRED) add_subdirectory(src/spider) add_subdirectory(tests) + +include(CMakePackageConfigHelpers) + +configure_package_config_file( + ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Config.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake + INSTALL_DESTINATION share/cmake/#{PROJECT_NAME} +) + +write_basic_package_version_file( + ${CMAKE_CURRENT_BINARY_DIR}/ConfigVersion.cmake + VERSION ${PROJECT_VERSION} + COMPATIBILITY SameMajorVersion +) + +install(FILES + ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake + ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake + DESTINATION share/cmake/${PROJECT_NAME} +) diff --git a/cmake/Config.cmake.in b/cmake/Config.cmake.in new file mode 100644 index 000000000..4e85b7a3d --- /dev/null +++ b/cmake/Config.cmake.in @@ -0,0 +1,25 @@ +@PACKAGE_INIT@ + +include(CMakeFindDependencyMacro) + +find_dependency(Boost 1.74 REQUIRED COMPONENTS headers process program_options filesystem system) +find_dependency(fmt 8.0.1 REQUIRED) +find_dependency(spdlog 1.9.2 REQUIRED) +find_dependency(MariaDBClientCpp 1.0 REQUIRED) +find_dependency(msgpack-cxx 7.0.0 REQUIRED) +find_dependency(outcome REQUIRED) +find_dependency(absl REQUIRED) +find_dependency(Threads REQUIRED) + +if(NOT DEFINED SPIDER_YSTDLIB_SOURCE_DIRECTORY) + message(FATAL_ERROR "SPIDER_YSTDLIB_SOURCE_DIRECTORY must be set to use spider") +endif() + +add_subdirectory( + "${SPIDER_YSTDLIB_SOURCE_DIRECTORY}" + "${CMAKE_BINARY_DIR}/ystdlib" + EXCLUDE_FROM_ALL +) + +include("${CMAKE_CURRENT_LIST_DIR}/spider_core_export.cmake") +include("${CMAKE_CURRENT_LIST_DIR}/spider_client_export.cmake") diff --git a/examples/quick-start/CMakeLists.txt b/examples/quick-start/CMakeLists.txt index 1173f89c5..f53ddfb0c 100644 --- a/examples/quick-start/CMakeLists.txt +++ b/examples/quick-start/CMakeLists.txt @@ -1,13 +1,10 @@ cmake_minimum_required(VERSION 3.22.1) project(spider_getting_started) -if(PROJECT_IS_TOP_LEVEL) - # Include dependency settings if the project isn't being included as a subproject. - include("${CMAKE_SOURCE_DIR}/../../build/deps/cmake-settings/all.cmake") -endif() - -# Add the Spider library -add_subdirectory(../../ spider EXCLUDE_FROM_ALL) +include("../../build/deps/cmake-settings/all.cmake") +set(CMAKE_MODULE_PATH "../../cmake/Modules") +set(SPIDER_YSTDLIB_SOURCE_DIRECTORY "../../build/deps/ystdlib/ystdlib-src") +find_package(spider REQUIRED) # Add the tasks library add_library( @@ -18,7 +15,7 @@ add_library( ) # Link the Spider library to the tasks library -target_link_libraries(tasks PRIVATE spider::spider) +target_link_libraries(tasks PRIVATE spider::spider_client) # Add the client add_executable(client src/client.cpp) @@ -27,6 +24,6 @@ add_executable(client src/client.cpp) target_link_libraries( client PRIVATE - spider::spider + spider::spider_client tasks -) +) \ No newline at end of file diff --git a/src/spider/CMakeLists.txt b/src/spider/CMakeLists.txt index b3f92f4ab..473d28084 100644 --- a/src/spider/CMakeLists.txt +++ b/src/spider/CMakeLists.txt @@ -43,7 +43,12 @@ set(SPIDER_CORE_HEADERS add_library(spider_core) target_sources(spider_core PRIVATE ${SPIDER_CORE_SOURCES}) -target_sources(spider_core PUBLIC ${SPIDER_CORE_HEADERS}) +target_sources(spider_core PRIVATE ${SPIDER_CORE_HEADERS}) +target_include_directories(spider_core + PUBLIC + $ + $ +) target_link_libraries( spider_core PUBLIC @@ -55,6 +60,81 @@ target_link_libraries( ystdlib::error_handling ) target_link_libraries(spider_core PRIVATE fmt::fmt) +add_library(${PROJECT_NAME}::spider_core ALIAS spider_core) + +install( + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/core/Error.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/core/Data.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/core/Driver.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/core/KeyValueData.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/core/Task.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/core/TaskGraph.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/core/JobMetadata.hpp + DESTINATION include/${PROJECT_NAME}/core +) + +install( + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/io/BoostAsio.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/io/MsgPack.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/io/msgpack_message.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/io/Serializer.hpp + DESTINATION include/${PROJECT_NAME}/io +) + +install( + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/utils/LruCache.hpp + DESTINATION include/${PROJECT_NAME}/utils +) + +install( + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/storage/MetadataStorage.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/storage/DataStorage.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/storage/StorageConnection.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/storage/mysql/mysql_stmt.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/storage/mysql/MySqlConnection.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/storage/mysql/MySqlStorageFactory.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/storage/mysql/MySqlStorage.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/storage/mysql/MySqlJobSubmissionBatch.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/storage/JobSubmissionBatch.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/storage/StorageFactory.hpp + DESTINATION include/${PROJECT_NAME}/storage +) + +install( + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/worker/FunctionManager.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/worker/FunctionNameManager.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/worker/TaskExecutorMessage.hpp + DESTINATION include/${PROJECT_NAME}/worker +) + +install( + TARGETS spider_core + EXPORT spider_core_export +) + +install( + EXPORT spider_core_export + FILE spider_core_export.cmake + NAMESPACE ${PROJECT_NAME}:: + DESTINATION share/cmake/${PROJECT_NAME} +) + +install( + TARGETS error_handling + EXPORT ystdlib_error_handling_export +) + +install( + EXPORT ystdlib_error_handling_export + FILE ystdlib_error_handling_export.cmake + NAMESPACE ystdlib:: + DESTINATION share/cmake/ystdlib +) set(SPIDER_WORKER_SOURCES worker/ChildPid.hpp @@ -175,8 +255,12 @@ set(SPIDER_CLIENT_SHARED_HEADERS add_library(spider_client) target_sources(spider_client PRIVATE ${SPIDER_CLIENT_SHARED_SOURCES}) -target_sources(spider_client PUBLIC ${SPIDER_CLIENT_SHARED_HEADERS}) -target_include_directories(spider_client PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/..) +target_sources(spider_client PRIVATE ${SPIDER_CLIENT_SHARED_HEADERS}) +target_include_directories(spider_client + PUBLIC + $ + $ +) target_link_libraries( spider_client PUBLIC @@ -186,4 +270,37 @@ target_link_libraries( fmt::fmt ) -add_library(spider::spider ALIAS spider_client) +add_library(${PROJECT_NAME}::spider ALIAS spider_client) + +install( + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/client/Data.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/client/Driver.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/client/Job.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/client/task.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/client/spider.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/client/TaskContext.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/client/TaskGraph.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/client/type_utils.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/client/Exception.hpp + DESTINATION include/${PROJECT_NAME}/client +) + +install( + FILES + ${CMAKE_CURRENT_SOURCE_DIR}/core/DataImpl.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/core/TaskContextImpl.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/core/TaskGraphImpl.hpp + DESTINATION include/${PROJECT_NAME}/core +) + +install( + TARGETS spider_client + EXPORT spider_client_export +) + +install(EXPORT spider_client_export + FILE spider_client_export.cmake + NAMESPACE ${PROJECT_NAME}:: + DESTINATION share/cmake/${PROJECT_NAME} +) From fa147aa2206bc602f525a68cb620a6bc89cf5a89 Mon Sep 17 00:00:00 2001 From: Xiaochong Wei Date: Mon, 19 May 2025 18:42:35 +0000 Subject: [PATCH 2/6] Fix lint and CI failure --- CMakeLists.txt | 9 +-- examples/quick-start/CMakeLists.txt | 2 +- src/spider/CMakeLists.txt | 96 ++++++++++++++--------------- taskfile.yaml | 5 +- 4 files changed, 54 insertions(+), 58 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 829891945..f8bd257ec 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -202,7 +202,7 @@ include(CMakePackageConfigHelpers) configure_package_config_file( ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Config.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake - INSTALL_DESTINATION share/cmake/#{PROJECT_NAME} + INSTALL_DESTINATION share/cmake/${PROJECT_NAME} ) write_basic_package_version_file( @@ -211,8 +211,9 @@ write_basic_package_version_file( COMPATIBILITY SameMajorVersion ) -install(FILES - ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake - ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake +install( + FILES + ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake + ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake DESTINATION share/cmake/${PROJECT_NAME} ) diff --git a/examples/quick-start/CMakeLists.txt b/examples/quick-start/CMakeLists.txt index f53ddfb0c..e69e47107 100644 --- a/examples/quick-start/CMakeLists.txt +++ b/examples/quick-start/CMakeLists.txt @@ -26,4 +26,4 @@ target_link_libraries( PRIVATE spider::spider_client tasks -) \ No newline at end of file +) diff --git a/src/spider/CMakeLists.txt b/src/spider/CMakeLists.txt index 473d28084..90d229072 100644 --- a/src/spider/CMakeLists.txt +++ b/src/spider/CMakeLists.txt @@ -44,7 +44,8 @@ set(SPIDER_CORE_HEADERS add_library(spider_core) target_sources(spider_core PRIVATE ${SPIDER_CORE_SOURCES}) target_sources(spider_core PRIVATE ${SPIDER_CORE_HEADERS}) -target_include_directories(spider_core +target_include_directories( + spider_core PUBLIC $ $ @@ -64,58 +65,55 @@ add_library(${PROJECT_NAME}::spider_core ALIAS spider_core) install( FILES - ${CMAKE_CURRENT_SOURCE_DIR}/core/Error.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/core/Data.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/core/Driver.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/core/KeyValueData.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/core/Task.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/core/TaskGraph.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/core/JobMetadata.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/core/Error.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/core/Data.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/core/Driver.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/core/KeyValueData.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/core/Task.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/core/TaskGraph.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/core/JobMetadata.hpp DESTINATION include/${PROJECT_NAME}/core ) install( FILES - ${CMAKE_CURRENT_SOURCE_DIR}/io/BoostAsio.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/io/MsgPack.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/io/msgpack_message.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/io/Serializer.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/io/BoostAsio.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/io/MsgPack.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/io/msgpack_message.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/io/Serializer.hpp DESTINATION include/${PROJECT_NAME}/io ) install( FILES - ${CMAKE_CURRENT_SOURCE_DIR}/utils/LruCache.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/utils/LruCache.hpp DESTINATION include/${PROJECT_NAME}/utils ) install( FILES - ${CMAKE_CURRENT_SOURCE_DIR}/storage/MetadataStorage.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/storage/DataStorage.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/storage/StorageConnection.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/storage/mysql/mysql_stmt.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/storage/mysql/MySqlConnection.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/storage/mysql/MySqlStorageFactory.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/storage/mysql/MySqlStorage.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/storage/mysql/MySqlJobSubmissionBatch.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/storage/JobSubmissionBatch.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/storage/StorageFactory.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/storage/MetadataStorage.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/storage/DataStorage.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/storage/StorageConnection.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/storage/mysql/mysql_stmt.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/storage/mysql/MySqlConnection.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/storage/mysql/MySqlStorageFactory.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/storage/mysql/MySqlStorage.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/storage/mysql/MySqlJobSubmissionBatch.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/storage/JobSubmissionBatch.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/storage/StorageFactory.hpp DESTINATION include/${PROJECT_NAME}/storage ) install( FILES - ${CMAKE_CURRENT_SOURCE_DIR}/worker/FunctionManager.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/worker/FunctionNameManager.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/worker/TaskExecutorMessage.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/worker/FunctionManager.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/worker/FunctionNameManager.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/worker/TaskExecutorMessage.hpp DESTINATION include/${PROJECT_NAME}/worker ) -install( - TARGETS spider_core - EXPORT spider_core_export -) +install(TARGETS spider_core EXPORT spider_core_export) install( EXPORT spider_core_export @@ -124,10 +122,7 @@ install( DESTINATION share/cmake/${PROJECT_NAME} ) -install( - TARGETS error_handling - EXPORT ystdlib_error_handling_export -) +install(TARGETS error_handling EXPORT ystdlib_error_handling_export) install( EXPORT ystdlib_error_handling_export @@ -256,7 +251,8 @@ set(SPIDER_CLIENT_SHARED_HEADERS add_library(spider_client) target_sources(spider_client PRIVATE ${SPIDER_CLIENT_SHARED_SOURCES}) target_sources(spider_client PRIVATE ${SPIDER_CLIENT_SHARED_HEADERS}) -target_include_directories(spider_client +target_include_directories( + spider_client PUBLIC $ $ @@ -274,32 +270,30 @@ add_library(${PROJECT_NAME}::spider ALIAS spider_client) install( FILES - ${CMAKE_CURRENT_SOURCE_DIR}/client/Data.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/client/Driver.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/client/Job.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/client/task.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/client/spider.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/client/TaskContext.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/client/TaskGraph.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/client/type_utils.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/client/Exception.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/client/Data.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/client/Driver.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/client/Job.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/client/task.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/client/spider.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/client/TaskContext.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/client/TaskGraph.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/client/type_utils.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/client/Exception.hpp DESTINATION include/${PROJECT_NAME}/client ) install( FILES - ${CMAKE_CURRENT_SOURCE_DIR}/core/DataImpl.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/core/TaskContextImpl.hpp - ${CMAKE_CURRENT_SOURCE_DIR}/core/TaskGraphImpl.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/core/DataImpl.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/core/TaskContextImpl.hpp + ${CMAKE_CURRENT_SOURCE_DIR}/core/TaskGraphImpl.hpp DESTINATION include/${PROJECT_NAME}/core ) +install(TARGETS spider_client EXPORT spider_client_export) + install( - TARGETS spider_client EXPORT spider_client_export -) - -install(EXPORT spider_client_export FILE spider_client_export.cmake NAMESPACE ${PROJECT_NAME}:: DESTINATION share/cmake/${PROJECT_NAME} diff --git a/taskfile.yaml b/taskfile.yaml index 556ef3486..f8569fc47 100644 --- a/taskfile.yaml +++ b/taskfile.yaml @@ -42,8 +42,9 @@ tasks: - "{{.G_EXAMPLES_CMAKE_CACHE}}" - "{{.G_EXAMPLES_COMPILE_COMMANDS_DB}}" cmds: - - "cmake -S '{{.ROOT_DIR}}' -B '{{.G_BUILD_SPIDER_DIR}}'" - - "cmake -S '{{.ROOT_DIR}}/examples/quick-start' -B '{{.G_BUILD_EXAMPLES_DIR}}'" + - "cmake -S '{{.ROOT_DIR}}' -B '{{.G_BUILD_SPIDER_DIR}}' -DCMAKE_INSTALL_PREFIX='{{.ROOT_DIR}}/install-test'" + - "cmake --build '{{.G_BUILD_SPIDER_DIR}}' --target install -j$(nproc)" + - "cmake -S '{{.ROOT_DIR}}/examples/quick-start' -B '{{.G_BUILD_EXAMPLES_DIR}}' -DCMAKE_PREFIX_PATH='{{.ROOT_DIR}}/install-test;'" init: internal: true From 807934712bb9b375c34ad14fc42174c8fd22ce22 Mon Sep 17 00:00:00 2001 From: Xiaochong Wei Date: Mon, 19 May 2025 19:25:50 +0000 Subject: [PATCH 3/6] Fix CI --- CMakeLists.txt | 2 +- cmake/Config.cmake.in | 16 ++++++++-------- examples/quick-start/CMakeLists.txt | 1 - taskfile.yaml | 2 +- 4 files changed, 10 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f8bd257ec..736502b34 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -206,7 +206,7 @@ configure_package_config_file( ) write_basic_package_version_file( - ${CMAKE_CURRENT_BINARY_DIR}/ConfigVersion.cmake + ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake VERSION ${PROJECT_VERSION} COMPATIBILITY SameMajorVersion ) diff --git a/cmake/Config.cmake.in b/cmake/Config.cmake.in index 4e85b7a3d..b9d3190e6 100644 --- a/cmake/Config.cmake.in +++ b/cmake/Config.cmake.in @@ -2,14 +2,14 @@ include(CMakeFindDependencyMacro) -find_dependency(Boost 1.74 REQUIRED COMPONENTS headers process program_options filesystem system) -find_dependency(fmt 8.0.1 REQUIRED) -find_dependency(spdlog 1.9.2 REQUIRED) -find_dependency(MariaDBClientCpp 1.0 REQUIRED) -find_dependency(msgpack-cxx 7.0.0 REQUIRED) -find_dependency(outcome REQUIRED) -find_dependency(absl REQUIRED) -find_dependency(Threads REQUIRED) +find_package(Boost 1.74 REQUIRED COMPONENTS headers process program_options filesystem system) +find_package(fmt 8.0.1 REQUIRED) +find_package(spdlog 1.9.2 REQUIRED) +find_package(MariaDBClientCpp 1.0 REQUIRED) +find_package(msgpack-cxx 7.0.0 REQUIRED) +find_package(outcome REQUIRED) +find_package(absl REQUIRED) +find_package(Threads REQUIRED) if(NOT DEFINED SPIDER_YSTDLIB_SOURCE_DIRECTORY) message(FATAL_ERROR "SPIDER_YSTDLIB_SOURCE_DIRECTORY must be set to use spider") diff --git a/examples/quick-start/CMakeLists.txt b/examples/quick-start/CMakeLists.txt index e69e47107..9fc69d667 100644 --- a/examples/quick-start/CMakeLists.txt +++ b/examples/quick-start/CMakeLists.txt @@ -2,7 +2,6 @@ cmake_minimum_required(VERSION 3.22.1) project(spider_getting_started) include("../../build/deps/cmake-settings/all.cmake") -set(CMAKE_MODULE_PATH "../../cmake/Modules") set(SPIDER_YSTDLIB_SOURCE_DIRECTORY "../../build/deps/ystdlib/ystdlib-src") find_package(spider REQUIRED) diff --git a/taskfile.yaml b/taskfile.yaml index f8569fc47..b317ce8db 100644 --- a/taskfile.yaml +++ b/taskfile.yaml @@ -44,7 +44,7 @@ tasks: cmds: - "cmake -S '{{.ROOT_DIR}}' -B '{{.G_BUILD_SPIDER_DIR}}' -DCMAKE_INSTALL_PREFIX='{{.ROOT_DIR}}/install-test'" - "cmake --build '{{.G_BUILD_SPIDER_DIR}}' --target install -j$(nproc)" - - "cmake -S '{{.ROOT_DIR}}/examples/quick-start' -B '{{.G_BUILD_EXAMPLES_DIR}}' -DCMAKE_PREFIX_PATH='{{.ROOT_DIR}}/install-test;'" + - "cmake -S '{{.ROOT_DIR}}/examples/quick-start' -B '{{.G_BUILD_EXAMPLES_DIR}}' -DCMAKE_PREFIX_PATH='{{.ROOT_DIR}}/install-test;' -DCMAKE_MODULE_PATH='{{.ROOT_DIR}}/cmake/Modules;'" init: internal: true From 67a7bc6ee6a6623f8d1de2e1d5c5cd8dbcca0903 Mon Sep 17 00:00:00 2001 From: Xiaochong Wei Date: Mon, 19 May 2025 19:52:22 +0000 Subject: [PATCH 4/6] Fix --- cmake/Modules/FindMariaDBClientCpp.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/Modules/FindMariaDBClientCpp.cmake b/cmake/Modules/FindMariaDBClientCpp.cmake index 86f7250c6..79c4f619e 100644 --- a/cmake/Modules/FindMariaDBClientCpp.cmake +++ b/cmake/Modules/FindMariaDBClientCpp.cmake @@ -13,7 +13,7 @@ set(mariadbclientcpp_LIBNAME "mariadbcpp") -include(cmake/Modules/FindLibraryDependencies.cmake) +include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/FindLibraryDependencies.cmake) # Run pkg-config find_package(PkgConfig) From 9a7649f5fa137a4da10ffdfb4817d8e022214839 Mon Sep 17 00:00:00 2001 From: Xiaochong Wei Date: Mon, 19 May 2025 20:04:26 +0000 Subject: [PATCH 5/6] Fix --- cmake/Modules/FindMariaDBClientCpp.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/Modules/FindMariaDBClientCpp.cmake b/cmake/Modules/FindMariaDBClientCpp.cmake index 79c4f619e..5a90e4a19 100644 --- a/cmake/Modules/FindMariaDBClientCpp.cmake +++ b/cmake/Modules/FindMariaDBClientCpp.cmake @@ -13,7 +13,7 @@ set(mariadbclientcpp_LIBNAME "mariadbcpp") -include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules/FindLibraryDependencies.cmake) +include(${CMAKE_SOURCE_DIR}/cmake/Modules/FindLibraryDependencies.cmake) # Run pkg-config find_package(PkgConfig) From 6eece79bbd608a6f509f319639f5ee2c44f93377 Mon Sep 17 00:00:00 2001 From: Xiaochong Wei Date: Tue, 20 May 2025 15:04:38 +0000 Subject: [PATCH 6/6] Fix! --- cmake/Modules/FindMariaDBClientCpp.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/Modules/FindMariaDBClientCpp.cmake b/cmake/Modules/FindMariaDBClientCpp.cmake index 5a90e4a19..da1a12da8 100644 --- a/cmake/Modules/FindMariaDBClientCpp.cmake +++ b/cmake/Modules/FindMariaDBClientCpp.cmake @@ -13,7 +13,7 @@ set(mariadbclientcpp_LIBNAME "mariadbcpp") -include(${CMAKE_SOURCE_DIR}/cmake/Modules/FindLibraryDependencies.cmake) +include(${CMAKE_CURRENT_LIST_DIR}/FindLibraryDependencies.cmake) # Run pkg-config find_package(PkgConfig)