mirror of
https://github.com/cpm-cmake/CPM.cmake.git
synced 2025-11-16 14:17:37 -05:00
* replace deprecated calls to FetchContent_Populate
The single argument signature for FetchContent_Populate is deprecated with CMake 3.30.
It was used, in order to call add_subdirectory manually with the EXCLUDE_FROM_ALL and SYSTEM flags.
These have been added to FetchContent_Declare with 3.25 and 3.28.
Calling FetchContent_MakeAvailable will internally call add_subdirectory with EXCLUDE_FROM_ALL and SYSTEM.
There is therefore no need to call this manually.
* fix: OPTIONS passed to CPMAddPackage not set
where previously parsed in cpm_add_subdirectory which is not called
on the new code path.
* refactor: remove an unnecessary else branch
* ci: include cmake 3.30 in test matrix
* fix: forward SOURCE_SUBDIR to FetchContent_Declare
For CMake version <3.28 this is done by calling add_subdirectory manually.
For newer version FetchContent_Declare/MakeAvailable handles this for us.
* fix: only set options if download_only is false
this replicates the old behaviour
* fix: DOWNLOAD_ONLY test
* refactor: always use *_Populate to reduce code paths
* Revert "refactor: always use *_Populate to reduce code paths"
This reverts commit 0e8ca2a0e9.
---------
Co-authored-by: Avus <48911667+Avus@users.noreply.github.com>
49 lines
1.5 KiB
YAML
49 lines
1.5 KiB
YAML
name: Test
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
|
|
jobs:
|
|
tests:
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
# windows-latest is windows-2019 which carries a pretty old version of ruby (2.5)
|
|
# we need at least ruby 2.7 for the tests
|
|
# instead of dealing with installing a modern version of ruby on 2019, we'll just use windows-2022 here
|
|
os: [ubuntu-latest, windows-2022, macos-latest]
|
|
# we want to ensure compatibility with a recent CMake version as well as the lowest officially supported
|
|
# legacy version that we define as the default version of the second-latest Ubuntu LTS release currently available
|
|
cmake_version: ['3.16.3', '3.27.5', '3.30.0']
|
|
exclude:
|
|
# there seems to be an issue with CMake 3.16 not finding a C++ compiler on windows-2022
|
|
- os: windows-2022
|
|
cmake_version: '3.16.3'
|
|
|
|
steps:
|
|
- name: clone
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Setup cmake
|
|
uses: jwlawson/actions-setup-cmake@v1.13
|
|
with:
|
|
cmake-version: ${{ matrix.cmake_version }}
|
|
|
|
- name: unit tests
|
|
run: |
|
|
cmake -Stest -Bbuild/test
|
|
cmake --build build/test --target test-verbose
|
|
env:
|
|
CMAKE_VERSION: ${{ matrix.cmake_version }}
|
|
|
|
- name: integration tests
|
|
run: ruby test/integration/runner.rb
|
|
env:
|
|
CPM_INTEGRATION_TEST_DIR: ./build/integration
|
|
CMAKE_VERSION: ${{ matrix.cmake_version }}
|