From 9b9202525e90b8c1708aa823d4d990290dbeda09 Mon Sep 17 00:00:00 2001 From: "Dr. Patrick Urbanke" Date: Sat, 13 Sep 2025 15:33:43 +0200 Subject: [PATCH 1/3] Updated version to 0.21.0 --- CMakeLists.txt | 2 +- pyproject.toml | 17 ----------------- vcpkg.json | 2 +- 3 files changed, 2 insertions(+), 19 deletions(-) delete mode 100644 pyproject.toml diff --git a/CMakeLists.txt b/CMakeLists.txt index e73bd25a..cb26a8f5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -139,7 +139,7 @@ if (REFLECTCPP_USE_VCPKG) set(CMAKE_TOOLCHAIN_FILE ${CMAKE_CURRENT_SOURCE_DIR}/vcpkg/scripts/buildsystems/vcpkg.cmake CACHE STRING "Vcpkg toolchain file") endif () -project(reflectcpp VERSION 0.20.0 LANGUAGES CXX) +project(reflectcpp VERSION 0.21.0 LANGUAGES CXX) if (PROJECT_IS_TOP_LEVEL) set(REFLECTCPP_INSTALL ON) diff --git a/pyproject.toml b/pyproject.toml deleted file mode 100644 index a1ccc998..00000000 --- a/pyproject.toml +++ /dev/null @@ -1,17 +0,0 @@ -[project] -name = "reflect-cpp" -version = "0.14.1" - -[tool.hatch.envs.default] -dependencies = [ - "mkdocs~=1.6", - "mkdocs-material~=9.5", - "mkdocs-htmlproofer-plugin~=1.2", -] - -[tool.hatch.envs.insiders] -dependencies = [ - "mkdocs~=1.6", - "mkdocs-material @ git+https://{env:GH_C17_DEV_TOKEN}@github.com/squidfunk/mkdocs-material-insiders.git@9.5.39-insiders-4.53.14", - "mkdocs-htmlproofer-plugin~=1.2", -] \ No newline at end of file diff --git a/vcpkg.json b/vcpkg.json index 494f79e9..bcfac778 100644 --- a/vcpkg.json +++ b/vcpkg.json @@ -1,6 +1,6 @@ { "name": "reflectcpp", - "version-string": "0.20.0", + "version-string": "0.21.0", "dependencies": [ { "name": "vcpkg-cmake" From d2451923771d5f0cd17cd99e4ea24d164c4da908 Mon Sep 17 00:00:00 2001 From: "Dr. Patrick Urbanke" Date: Sat, 13 Sep 2025 16:06:19 +0200 Subject: [PATCH 2/3] Updated conan --- CMakeLists.txt | 18 +++++++++++++----- conanfile.py | 8 ++++++++ 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index cb26a8f5..a023b6f0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -255,7 +255,11 @@ if (REFLECTCPP_CSV) if (NOT TARGET Arrow) find_package(Arrow CONFIG REQUIRED) endif() - target_link_libraries(reflectcpp PUBLIC "$,Arrow::arrow_static,Arrow::arrow_shared>") + if (REFLECTCPP_USE_VCPKG) + target_link_libraries(reflectcpp PUBLIC "$,Arrow::arrow_static,Arrow::arrow_shared>") + else() + target_link_libraries(reflectcpp PUBLIC "arrow::arrow") + endif() endif () if (REFLECTCPP_FLEXBUFFERS) @@ -282,11 +286,15 @@ if (REFLECTCPP_PARQUET) if (NOT TARGET Arrow) find_package(Arrow CONFIG REQUIRED) endif() - if (NOT TARGET Parquet) - find_package(Parquet CONFIG REQUIRED) + if (REFLECTCPP_USE_VCPKG) + if (NOT TARGET Parquet) + find_package(Parquet CONFIG REQUIRED) + endif() + target_link_libraries(reflectcpp PUBLIC "$,Arrow::arrow_static,Arrow::arrow_shared>") + target_link_libraries(reflectcpp PUBLIC "$,Parquet::parquet_static,Parquet::parquet_shared>") + else() + target_link_libraries(reflectcpp PUBLIC "arrow::arrow") endif() - target_link_libraries(reflectcpp PUBLIC "$,Arrow::arrow_static,Arrow::arrow_shared>") - target_link_libraries(reflectcpp PUBLIC "$,Parquet::parquet_static,Parquet::parquet_shared>") endif () if (REFLECTCPP_TOML) diff --git a/conanfile.py b/conanfile.py index 17c89a6d..a085b7b6 100644 --- a/conanfile.py +++ b/conanfile.py @@ -40,8 +40,10 @@ class ReflectCppConan(ConanFile): "fPIC": [True, False], "with_capnproto": [True, False], "with_cbor": [True, False], + "with_csv": [True, False], "with_flatbuffers": [True, False], "with_msgpack": [True, False], + "with_parquet": [True, False], "with_toml": [True, False], "with_ubjson": [True, False], "with_xml": [True, False], @@ -52,8 +54,10 @@ class ReflectCppConan(ConanFile): "fPIC": True, "with_capnproto": False, "with_cbor": False, + "with_csv": False, "with_flatbuffers": False, "with_msgpack": False, + "with_parquet": False, "with_toml": False, "with_ubjson": False, "with_xml": False, @@ -75,6 +79,8 @@ def requirements(self): self.requires("capnproto/1.1.0", transitive_headers=True) if self.options.with_cbor or self.options.with_ubjson: self.requires("jsoncons/0.176.0", transitive_headers=True) + if self.options.with_csv or self.options.with_parquet: + self.requires("arrow/21.0.0", transitive_headers=True) if self.options.with_flatbuffers: self.requires("flatbuffers/24.3.25", transitive_headers=True) if self.options.with_msgpack: @@ -110,8 +116,10 @@ def generate(self): tc.cache_variables["REFLECTCPP_USE_VCPKG"] = False tc.cache_variables["REFLECTCPP_CAPNPROTO"] = self.options.with_capnproto tc.cache_variables["REFLECTCPP_CBOR"] = self.options.with_cbor + tc.cache_variables["REFLECTCPP_CSV"] = self.options.with_csv tc.cache_variables["REFLECTCPP_FLEXBUFFERS"] = self.options.with_flatbuffers tc.cache_variables["REFLECTCPP_MSGPACK"] = self.options.with_msgpack + tc.cache_variables["REFLECTCPP_PARQUET"] = self.options.with_parquet tc.cache_variables["REFLECTCPP_TOML"] = self.options.with_toml tc.cache_variables["REFLECTCPP_XML"] = self.options.with_xml tc.cache_variables["REFLECTCPP_YAML"] = self.options.with_yaml From 8084f93e968000750e51a220ea69fc756adf17d7 Mon Sep 17 00:00:00 2001 From: "Dr. Patrick Urbanke" Date: Sat, 13 Sep 2025 16:07:18 +0200 Subject: [PATCH 3/3] Updated tests --- .github/workflows/linux-conan.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linux-conan.yaml b/.github/workflows/linux-conan.yaml index 9bcc1b84..b19daedb 100644 --- a/.github/workflows/linux-conan.yaml +++ b/.github/workflows/linux-conan.yaml @@ -21,5 +21,5 @@ jobs: pipx install conan conan profile detect - name: Make sure the library compiles with Conan - run: conan build . --build=missing -s compiler.cppstd=gnu20 -o *:with_capnproto=True -o *:with_cbor=True -o *:with_flatbuffers=True -o *:with_msgpack=True -o *:with_toml=True -o *:with_ubjson=True -o *:with_xml=True -o *:with_yaml=True + run: conan build . --build=missing -s compiler.cppstd=gnu20 -o *:with_capnproto=True -o *:with_cbor=True -o *:with_csv=True -o *:with_flatbuffers=True -o *:with_msgpack=True -o *:with_parquet=True -o *:with_toml=True -o *:with_ubjson=True -o *:with_xml=True -o *:with_yaml=True