Skip to content

Conversation

uilianries
Copy link
Member

Specify library name and version: libprotobuf-mutator/1.3

The libprotobuf-mutator has now official tags, which means we can drop the old custom version in CCI.

This PR is a follow-up of PR #24159. Between 1.1 and 1.3 some things changed and required more attention, including:

  • Requires Protobuf release 25. The latest release 26 is incompatible, failed to build locally.
  • It requires C++14, and it's enforced to C++14 only by set(CMAKE_CXX_STANDARD ...
  • It gets a ride from Protobuf dependency and consumes abseil::StrCat method (fragile)
  • Requires CMake 3.24 as minimal

Notes about this PR in concrete:

  • I preferred using a CMake wrapper to fix protobuf and abseil link, because it's less invasive and I'll send a PR to the upstream, so we don't keep different patches. Abseil is used, but not directly linked by the project, it uses from Protobuf transitive dependency.
  • Dropped Conan 1.x test package to validate cmake_find_package and so on
  • Dropped custom cci version because was too old and current tags follow last commits in upstream
  • Added shared and fPIC options. Both working on Linux (tested locally)
  • Added components to follow same CMake targets provided by the upstream

TODO: Send a PR to the upstream fixing not only abseil usage, but cxx standard too.


Signed-off-by: Uilian Ries <uilianries@gmail.com>
Signed-off-by: Uilian Ries <uilianries@gmail.com>
Signed-off-by: Uilian Ries <uilianries@gmail.com>
Signed-off-by: Uilian Ries <uilianries@gmail.com>
Signed-off-by: Uilian Ries <uilianries@gmail.com>
Signed-off-by: Uilian Ries <uilianries@gmail.com>
Signed-off-by: Uilian Ries <uilianries@gmail.com>
@conan-center-bot

This comment has been minimized.

The upstream uses EXCLUDE_FROM_ALL CMake feature to avoid building
examples by default, however, CMake still parses the example cmake
file and requires more external dependencies like expat.

Signed-off-by: Uilian Ries <uilianries@gmail.com>
Signed-off-by: Uilian Ries <uilianries@gmail.com>
@conan-center-bot

This comment has been minimized.

@uilianries
Copy link
Member Author

The project does not expose symbols in .lib when building Windows + shared=True. Dropped shared option when building with MSVC. I'll send a PR to upstream trying to fix it.

@conan-center-bot

This comment has been minimized.

@conan-center-bot
Copy link
Contributor

Conan v1 pipeline ✔️

All green in build 4 (c46ecf95773e72636429b453e14225f02e4b4e19):

  • libprotobuf-mutator/1.3:
    All packages built successfully! (All logs)

Conan v2 pipeline ✔️

Note: Conan v2 builds are now mandatory. Please read our discussion about it.

All green in build 4 (c46ecf95773e72636429b453e14225f02e4b4e19):

  • libprotobuf-mutator/1.3:
    All packages built successfully! (All logs)

@uilianries uilianries requested review from AbrilRBS and jcar87 May 30, 2024 13:36
@uilianries uilianries self-assigned this May 30, 2024
@uilianries uilianries marked this pull request as ready for review May 30, 2024 13:37
Copy link
Contributor

@valgur valgur left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for submitting the fixes upstream as well!

@conan-center-bot conan-center-bot merged commit f1aa3df into conan-io:master May 30, 2024
phbasler pushed a commit to phbasler/conan-center-index that referenced this pull request Jun 3, 2024
* Protobug mutator compatible with Conan 2.x

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Add version 1.3

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Enforce protobuf link

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* update abseil usage

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* consume all libs in tests

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* define cxx language in cmakelists

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* static-library on Windows

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Exclude examples from CMakeLists.txt

The upstream uses EXCLUDE_FROM_ALL CMake feature to avoid building
examples by default, however, CMake still parses the example cmake
file and requires more external dependencies like expat.

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Do not build shared on Windows

Signed-off-by: Uilian Ries <uilianries@gmail.com>

---------

Signed-off-by: Uilian Ries <uilianries@gmail.com>
jcar87 pushed a commit that referenced this pull request Jul 9, 2025
* (#24165) remove ericLemanissier from the authorized_users and reviewers

* (#24163) [libprotobuf-mutator] Compatible with Conan 2.x

* Protobug mutator compatible with Conan 2.x

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Add version 1.3

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Enforce protobuf link

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* update abseil usage

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* consume all libs in tests

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* define cxx language in cmakelists

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* static-library on Windows

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Exclude examples from CMakeLists.txt

The upstream uses EXCLUDE_FROM_ALL CMake feature to avoid building
examples by default, however, CMake still parses the example cmake
file and requires more external dependencies like expat.

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Do not build shared on Windows

Signed-off-by: Uilian Ries <uilianries@gmail.com>

---------

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* (#24060) elfutils: Bump gettext to version 0.22.5 to support GCC 14

* (#24176) [sioclient] Build static libraries in Windows

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* (#24174) meson: add version 1.4.1

* (#24175) ada: add version 2.8.0

* (#24057) add extra-cmake-modules 6.2.0

* add cmaes

* Update config.yml

* Remove trailing whitespace

* Apply linter comments

* undo copy paste error

* Remove unused imports

* change name

* add line break

* Set layout src_folder arg

* Adjust hook warnings and fix find_package

* fix missing requirement

* Set minimum conan version to 2

* Undo conan minimum requirement

* Add patch to remove pc and exports

* Remove patch, remove cmake and pc through conanfile

* only get openmp on mac and linux

* disable openmp on windows for now

* Add test workflow

* Revert "Add test workflow"

This reverts commit eb34bdc.

* Add patch for eigen and for windows compile options

* Revert "Add patch for eigen and for windows compile options"

This reverts commit ebc0e0b.

* Apply patch to fix windows build

* Add empty new line at the end

* Set c++ standard to 11 in test_package

* Add second example and validate profile to have at least c++11

* Apply openmp settings from #24577

* Add eigen to requires array

* Add is_msvc to imports

* Undo openmp suggestions

* Cleanup

* Simplify test_package

* Apply suggestions from code review

Co-authored-by: Uilian Ries <uilianries@gmail.com>

* Simplify, remove Windows support

* Use libcmaesConfig.cmake as cmake file name

* Update recipes/cmaes/all/conanfile.py

* Update recipes/cmaes/all/test_package/CMakeLists.txt

---------

Signed-off-by: Uilian Ries <uilianries@gmail.com>
Co-authored-by: ericLemanissier <ericLemanissier@users.noreply.github.com>
Co-authored-by: Uilian Ries <uilianries@gmail.com>
Co-authored-by: Jordan Williams <jordan@jwillikers.com>
Co-authored-by: toge <toge.mail@gmail.com>
Co-authored-by: Gary Wang <git@blumia.net>
Co-authored-by: Abril Rincón Blanco <git@rinconblanco.es>
Co-authored-by: Abril Rincón Blanco <abrilrb@jfrog.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants