From c0c9155af37da9094e55e1aaea2b47ad1b70b660 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20D=C3=ADaz=20M=C3=A1s?= Date: Fri, 1 Apr 2022 16:54:51 +0200 Subject: [PATCH 1/3] ci: split command in several lines --- .github/workflows/release.yml | 50 ++++++++++++++++++++++++----------- 1 file changed, 35 insertions(+), 15 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1dfd8536..2f8cdad2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -39,11 +39,17 @@ jobs: - name: Build packaged release run: | - cd build - cmake -GNinja -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 -DEXIV2_BUILD_DOC=ON .. - cmake --build . -t doc - cmake --build . -t package - tree -L 3 + 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 \ + -DEXIV2_BUILD_DOC=ON + cmake --build build -t doc + cmake --build build -t package - uses: actions/upload-artifact@v3 with: @@ -68,11 +74,19 @@ jobs: - name: Build packaged release run: | - mkdir build && cd build - cmake -GNinja -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 -DEXIV2_BUILD_DOC=ON -DCMAKE_CXX_FLAGS="-Wno-deprecated-declarations" .. - cmake --build . -t doc - cmake --build . -t package - tree -L 3 + mkdir build + 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 \ + -DEXIV2_BUILD_DOC=ON \ + -DCMAKE_CXX_FLAGS="-Wno-deprecated-declarations" + cmake --build build -t doc + cmake --build build -t package - uses: actions/upload-artifact@v3 with: @@ -121,11 +135,17 @@ jobs: - name: Build packaged release run: | - cd build - cmake -GNinja -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 -DEXIV2_BUILD_DOC=ON .. - cmake --build . -t doc - cmake --build . -t package - tree -L 3 + 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 ` + -DEXIV2_BUILD_DOC=ON + cmake --build build -t doc + cmake --build build -t package - uses: actions/upload-artifact@v3 with: From 0e523b6a2938dfd7f0863ffb9985ac496d2c7db5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20D=C3=ADaz=20M=C3=A1s?= Date: Fri, 1 Apr 2022 17:13:10 +0200 Subject: [PATCH 2/3] ci: Use interprocedural optimization (LTO) in releases --- .github/workflows/release.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2f8cdad2..e399a1b0 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -47,6 +47,7 @@ jobs: -DCMAKE_BUILD_TYPE=Release \ -DEXIV2_ENABLE_BMFF=ON \ -DEXIV2_TEAM_WARNINGS_AS_ERRORS=ON \ + -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \ -DEXIV2_BUILD_DOC=ON cmake --build build -t doc cmake --build build -t package @@ -84,6 +85,7 @@ jobs: -DEXIV2_ENABLE_BMFF=ON \ -DEXIV2_TEAM_WARNINGS_AS_ERRORS=ON \ -DEXIV2_BUILD_DOC=ON \ + -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \ -DCMAKE_CXX_FLAGS="-Wno-deprecated-declarations" cmake --build build -t doc cmake --build build -t package @@ -143,6 +145,7 @@ jobs: -DCMAKE_BUILD_TYPE=Release ` -DEXIV2_ENABLE_BMFF=ON ` -DEXIV2_TEAM_WARNINGS_AS_ERRORS=ON ` + -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON ` -DEXIV2_BUILD_DOC=ON cmake --build build -t doc cmake --build build -t package From 83a4fd5081c8b26f397250a347cb6d1c52f2cfeb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20D=C3=ADaz=20M=C3=A1s?= Date: Fri, 1 Apr 2022 17:57:40 +0200 Subject: [PATCH 3/3] cmake: exiv2-xmp is now an OBJECT library --- xmpsdk/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xmpsdk/CMakeLists.txt b/xmpsdk/CMakeLists.txt index 4b1be4af..9c148a61 100644 --- a/xmpsdk/CMakeLists.txt +++ b/xmpsdk/CMakeLists.txt @@ -1,4 +1,4 @@ -add_library(exiv2-xmp STATIC +add_library(exiv2-xmp OBJECT src/ExpatAdapter.cpp src/MD5.cpp src/ParseRDF.cpp