From ca85b5f760fb42316dbe58255c036da08d8c4cc3 Mon Sep 17 00:00:00 2001
From: Su_Laus <[EMAIL REDACTED]>
Date: Sun, 6 Aug 2023 22:29:00 +0200
Subject: [PATCH] Add static build for CI/CD to run testcases which need
private interface functions.
---
.gitlab-ci.yml | 5 +++++
build/gitlab-ci | 38 ++++++++++++++++++++++++--------------
2 files changed, 29 insertions(+), 14 deletions(-)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index cf10b2e4..13b49b87 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -30,6 +30,11 @@ cmake-makefiles-current:
script:
- sh build/gitlab-ci cmake "Unix Makefiles" Release
+cmake-makefiles-current-static:
+ stage: build
+ script:
+ - sh build/gitlab-ci cmake "Unix Makefiles" Release static
+
cmake-ninja-current:
stage: build
script:
diff --git a/build/gitlab-ci b/build/gitlab-ci
index 234a9302..c969ccfd 100644
--- a/build/gitlab-ci
+++ b/build/gitlab-ci
@@ -46,24 +46,34 @@ cmake_build()
mkdir cmake-build
cd cmake-build
opts="-Dfatal-warnings=ON"
- echo "Running cmake -G "$1" -DCMAKE_BUILD_TYPE="$2" -DCMAKE_INSTALL_PREFIX=../cmake-install ${opts} .."
- cmake -G "$1" -DCMAKE_BUILD_TYPE="$2" -DCMAKE_INSTALL_PREFIX=../cmake-install ${opts} ..
+ para3=`echo "$3" | sed 's/./\L&/g'`
+ if [ "$para3" = "static" ]; then
+ opts2="-DBUILD_SHARED_LIBS:BOOL=OFF"
+ else
+ opts2=""
+ fi
+ echo "Running cmake -G "$1" -DCMAKE_BUILD_TYPE="$2" -DCMAKE_INSTALL_PREFIX=../cmake-install ${opts} ${opts2} .."
+ cmake -G "$1" -DCMAKE_BUILD_TYPE="$2" -DCMAKE_INSTALL_PREFIX=../cmake-install ${opts} ${opts2} ..
$COVERITY_BUILD cmake --build .
cmake --build . --target install
ctest -V
cd ..
- # Build test project using find_package(Tiff CONFIG)
- mkdir cmake-test-build
- cd cmake-test-build
- cmake -G "$1" -DCMAKE_BUILD_TYPE="$2" "-DTiff_DIR=$PWD/../cmake-install/lib/cmake/tiff" -S ../build/test_cmake -B .
- cmake --build .
- cd ..
- mkdir cmake-test-no-target-build
- cd cmake-test-no-target-build
- cmake -G "$1" -DCMAKE_BUILD_TYPE="$2" "-DTiff_DIR=$PWD/../cmake-install/lib/cmake/tiff" -S ../build/test_cmake_no_target -B .
- cmake --build .
- # Return to cmake-build for coverity_build()
- cd ../cmake-build
+ if [ "$para3" = "static" ]; then
+ echo No test project build for STATIC CI/CD build - skipped -.
+ else
+ # Build test project using find_package(Tiff CONFIG)
+ mkdir cmake-test-build
+ cd cmake-test-build
+ cmake -G "$1" -DCMAKE_BUILD_TYPE="$2" "-DTiff_DIR=$PWD/../cmake-install/lib/cmake/tiff" -S ../build/test_cmake -B .
+ cmake --build .
+ cd ..
+ mkdir cmake-test-no-target-build
+ cd cmake-test-no-target-build
+ cmake -G "$1" -DCMAKE_BUILD_TYPE="$2" "-DTiff_DIR=$PWD/../cmake-install/lib/cmake/tiff" -S ../build/test_cmake_no_target -B .
+ cmake --build .
+ # Return to cmake-build for coverity_build()
+ cd ../cmake-build
+ fi
}
# Static-analysis with coverity