Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@bunnybot
Copy link

@bunnybot bunnybot commented Oct 22, 2025

palinoMirrored from Codeberg
Created on Wed Oct 22 22:02:32 CEST 2025 by Pavol Gono (palino)


Type of Change

Refactoring + version update

The major motivation is to enable download and compilation of 3rd party libraries (cpptrace), this is precondition for e.g. https://codeberg.org/wl/widelands/pulls/4902 . Reasons for increase of minimum cmake version:

When compiling sources with recent Visual Studio 2022, I get a lot of warnings: vs_warnings

In addition to version increase, I did many small cleanings, which simplify cmake files. Each commit message should be descriptive enough.

New Behavior

Build system is ready for FetchContent usage.

Possible Regressions

Hopefully none, I tested all these changes together with cpptrace-enabled code in forked repo: https://github.com/gpalino/widelands/actions/runs/18717701122

Additional context

Up to discussion are following removals:

…isions.

In my case, cpptrace downloaded libdwarf, libdwarf downloaded zstd.
Zstd defines uninstall target here:
https://github.com/facebook/zstd/blob/6e58e9a2c42ea344708b72a14052b3bd4581e118/build/cmake/lib/CMakeLists.txt#L289-L298
and widelands had submissive condition here
https://codeberg.org/wl/widelands/src/commit/3c351001884dd9dc9eeb8989e81cc065334c7db5/CMakeLists.txt#L602
In this case zstd won the collision and "Make install/uninstall" job was failing.
See e.g.
https://stackoverflow.com/questions/70381809/how-can-i-avoid-target-name-collisions-when-using-cmake-fetchcontent-add-subdire
IMO removing condition "if(NOT TARGET ...)" is better, cmake stops immediately when collision is found.
@bunnybot bunnybot added the ci:success CI checks succeeded label Oct 22, 2025
@bunnybot bunnybot added this to the v1.4 milestone Oct 23, 2025
@bunnybot bunnybot added enhancement New feature or request cleanup & refactoring Improving our code quality building & packaging Building, packaging, continuous integration, appdata, cmake labels Oct 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

building & packaging Building, packaging, continuous integration, appdata, cmake ci:success CI checks succeeded cleanup & refactoring Improving our code quality enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants