Skip to content

Commit fcc5d73

Browse files
Merge bitcoin-core#1565: cmake: Bump CMake minimum required version up to 3.16
9420eec cmake: Bump CMake minimum required version up to 3.16 (Hennadii Stepanov) Pull request description: Debian 10 [reached](https://wiki.debian.org/DebianReleases) EOL LTS yesterday, on 2024-06-30. There no longer seem to be compelling reasons to maintain support for CMake 3.13. The suggested minimum required version, CMake 3.16, is shipped with Ubuntu 20.04 LTS, which is [supported](https://wiki.ubuntu.com/Releases) until April 2025. Debian 11 ships with CMake 3.18 (3.25 in backports). In [other](https://repology.org/project/cmake/versions) major distros and package managers, CMake versions are not older. ACKs for top commit: fanquake: ACK 9420eec - If the only significant change is for some MSVC compat code, this doesn't seem super compelling, but seems ok either way. real-or-random: utACK 9420eec Tree-SHA512: 7066f053f9820f9ddeb27f9e8042edb67a31cd61e29eadff12b50d63bbe278f6ffd15f84035932bc4c337461a7eb342339ed62e46e100c5447106a702fad229c
2 parents a526937 + 9420eec commit fcc5d73

File tree

4 files changed

+4
-11
lines changed

4 files changed

+4
-11
lines changed

.github/workflows/ci.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -864,5 +864,5 @@ jobs:
864864
CI_BUILD: ${{ runner.temp }}/${{ github.run_id }}${{ github.action }}/build
865865
CI_INSTALL: ${{ runner.temp }}/${{ github.run_id }}${{ github.action }}/install
866866
run: |
867-
cmake -B ${{ env.CI_BUILD }} -DCMAKE_INSTALL_PREFIX=${{ env.CI_INSTALL }} && cmake --build ${{ env.CI_BUILD }} --target install && ls -RlAh ${{ env.CI_INSTALL }}
867+
cmake -B ${{ env.CI_BUILD }} -DCMAKE_INSTALL_PREFIX=${{ env.CI_INSTALL }} && cmake --build ${{ env.CI_BUILD }} && cmake --install ${{ env.CI_BUILD }} && ls -RlAh ${{ env.CI_INSTALL }}
868868
gcc -o ecdsa examples/ecdsa.c -I ${{ env.CI_INSTALL }}/include -L ${{ env.CI_INSTALL }}/lib*/ -l secp256k1 -Wl,-rpath,"${{ env.CI_INSTALL }}/lib",-rpath,"${{ env.CI_INSTALL }}/lib64" && ./ecdsa

CMakeLists.txt

+1-8
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,4 @@
1-
cmake_minimum_required(VERSION 3.13)
2-
3-
if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.15)
4-
# MSVC runtime library flags are selected by the CMAKE_MSVC_RUNTIME_LIBRARY abstraction.
5-
cmake_policy(SET CMP0091 NEW)
6-
# MSVC warning flags are not in CMAKE_<LANG>_FLAGS by default.
7-
cmake_policy(SET CMP0092 NEW)
8-
endif()
1+
cmake_minimum_required(VERSION 3.16)
92

103
project(libsecp256k1
114
# The package (a.k.a. release) version is based on semantic versioning 2.0.0 of

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ To maintain a pristine source tree, CMake encourages to perform an out-of-source
8282
$ cmake ..
8383
$ cmake --build .
8484
$ ctest # run the test suite
85-
$ sudo cmake --build . --target install # optional
85+
$ sudo cmake --install . # optional
8686

8787
To compile optional modules (such as Schnorr signatures), you need to run `cmake` with additional flags (such as `-DSECP256K1_ENABLE_MODULE_SCHNORRSIG=ON`). Run `cmake .. -LH` to see the full list of available flags.
8888

doc/release-process.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ Perform these checks when reviewing the release PR (see below):
3131
```shell
3232
dir=$(mktemp -d)
3333
build=$(mktemp -d)
34-
cmake -B $build -DCMAKE_INSTALL_PREFIX=$dir && cmake --build $build --target install && ls -RlAh $dir
34+
cmake -B $build -DCMAKE_INSTALL_PREFIX=$dir && cmake --build $build && cmake --install $build && ls -RlAh $dir
3535
gcc -o ecdsa examples/ecdsa.c -I $dir/include -L $dir/lib*/ -l secp256k1 -Wl,-rpath,"$dir/lib",-rpath,"$dir/lib64" && ./ecdsa
3636
```
3737
4. Use the [`check-abi.sh`](/tools/check-abi.sh) tool to verify that there are no unexpected ABI incompatibilities and that the version number and the release notes accurately reflect all potential ABI changes. To run this tool, the `abi-dumper` and `abi-compliance-checker` packages are required.

0 commit comments

Comments
 (0)