Definition of new CMake presets & usage in CI jobs
Additional interesting changes in this commit: - conan: use cmake-conan for better CMake-Conan integration - cmake+doc: Remove deprecated EXIV2_ENABLE_WIN_UNICODE - Ignore CMakeUserPresets.json - doc: Add notes about the usage of CMake presets
This commit is contained in:
@@ -24,18 +24,8 @@ jobs:
|
||||
|
||||
- name: build and compile
|
||||
run: |
|
||||
mkdir build && cd build && \
|
||||
cmake -GNinja -DEXIV2_ENABLE_PNG=ON \
|
||||
-DEXIV2_BUILD_SAMPLES=ON \
|
||||
-DEXIV2_ENABLE_WEBREADY=ON \
|
||||
-DEXIV2_ENABLE_CURL=ON \
|
||||
-DEXIV2_ENABLE_BMFF=ON \
|
||||
-DEXIV2_TEAM_WARNINGS_AS_ERRORS=ON \
|
||||
-DCMAKE_CXX_COMPILER=$(which clang++) \
|
||||
-DEXIV2_BUILD_FUZZ_TESTS=ON \
|
||||
-DEXIV2_TEAM_USE_SANITIZERS=ON \
|
||||
.. && \
|
||||
cmake --build . --parallel
|
||||
cmake --preset linux-sanitizers -S . -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=$(which clang++) -DEXIV2_BUILD_FUZZ_TESTS=ON -DEXIV2_BUILD_UNIT_TESTS=OFF
|
||||
cmake --build build --parallel
|
||||
|
||||
- name: Fuzz
|
||||
run: |
|
||||
|
||||
@@ -39,20 +39,8 @@ jobs:
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
cd build && \
|
||||
cmake -GNinja \
|
||||
-DCMAKE_BUILD_TYPE=${{matrix.build_type}} \
|
||||
-DBUILD_SHARED_LIBS=${{matrix.shared_libraries}} \
|
||||
-DEXIV2_BUILD_SAMPLES=ON \
|
||||
-DEXIV2_ENABLE_PNG=ON \
|
||||
-DEXIV2_ENABLE_WEBREADY=ON \
|
||||
-DEXIV2_ENABLE_CURL=ON \
|
||||
-DEXIV2_BUILD_UNIT_TESTS=ON \
|
||||
-DEXIV2_ENABLE_BMFF=ON \
|
||||
-DEXIV2_TEAM_WARNINGS_AS_ERRORS=ON \
|
||||
-DCMAKE_INSTALL_PREFIX=install \
|
||||
.. && \
|
||||
cmake --build . --parallel
|
||||
cmake --preset base_linux -S . -B build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DBUILD_SHARED_LIBS=${{matrix.shared_libraries}}
|
||||
cmake --build build --parallel
|
||||
|
||||
- name: Install
|
||||
run: |
|
||||
|
||||
@@ -37,21 +37,8 @@ jobs:
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
cd build && \
|
||||
cmake -GNinja \
|
||||
-DCMAKE_BUILD_TYPE=Debug \
|
||||
-DBUILD_SHARED_LIBS=ON \
|
||||
-DEXIV2_ENABLE_PNG=ON \
|
||||
-DEXIV2_ENABLE_WEBREADY=ON \
|
||||
-DEXIV2_ENABLE_CURL=ON \
|
||||
-DEXIV2_BUILD_UNIT_TESTS=ON \
|
||||
-DEXIV2_ENABLE_BMFF=ON \
|
||||
-DEXIV2_TEAM_WARNINGS_AS_ERRORS=ON \
|
||||
-DEXIV2_BUILD_SAMPLES=ON \
|
||||
-DBUILD_WITH_COVERAGE=ON \
|
||||
-DCMAKE_INSTALL_PREFIX=install \
|
||||
.. && \
|
||||
cmake --build . --parallel
|
||||
cmake --preset linux-coverage -S . -B build
|
||||
cmake --build build --parallel
|
||||
|
||||
- name: Tests + Upload coverage
|
||||
run: |
|
||||
@@ -78,7 +65,6 @@ jobs:
|
||||
|
||||
- name: install dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install valgrind ninja-build
|
||||
pip3 install conan==1.45.0
|
||||
|
||||
@@ -96,9 +82,8 @@ jobs:
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
cd build
|
||||
cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DEXIV2_ENABLE_PNG=ON -DEXIV2_ENABLE_WEBREADY=ON -DEXIV2_ENABLE_CURL=ON -DEXIV2_BUILD_UNIT_TESTS=ON -DEXIV2_ENABLE_BMFF=ON -DEXIV2_TEAM_WARNINGS_AS_ERRORS=ON -DBUILD_WITH_COVERAGE=OFF -DCMAKE_INSTALL_PREFIX=install ..
|
||||
cmake --build . --parallel
|
||||
cmake --preset linux-release -S . -B build
|
||||
cmake --build build --parallel
|
||||
|
||||
- name: Tests with valgrind
|
||||
run: |
|
||||
@@ -132,22 +117,8 @@ jobs:
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
cd build && \
|
||||
cmake -GNinja \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DBUILD_SHARED_LIBS=ON \
|
||||
-DEXIV2_BUILD_SAMPLES=ON \
|
||||
-DEXIV2_ENABLE_PNG=ON \
|
||||
-DEXIV2_ENABLE_WEBREADY=ON \
|
||||
-DEXIV2_ENABLE_CURL=ON \
|
||||
-DEXIV2_BUILD_UNIT_TESTS=ON \
|
||||
-DEXIV2_ENABLE_BMFF=ON \
|
||||
-DEXIV2_TEAM_WARNINGS_AS_ERRORS=ON \
|
||||
-DBUILD_WITH_COVERAGE=OFF \
|
||||
-DEXIV2_TEAM_USE_SANITIZERS=ON \
|
||||
-DCMAKE_INSTALL_PREFIX=install \
|
||||
.. && \
|
||||
cmake --build . --parallel
|
||||
cmake --preset linux-sanitizers -S . -B build
|
||||
cmake --build build --parallel
|
||||
|
||||
- name: Tests
|
||||
run: |
|
||||
@@ -163,8 +134,7 @@ jobs:
|
||||
|
||||
- name: install dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install valgrind doxygen graphviz gettext
|
||||
sudo apt-get install valgrind doxygen graphviz gettext ninja-build
|
||||
pip3 install conan==1.45.0
|
||||
|
||||
- name: Conan common config
|
||||
@@ -181,22 +151,8 @@ jobs:
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
cd build && \
|
||||
cmake -DCMAKE_BUILD_TYPE=Release \
|
||||
-DBUILD_SHARED_LIBS=ON \
|
||||
-DEXIV2_BUILD_SAMPLES=ON \
|
||||
-DEXIV2_ENABLE_PNG=ON \
|
||||
-DEXIV2_ENABLE_WEBREADY=ON \
|
||||
-DEXIV2_ENABLE_CURL=ON \
|
||||
-DEXIV2_BUILD_UNIT_TESTS=ON \
|
||||
-DEXIV2_ENABLE_BMFF=ON \
|
||||
-DEXIV2_TEAM_WARNINGS_AS_ERRORS=ON \
|
||||
-DBUILD_WITH_COVERAGE=ON \
|
||||
-DEXIV2_BUILD_DOC=ON \
|
||||
-DEXIV2_ENABLE_NLS=ON \
|
||||
-DCMAKE_CXX_FLAGS="-DEXIV2_DEBUG_MESSAGES" \
|
||||
.. && \
|
||||
cmake --build . --parallel
|
||||
cmake --preset linux-release -S . -B build -DEXIV2_BUILD_DOC=ON -DCMAKE_CXX_FLAGS="-DEXIV2_DEBUG_MESSAGES"
|
||||
cmake --build build --parallel
|
||||
|
||||
- name: Generate documentation
|
||||
run: |
|
||||
|
||||
@@ -40,19 +40,7 @@ jobs:
|
||||
|
||||
- name: Configure
|
||||
run: |
|
||||
cd build && \
|
||||
cmake -DCMAKE_BUILD_TYPE=Debug \
|
||||
-DBUILD_SHARED_LIBS=ON \
|
||||
-DEXIV2_ENABLE_PNG=ON \
|
||||
-DEXIV2_ENABLE_WEBREADY=ON \
|
||||
-DEXIV2_ENABLE_CURL=ON \
|
||||
-DEXIV2_BUILD_UNIT_TESTS=ON \
|
||||
-DEXIV2_ENABLE_BMFF=ON \
|
||||
-DEXIV2_TEAM_WARNINGS_AS_ERRORS=ON \
|
||||
-DBUILD_WITH_COVERAGE=ON \
|
||||
-DCMAKE_INSTALL_PREFIX=install \
|
||||
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
|
||||
.. \
|
||||
cmake --preset linux-debug-NoConan -S . -B build -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
|
||||
|
||||
- name: Static Analysis
|
||||
env:
|
||||
|
||||
@@ -33,21 +33,8 @@ jobs:
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
mkdir build && cd build && \
|
||||
cmake -GNinja \
|
||||
-DCMAKE_BUILD_TYPE=${{matrix.build_type}} \
|
||||
-DBUILD_SHARED_LIBS=${{matrix.shared_libraries}} \
|
||||
-DEXIV2_BUILD_SAMPLES=ON \
|
||||
-DEXIV2_ENABLE_PNG=ON \
|
||||
-DEXIV2_ENABLE_WEBREADY=ON \
|
||||
-DEXIV2_ENABLE_CURL=ON \
|
||||
-DEXIV2_BUILD_UNIT_TESTS=ON \
|
||||
-DEXIV2_ENABLE_BMFF=ON \
|
||||
-DEXIV2_TEAM_WARNINGS_AS_ERRORS=ON \
|
||||
-DCMAKE_INSTALL_PREFIX=install \
|
||||
-DCMAKE_CXX_FLAGS="-Wno-deprecated-declarations" \
|
||||
.. && \
|
||||
cmake --build . --parallel
|
||||
cmake --preset base_mac -S . -B build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DBUILD_SHARED_LIBS=${{matrix.shared_libraries}} -DCMAKE_CXX_FLAGS="-Wno-deprecated-declarations"
|
||||
cmake --build build --parallel
|
||||
|
||||
- name: Install
|
||||
run: |
|
||||
|
||||
@@ -28,22 +28,8 @@ jobs:
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
mkdir build && cd build && \
|
||||
cmake -GNinja \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DBUILD_SHARED_LIBS=ON \
|
||||
-DEXIV2_BUILD_SAMPLES=ON \
|
||||
-DEXIV2_ENABLE_PNG=ON \
|
||||
-DEXIV2_ENABLE_WEBREADY=ON \
|
||||
-DEXIV2_ENABLE_CURL=ON \
|
||||
-DEXIV2_BUILD_UNIT_TESTS=ON \
|
||||
-DEXIV2_ENABLE_BMFF=ON \
|
||||
-DEXIV2_TEAM_WARNINGS_AS_ERRORS=ON \
|
||||
-DBUILD_WITH_COVERAGE=OFF \
|
||||
-DEXIV2_TEAM_USE_SANITIZERS=ON \
|
||||
-DCMAKE_INSTALL_PREFIX=install \
|
||||
.. && \
|
||||
cmake --build . --parallel
|
||||
cmake --preset base_mac -S . -B build -DEXIV2_TEAM_USE_SANITIZERS=ON
|
||||
cmake --build build --parallel
|
||||
|
||||
- name: Tests
|
||||
run: |
|
||||
|
||||
@@ -73,23 +73,12 @@ jobs:
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
cmake -GNinja `
|
||||
-DCMAKE_BUILD_TYPE=${{matrix.build_type}} `
|
||||
-DBUILD_SHARED_LIBS=${{matrix.shared_libraries}} `
|
||||
-DEXIV2_ENABLE_NLS=OFF `
|
||||
-DEXIV2_ENABLE_WEBREADY=ON `
|
||||
-DEXIV2_ENABLE_BMFF=ON `
|
||||
-DEXIV2_BUILD_UNIT_TESTS=ON `
|
||||
-DEXIV2_TEAM_WARNINGS_AS_ERRORS=ON `
|
||||
-DCMAKE_INSTALL_PREFIX=install `
|
||||
-S . -B build && `
|
||||
cmake --preset base_windows -S . -B build -DCMAKE_BUILD_TYPE=${{matrix.build_type}} -DBUILD_SHARED_LIBS=${{matrix.shared_libraries}}
|
||||
cmake --build build --parallel
|
||||
|
||||
- name: Install
|
||||
run: |
|
||||
cd build
|
||||
cmake --install .
|
||||
tree /f install
|
||||
cmake --install build
|
||||
|
||||
- name: Test
|
||||
if: ${{matrix.platform == 'x64'}}
|
||||
@@ -122,26 +111,26 @@ jobs:
|
||||
install: >-
|
||||
base-devel
|
||||
pacboy: >-
|
||||
toolchain:p
|
||||
cc:p
|
||||
gcc-libs:p
|
||||
libwinpthread:p
|
||||
cmake:p
|
||||
ninja:p
|
||||
expat:p
|
||||
gettext:p
|
||||
gtest:p
|
||||
libiconv:p
|
||||
zlib:p
|
||||
curl:p
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
cmake -G"MSYS Makefiles" \
|
||||
-DCMAKE_CXX_FLAGS=-Wno-deprecated \
|
||||
cmake --preset base_windows -S . -B build \
|
||||
-DCMAKE_BUILD_TYPE=${{matrix.build_type}} \
|
||||
-DBUILD_SHARED_LIBS=${{matrix.shared_libraries}} \
|
||||
-DEXIV2_BUILD_SAMPLES=ON \
|
||||
-DEXIV2_ENABLE_NLS=OFF \
|
||||
-DEXIV2_ENABLE_WEBREADY=ON \
|
||||
-DEXIV2_ENABLE_BMFF=ON \
|
||||
-DEXIV2_BUILD_UNIT_TESTS=ON \
|
||||
-S . -B build && \
|
||||
-DCONAN_AUTO_INSTALL=OFF \
|
||||
-DCMAKE_CXX_FLAGS=-Wno-deprecated \
|
||||
-DEXIV2_TEAM_WARNINGS_AS_ERRORS=OFF
|
||||
cmake --build build --parallel
|
||||
|
||||
- name: Test
|
||||
@@ -176,6 +165,7 @@ jobs:
|
||||
gcc-g++
|
||||
cmake
|
||||
ninja
|
||||
libcurl-devel
|
||||
libexpat-devel
|
||||
libxml2-devel
|
||||
libxslt-devel
|
||||
@@ -190,6 +180,7 @@ jobs:
|
||||
-DEXIV2_ENABLE_NLS=OFF \
|
||||
-DEXIV2_ENABLE_WIN_UNICODE=OFF \
|
||||
-DEXIV2_ENABLE_WEBREADY=ON \
|
||||
-DEXIV2_ENABLE_CURL=ON \
|
||||
-DEXIV2_ENABLE_BMFF=ON \
|
||||
-DEXIV2_BUILD_UNIT_TESTS=OFF \
|
||||
-S . -B build && \
|
||||
|
||||
@@ -48,28 +48,9 @@ jobs:
|
||||
conan profile update settings.compiler.version=17 default
|
||||
conan config set storage.path=$Env:GITHUB_WORKSPACE/conanCache
|
||||
|
||||
- name: Run Conan
|
||||
run: |
|
||||
md build
|
||||
cd build
|
||||
conan profile list
|
||||
conan install .. --build missing
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
cmake -GNinja `
|
||||
-DCMAKE_BUILD_TYPE=Release `
|
||||
-DBUILD_SHARED_LIBS=ON `
|
||||
-DEXIV2_BUILD_SAMPLES=ON `
|
||||
-DEXIV2_ENABLE_NLS=OFF `
|
||||
-DEXIV2_ENABLE_PNG=ON `
|
||||
-DEXIV2_ENABLE_WEBREADY=ON `
|
||||
-DEXIV2_ENABLE_BMFF=ON `
|
||||
-DEXIV2_BUILD_UNIT_TESTS=ON `
|
||||
-DEXIV2_ENABLE_WIN_UNICODE=OFF `
|
||||
-DEXIV2_TEAM_WARNINGS_AS_ERRORS=ON `
|
||||
-DCMAKE_INSTALL_PREFIX=install .. `
|
||||
-S . -B build && `
|
||||
cmake --preset win-release -S . -B build
|
||||
cmake --build build --parallel
|
||||
|
||||
|
||||
@@ -100,20 +81,8 @@ jobs:
|
||||
|
||||
- name: build and compile
|
||||
run: |
|
||||
cd build && \
|
||||
cmake -GNinja \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DBUILD_SHARED_LIBS=ON \
|
||||
-DEXIV2_BUILD_SAMPLES=ON \
|
||||
-DEXIV2_ENABLE_PNG=ON \
|
||||
-DEXIV2_ENABLE_WEBREADY=ON \
|
||||
-DEXIV2_ENABLE_CURL=ON \
|
||||
-DEXIV2_BUILD_UNIT_TESTS=ON \
|
||||
-DEXIV2_ENABLE_BMFF=ON \
|
||||
-DEXIV2_TEAM_WARNINGS_AS_ERRORS=ON \
|
||||
-DCMAKE_INSTALL_PREFIX=install \
|
||||
.. && \
|
||||
cmake --build . --parallel
|
||||
cmake --preset linux-release-NoConan -S . -B build
|
||||
cmake --build build --parallel
|
||||
|
||||
- name: Test
|
||||
run: |
|
||||
@@ -141,21 +110,8 @@ jobs:
|
||||
|
||||
- name: build and compile
|
||||
run: |
|
||||
mkdir build && cd build && \
|
||||
cmake -GNinja \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DBUILD_SHARED_LIBS=ON \
|
||||
-DEXIV2_BUILD_SAMPLES=ON \
|
||||
-DEXIV2_ENABLE_PNG=ON \
|
||||
-DEXIV2_ENABLE_WEBREADY=ON \
|
||||
-DEXIV2_ENABLE_CURL=ON \
|
||||
-DEXIV2_BUILD_UNIT_TESTS=ON \
|
||||
-DEXIV2_ENABLE_BMFF=ON \
|
||||
-DEXIV2_TEAM_WARNINGS_AS_ERRORS=ON \
|
||||
-DCMAKE_INSTALL_PREFIX=install \
|
||||
-DCMAKE_CXX_FLAGS="-Wno-deprecated-declarations" \
|
||||
.. && \
|
||||
cmake --build . --parallel
|
||||
cmake --preset base_mac -S . -B build -DCMAKE_CXX_FLAGS="-Wno-deprecated-declarations"
|
||||
cmake --build build --parallel
|
||||
|
||||
- name: Test
|
||||
run: |
|
||||
|
||||
@@ -36,20 +36,8 @@ jobs:
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
cd build && \
|
||||
cmake -DCMAKE_BUILD_TYPE=Debug \
|
||||
-DBUILD_SHARED_LIBS=ON \
|
||||
-DEXIV2_ENABLE_PNG=ON \
|
||||
-DEXIV2_ENABLE_WEBREADY=ON \
|
||||
-DEXIV2_ENABLE_CURL=ON \
|
||||
-DEXIV2_BUILD_UNIT_TESTS=ON \
|
||||
-DEXIV2_ENABLE_BMFF=ON \
|
||||
-DEXIV2_TEAM_WARNINGS_AS_ERRORS=ON \
|
||||
-DEXIV2_BUILD_SAMPLES=ON \
|
||||
-DBUILD_WITH_COVERAGE=ON \
|
||||
-DCMAKE_INSTALL_PREFIX=install \
|
||||
.. && \
|
||||
cmake --build .
|
||||
cmake --preset linux-coverage -S . -B build
|
||||
cmake --build build
|
||||
|
||||
- name: Tests + Upload coverage
|
||||
run: |
|
||||
|
||||
@@ -39,16 +39,7 @@ jobs:
|
||||
|
||||
- name: Build packaged release
|
||||
run: |
|
||||
cmake -GNinja -S . -B build \
|
||||
-DEXIV2_TEAM_PACKAGING=ON \
|
||||
-DBUILD_SHARED_LIBS=ON \
|
||||
-DEXIV2_ENABLE_WEBREADY=OFF \
|
||||
-DEXIV2_ENABLE_NLS=ON \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DEXIV2_ENABLE_BMFF=ON \
|
||||
-DEXIV2_TEAM_WARNINGS_AS_ERRORS=ON \
|
||||
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \
|
||||
-DEXIV2_BUILD_DOC=ON
|
||||
cmake --preset linux-all -S . -B build -DEXIV2_TEAM_PACKAGING=ON -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON
|
||||
cmake --build build -t doc
|
||||
cmake --build build -t package
|
||||
|
||||
@@ -137,16 +128,7 @@ jobs:
|
||||
|
||||
- name: Build packaged release
|
||||
run: |
|
||||
cmake -GNinja -S . -B build `
|
||||
-DEXIV2_TEAM_PACKAGING=ON `
|
||||
-DBUILD_SHARED_LIBS=ON `
|
||||
-DEXIV2_ENABLE_WEBREADY=OFF `
|
||||
-DEXIV2_ENABLE_NLS=OFF `
|
||||
-DCMAKE_BUILD_TYPE=Release `
|
||||
-DEXIV2_ENABLE_BMFF=ON `
|
||||
-DEXIV2_TEAM_WARNINGS_AS_ERRORS=ON `
|
||||
-DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON `
|
||||
-DEXIV2_BUILD_DOC=ON
|
||||
cmake --preset win-release -S . -B build -DEXIV2_TEAM_PACKAGING=ON -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON -DEXIV2_BUILD_DOC=ON
|
||||
cmake --build build -t doc
|
||||
cmake --build build -t package
|
||||
|
||||
|
||||
Reference in New Issue
Block a user