ASAN is always linked in when not using compile.sh
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
widelands |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
./compile.sh has grown to become a meta build system around the meta build system that cmake already is.
For example, the default for release builds should be that ASAN is not linked in. This is not encoded in the CMakeLists.txt though - this logic is encoded in compile.sh. This script was always meant to be a convenience tool, but by now it is actually expected that people use it, otherwise they will get surprising results.
compile.sh hurts. It hurts windows and mac users as it is not cross platform. It hurts packagers (they have fixed workflows for cmake projects), nightly builders (suddenly all Mac nightlies ship with ASAN enabled, though they are release builds) and experienced cmake users. It is an additional layer of logic that can contain bugs.
I think we should kill compile.sh and instead educate the community how to build Widelands using cMake directly.
Related branches
- GunChleoc: Approve
-
Diff: 73 lines (+7/-6)2 files modifiedCMakeLists.txt (+6/-5)
compile.sh (+1/-1)
Changed in widelands: | |
status: | In Progress → Fix Committed |
Rather than killing compile.sh which is a HUGE time saver for me, we should rather fix the CMakeLists.txt to switch off ASAN in release builds per default.
I have already done my best to update https:/ /wl.widelands. org/wiki/ Building% 20Widelands/ #cmake- options, but I am not familiar with the systems on Windows and Mac, so I'm not the person to fix that.
Travis, AppVeyor and debian are already fixed and I did ping Tino, but I didn't think of Mac systems - sorry.