From d93e51a0316a90ff014023594a67f158160f6b3f Mon Sep 17 00:00:00 2001 From: "Dr. Patrick Urbanke" Date: Tue, 12 May 2026 23:08:11 +0200 Subject: [PATCH 1/2] Updated the conanfile.py to include more supported formats --- .github/workflows/linux-conan.yaml | 2 +- conanfile.py | 12 ++++++++++++ vcpkg.json | 14 +++++++------- 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/.github/workflows/linux-conan.yaml b/.github/workflows/linux-conan.yaml index 4acdc1d5..21c36755 100644 --- a/.github/workflows/linux-conan.yaml +++ b/.github/workflows/linux-conan.yaml @@ -24,5 +24,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_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 + run: conan build . --build=missing -s compiler.cppstd=gnu20 -o *:with_boost_serialization=True -o *:with_capnproto=True -o *:with_cbor=True -o *:with_cereal=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 -o *:with_yas=True diff --git a/conanfile.py b/conanfile.py index ed8660d7..f3145860 100644 --- a/conanfile.py +++ b/conanfile.py @@ -38,6 +38,7 @@ class ReflectCppConan(ConanFile): options = { "shared": [True, False], "fPIC": [True, False], + "with_boost_serialization": [True, False], "with_capnproto": [True, False], "with_cbor": [True, False], "with_cereal": [True, False], @@ -49,10 +50,12 @@ class ReflectCppConan(ConanFile): "with_ubjson": [True, False], "with_xml": [True, False], "with_yaml": [True, False], + "with_yas": [True, False], } default_options = { "shared": False, "fPIC": True, + "with_boost_serialization": False, "with_capnproto": False, "with_cbor": False, "with_cereal": False, @@ -64,6 +67,7 @@ class ReflectCppConan(ConanFile): "with_ubjson": False, "with_xml": False, "with_yaml": False, + "with_yas": False, } def config_options(self): @@ -77,6 +81,8 @@ def configure(self): def requirements(self): self.requires("ctre/3.9.0", transitive_headers=True) self.requires("yyjson/0.10.0", transitive_headers=True) + if self.options.with_boost_serialization: + self.requires("boost/1.90.0", transitive_headers=True) if self.options.with_capnproto: self.requires("capnproto/1.1.0", transitive_headers=True) if self.options.with_cbor or self.options.with_ubjson: @@ -95,6 +101,8 @@ def requirements(self): self.requires("pugixml/1.15", transitive_headers=True) if self.options.with_yaml: self.requires("yaml-cpp/0.8.0", transitive_headers=True) + if self.options.with_yas: + self.requires("yas/7.1.0", transitive_headers=True) def build_requirements(self): self.tool_requires("cmake/[>=3.23 <4]") @@ -118,6 +126,9 @@ def generate(self): tc.cache_variables["REFLECTCPP_BUILD_SHARED"] = self.options.shared tc.cache_variables["REFLECTCPP_USE_BUNDLED_DEPENDENCIES"] = False tc.cache_variables["REFLECTCPP_USE_VCPKG"] = False + tc.cache_variables["REFLECTCPP_BOOST_SERIALIZATION"] = ( + self.options.with_boost_serialization + ) tc.cache_variables["REFLECTCPP_CAPNPROTO"] = self.options.with_capnproto tc.cache_variables["REFLECTCPP_CBOR"] = self.options.with_cbor tc.cache_variables["REFLECTCPP_CEREAL"] = self.options.with_cereal @@ -128,6 +139,7 @@ def generate(self): 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 + tc.cache_variables["REFLECTCPP_YAS"] = self.options.with_yas tc.generate() def build(self): diff --git a/vcpkg.json b/vcpkg.json index d676a811..64915a3e 100644 --- a/vcpkg.json +++ b/vcpkg.json @@ -179,20 +179,20 @@ } ] }, - "yas": { - "description": "Enable yas support", + "yaml": { + "description": "Enable YAML support", "dependencies": [ { - "name": "yas" + "name": "yaml-cpp", + "version>=": "0.8.0#1" } ] }, - "yaml": { - "description": "Enable YAML support", + "yas": { + "description": "Enable yas support", "dependencies": [ { - "name": "yaml-cpp", - "version>=": "0.8.0#1" + "name": "yas" } ] } From 5924135720cf06ee72f18f439a9ac5941acca547 Mon Sep 17 00:00:00 2001 From: "Dr. Patrick Urbanke" Date: Tue, 12 May 2026 23:23:09 +0200 Subject: [PATCH 2/2] Remove the conan pipeline --- .github/workflows/linux-conan.yaml | 28 ---------------------------- 1 file changed, 28 deletions(-) delete mode 100644 .github/workflows/linux-conan.yaml diff --git a/.github/workflows/linux-conan.yaml b/.github/workflows/linux-conan.yaml deleted file mode 100644 index 21c36755..00000000 --- a/.github/workflows/linux-conan.yaml +++ /dev/null @@ -1,28 +0,0 @@ -name: linux - -on: [ push, pull_request ] - -jobs: - linux: - name: "${{ github.job }} (Conan)" - concurrency: - group: "linux-${{ github.ref }}-${{ github.job }}-conan" - cancel-in-progress: true - runs-on: ubuntu-24.04 - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - submodules: recursive - fetch-depth: 0 - - name: Install dependencies - run: | - sudo apt update - sudo apt install -y ninja-build pipx - - name: Install Conan - run: | - 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_boost_serialization=True -o *:with_capnproto=True -o *:with_cbor=True -o *:with_cereal=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 -o *:with_yas=True -