Merge pull request #529 from libexpat/actions-cover-m32

GitHub Actions: Cover -m32 + store coverage results as an artifact
This commit is contained in:
Sebastian Pipping 2021-12-28 16:11:41 +01:00 committed by GitHub
commit 60bbbe560c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 50 additions and 3 deletions

View file

@ -59,6 +59,8 @@ jobs:
cmake \
docbook2x \
dos2unix \
gcc-multilib \
g++-multilib \
lcov \
libbsd-dev \
lzip \
@ -75,3 +77,10 @@ jobs:
TRAVIS_OS_NAME: linux
run: |
exec ./.travis.sh
- name: Store coverage .info and HTML report
uses: actions/upload-artifact@v2.3.1
with:
name: coverage
path: expat/coverage__*/
if-no-files-found: error

View file

@ -68,6 +68,8 @@ jobs:
FLAT_ENV: CC=clang CXX=clang++ LD=clang++ QA_SANITIZER=undefined
- MODE: qa-sh
FLAT_ENV: CC=gcc CXX=g++ LD=ld QA_PROCESSOR=gcov
- MODE: qa-sh
FLAT_ENV: CC=gcc CXX=g++ LD=ld QA_PROCESSOR=gcov CMAKE_ARGS=-D_EXPAT_M32=ON
- MODE: qa-sh
FLAT_ENV: CC=i686-w64-mingw32-gcc CXX=i686-w64-mingw32-g++ LD=i686-w64-mingw32-ld QA_PROCESSOR=gcov CMAKE_ARGS="-DCMAKE_SYSTEM_NAME=Windows -DWIN32=ON -DMINGW=ON -DEXPAT_ATTR_INFO=ON"
- MODE: qa-sh
@ -93,6 +95,8 @@ jobs:
cmake \
docbook2x \
dos2unix \
gcc-multilib \
g++-multilib \
lcov \
libbsd-dev \
lzip \

View file

@ -151,6 +151,9 @@ mark_as_advanced(EXPAT_MIN_SIZE)
if(MSVC OR _EXPAT_HELP)
set(EXPAT_MSVC_STATIC_CRT OFF CACHE BOOL "Use /MT flag (static CRT) when compiling in MSVC")
endif()
if(NOT _EXPAT_HELP)
set(_EXPAT_M32 OFF CACHE BOOL "(Unofficial!) Produce 32bit code with -m32")
endif()
if(EXPAT_BUILD_TESTS)
# We have to call enable_language() before modifying any CMAKE_CXX_* variables
@ -322,6 +325,23 @@ if (MSVC)
endif()
endif()
if(_EXPAT_M32 AND NOT MSVC)
foreach(flag_var
CMAKE_CXX_FLAGS_${_EXPAT_BUILD_TYPE_UPPER}
CMAKE_CXX_FLAGS_DEBUG
CMAKE_CXX_FLAGS_RELEASE
CMAKE_CXX_FLAGS_MINSIZEREL
CMAKE_CXX_FLAGS_RELWITHDEBINFO
CMAKE_C_FLAGS_${_EXPAT_BUILD_TYPE_UPPER}
CMAKE_C_FLAGS_DEBUG
CMAKE_C_FLAGS_RELEASE
CMAKE_C_FLAGS_MINSIZEREL
CMAKE_C_FLAGS_RELWITHDEBINFO
)
set(${flag_var} "${${flag_var}} -m32")
endforeach()
endif()
include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/lib)
if(MSVC)
add_definitions(-D_CRT_SECURE_NO_WARNINGS -wd4996)

View file

@ -50,8 +50,14 @@ _get_build_dir() {
fi
local char_part=
if ${with_unsigned_char}; then
char_part=__unsigned_char
if ${unicode_enabled}; then
if ${with_unsigned_char}; then
char_part=__ushort
else
char_part=__wchar_t
fi
else
char_part=__char
fi
local xml_attr_part=
@ -59,7 +65,12 @@ _get_build_dir() {
xml_attr_part=__attr_info
fi
echo "build__${version}__unicode_${unicode_enabled}__xml_context_${xml_context}${libbsd_part}${mingw_part}${char_part}${xml_attr_part}"
local m32_part=
if ${with_m32}; then
m32_part=__m32
fi
echo "build__${version}__xml_context_${xml_context}${libbsd_part}${mingw_part}${char_part}${xml_attr_part}${m32_part}"
}
@ -85,6 +96,7 @@ _call_cmake() {
${with_libbsd} && cmake_args+=( -DEXPAT_WITH_LIBBSD=ON )
${with_mingw} && cmake_args+=( -DCMAKE_TOOLCHAIN_FILE="${abs_source_dir}"/cmake/mingw-toolchain.cmake )
${with_m32} && cmake_args+=( -D_EXPAT_M32=ON )
(
set -x
@ -276,6 +288,7 @@ _main() {
# All combinations:
with_unsigned_char=false
with_libbsd=false
with_m32=false
for with_mingw in true false ; do
for unicode_enabled in true false ; do
if ${unicode_enabled} && ! ${with_mingw} ; then
@ -293,6 +306,7 @@ _main() {
# Single cases:
with_libbsd=true _build_case
with_unsigned_char=true _build_case
with_m32=true _build_case
echo
echo 'Merging coverage files...'