13
13
CFLAGS_GCC_STYLE : ' -Wall -Wextra -pedantic -Wdeclaration-after-statement -Wshadow -Wno-overlength-strings'
14
14
CFLAGS_MSVC : ' /W3'
15
15
CFLAGS_SOLARIS_CC : ' -errtags=yes -erroff=E_STATEMENT_NOT_REACHED'
16
+ CMAKE_FLAGS : ' -Wdev -Werror=dev -Wdeprecated -Werror=deprecated --warn-uninitialized'
16
17
17
18
jobs :
18
19
linux :
@@ -106,7 +107,7 @@ jobs:
106
107
submodules : true
107
108
108
109
- name : Configure
109
- run : cmake -DPCRE2_SUPPORT_JIT=ON -DPCRE2_BUILD_PCRE2_16=ON -DPCRE2_BUILD_PCRE2_32=ON -DPCRE2_SUPPORT_LIBZ=ON -DPCRE2_SUPPORT_LIBBZ2=ON -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON -DCMAKE_OSX_ARCHITECTURES='arm64;x86_64' -DCMAKE_C_FLAGS="$CFLAGS_GCC_STYLE" -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DCMAKE_BUILD_TYPE=Release -B build
110
+ run : cmake $CMAKE_FLAGS -DPCRE2_SUPPORT_JIT=ON -DPCRE2_BUILD_PCRE2_16=ON -DPCRE2_BUILD_PCRE2_32=ON -DPCRE2_SUPPORT_LIBZ=ON -DPCRE2_SUPPORT_LIBBZ2=ON -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON -DCMAKE_OSX_ARCHITECTURES='arm64;x86_64' -DCMAKE_C_FLAGS="$CFLAGS_GCC_STYLE" -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DCMAKE_BUILD_TYPE=Release -B build
110
111
111
112
- name : Build
112
113
run : cd build && make -j3
@@ -129,7 +130,7 @@ jobs:
129
130
for useStaticLibs in ON OFF; do
130
131
echo "== Testing CMake install interface with PCRE2_USE_STATIC_LIBS=$useStaticLibs =="
131
132
rm -rf build
132
- cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALL_PREFIX" -DPCRE2_USE_STATIC_LIBS=$useStaticLibs -B build
133
+ cmake $CMAKE_FLAGS -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH="$INSTALL_PREFIX" -DPCRE2_USE_STATIC_LIBS=$useStaticLibs -B build
133
134
(cd build; make)
134
135
./build/test_executable
135
136
otool -L ./build/test_executable
@@ -153,7 +154,7 @@ jobs:
153
154
shared=`echo $buildLibs | cut -d';' -f2`
154
155
echo "== Testing CMake build interface with BUILD_STATIC_LIBS=$static and BUILD_SHARED_LIBS=$shared =="
155
156
rm -rf build
156
- cmake -DCMAKE_BUILD_TYPE=Debug -DBUILD_STATIC_LIBS=$static -DBUILD_SHARED_LIBS=$shared -B build
157
+ cmake $CMAKE_FLAGS -DCMAKE_BUILD_TYPE=Debug -DBUILD_STATIC_LIBS=$static -DBUILD_SHARED_LIBS=$shared -B build
157
158
(cd build; make)
158
159
./build/test_executable
159
160
otool -L ./build/test_executable
@@ -194,7 +195,7 @@ jobs:
194
195
- name : Configure
195
196
run : |
196
197
echo "PATH=$env:PATH"
197
- cmake -DPCRE2_SUPPORT_JIT=ON -DPCRE2_BUILD_PCRE2_16=ON -DPCRE2_BUILD_PCRE2_32=ON -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON -DCMAKE_C_FLAGS="$CFLAGS_MSVC" -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -B build -A ${{ matrix.arch }}
198
+ cmake $CMAKE_FLAGS -DPCRE2_SUPPORT_JIT=ON -DPCRE2_BUILD_PCRE2_16=ON -DPCRE2_BUILD_PCRE2_32=ON -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON -DCMAKE_C_FLAGS="$CFLAGS_MSVC" -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -B build -A ${{ matrix.arch }}
198
199
199
200
- name : Build
200
201
run : cmake --build build --config Release
@@ -220,7 +221,7 @@ jobs:
220
221
foreach ($useStaticLibs in @("ON", "OFF")) {
221
222
echo "== Testing CMake install interface with PCRE2_USE_STATIC_LIBS=$useStaticLibs =="
222
223
if (Test-Path build) { rm -Recurse -Force build }
223
- cmake "-DCMAKE_PREFIX_PATH=$INSTALL_PREFIX" "-DPCRE2_USE_STATIC_LIBS=$useStaticLibs" -B build -A ${{ matrix.arch }}
224
+ cmake $CMAKE_FLAGS "-DCMAKE_PREFIX_PATH=$INSTALL_PREFIX" "-DPCRE2_USE_STATIC_LIBS=$useStaticLibs" -B build -A ${{ matrix.arch }}
224
225
cmake --build build --config Release
225
226
./build/Release/test_executable.exe
226
227
& $dumpbin /dependents ./build/Release/test_executable.exe
@@ -251,7 +252,7 @@ jobs:
251
252
foreach ($buildLibs in @(@{static="ON"; shared="OFF"}, @{static="OFF"; shared="ON"})) {
252
253
echo "== Testing CMake build interface with BUILD_STATIC_LIBS=$($buildLibs.static) =="
253
254
if (Test-Path build) { rm -Recurse -Force build }
254
- cmake "-DBUILD_STATIC_LIBS=$($buildLibs.static)" "-DBUILD_SHARED_LIBS=$($buildLibs.shared)" -B build -A ${{ matrix.arch }}
255
+ cmake $CMAKE_FLAGS "-DBUILD_STATIC_LIBS=$($buildLibs.static)" "-DBUILD_SHARED_LIBS=$($buildLibs.shared)" -B build -A ${{ matrix.arch }}
255
256
cmake --build build --config Debug
256
257
./build/Debug/test_executable.exe
257
258
& $dumpbin /dependents ./build/Debug/test_executable.exe
@@ -285,7 +286,7 @@ jobs:
285
286
- name : Build & test
286
287
uses : vmactions/freebsd-vm@c3ae29a132c8ef1924775414107a97cac042aad5 # v1.2.0
287
288
with :
288
- envs : ' CFLAGS_GCC_STYLE'
289
+ envs : ' CFLAGS_GCC_STYLE CMAKE_FLAGS '
289
290
usesh : true
290
291
prepare : |
291
292
pkg install -y cmake
@@ -310,7 +311,7 @@ jobs:
310
311
echo "== CMake =="
311
312
cd ../build-cmake
312
313
313
- cmake -DPCRE2_SUPPORT_JIT=ON -DPCRE2_BUILD_PCRE2_16=ON -DPCRE2_BUILD_PCRE2_32=ON -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON -DPCRE2_DEBUG=ON -DCMAKE_C_FLAGS="$CFLAGS_GCC_STYLE" -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DCMAKE_BUILD_TYPE=Release -B build
314
+ cmake $CMAKE_FLAGS -DPCRE2_SUPPORT_JIT=ON -DPCRE2_BUILD_PCRE2_16=ON -DPCRE2_BUILD_PCRE2_32=ON -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON -DPCRE2_DEBUG=ON -DCMAKE_C_FLAGS="$CFLAGS_GCC_STYLE" -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DCMAKE_BUILD_TYPE=Release -B build
314
315
cd build
315
316
make -j3
316
317
ctest -j3 --output-on-failure
@@ -342,7 +343,7 @@ jobs:
342
343
- name : Build & test
343
344
uses : vmactions/solaris-vm@cc8f82fa1a7cc746153ec3f71bf11f311f16e225 # v1.1.1
344
345
with :
345
- envs : ' CFLAGS_SOLARIS_CC'
346
+ envs : ' CFLAGS_SOLARIS_CC CMAKE_FLAGS '
346
347
usesh : true
347
348
# Seriously! Solaris is the only OS to actually ship without a C
348
349
# compiler, and not even to provide a simple download to get one!
@@ -392,7 +393,7 @@ jobs:
392
393
echo "== CMake, 64-bit =="
393
394
cd ../build-cmake-64
394
395
395
- CC="cc -m64" cmake -DNCURSES_LIBRARY=termcap -DPCRE2_BUILD_PCRE2_16=ON -DPCRE2_BUILD_PCRE2_32=ON -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON -DPCRE2_DEBUG=ON -DCMAKE_C_FLAGS="$CFLAGS_SOLARIS_CC" -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DCMAKE_BUILD_TYPE=Release -B build
396
+ CC="cc -m64" cmake $CMAKE_FLAGS -DNCURSES_LIBRARY=termcap -DPCRE2_BUILD_PCRE2_16=ON -DPCRE2_BUILD_PCRE2_32=ON -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON -DPCRE2_DEBUG=ON -DCMAKE_C_FLAGS="$CFLAGS_SOLARIS_CC" -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DCMAKE_BUILD_TYPE=Release -B build
396
397
cd build
397
398
make
398
399
ctest -j3 --output-on-failure
@@ -520,7 +521,7 @@ jobs:
520
521
submodules : true
521
522
522
523
- name : Configure
523
- run : CC="clang -fprofile-instr-generate -fcoverage-mapping" cmake -DCMAKE_BUILD_TYPE=Debug -DPCRE2_DEBUG=OFF -DPCRE2_SUPPORT_JIT=ON -DPCRE2_BUILD_PCRE2_16=ON -DPCRE2_BUILD_PCRE2_32=ON -DPCRE2_SUPPORT_LIBZ=ON -DPCRE2_SUPPORT_LIBBZ2=ON -DPCRE2_SUPPORT_LIBEDIT=ON -DPCRE2_SUPPORT_LIBREADLINE=OFF -B build
524
+ run : CC="clang -fprofile-instr-generate -fcoverage-mapping" cmake $CMAKE_FLAGS -DCMAKE_BUILD_TYPE=Debug -DPCRE2_DEBUG=OFF -DPCRE2_SUPPORT_JIT=ON -DPCRE2_BUILD_PCRE2_16=ON -DPCRE2_BUILD_PCRE2_32=ON -DPCRE2_SUPPORT_LIBZ=ON -DPCRE2_SUPPORT_LIBBZ2=ON -DPCRE2_SUPPORT_LIBEDIT=ON -DPCRE2_SUPPORT_LIBREADLINE=OFF -B build
524
525
525
526
- name : Build
526
527
run : cd build && make -j3
0 commit comments