diff options
author | Simon Tatham <anakin@pobox.com> | 2021-10-29 20:08:18 +0300 |
---|---|---|
committer | Simon Tatham <anakin@pobox.com> | 2021-10-29 20:08:18 +0300 |
commit | 5eee8ca648c8453ff5308f7a009277eccfa80d16 (patch) | |
tree | 2ad6c439f483d709085609811c5108a854cd305f /CHECKLST.txt | |
parent | e24444dba81ef960b02bd7aa666ca5c6d46f03eb (diff) |
Compatibility with older versions of cmake.
After this change, the cmake setup now works even on Debian stretch
(oldoldstable), which runs cmake 3.7.
In order to support a version that early I had to:
- write a fallback implementation of 'add_compile_definitions' for
older cmakes, which is easy, because add_compile_definitions(FOO)
is basically just add_compile_options(-DFOO)
- stop using list(TRANSFORM) and string(JOIN), of which I had one
case each, and they were easily replaced with simple foreach loops
- stop putting OBJECT libraries in the target_link_libraries command
for executable targets, in favour of adding $<TARGET_OBJECTS:foo>
to the main sources list for the same target. That matches what I
do with library targets, so it's probably more sensible anyway.
I tried going back by another Debian release and getting this cmake
setup to work on jessie, but that runs CMake 3.0.1, and in _that_
version of cmake the target_sources command is missing, and I didn't
find any alternative way to add extra sources to a target after having
first declared it. Reorganising to cope with _that_ omission would be
too much upheaval without a very good reason.
Diffstat (limited to 'CHECKLST.txt')
-rw-r--r-- | CHECKLST.txt | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/CHECKLST.txt b/CHECKLST.txt index c3a5365a..82fc9d6a 100644 --- a/CHECKLST.txt +++ b/CHECKLST.txt @@ -37,6 +37,9 @@ Things to do during the branch-stabilisation period: particular, any headline features for the release should get a workout with memory checking enabled! + - Test the CMake build scripts with the oldest CMake they claim to + support, on both Unix and Windows. + Making a release candidate build -------------------------------- |