Remove cmake testing and add meson build bot
CMake tests are broken anyway as py3 changes so let's get rid of them
This commit is contained in:
parent
1c3f80ba13
commit
c494d7abcd
|
@ -27,29 +27,27 @@ jobs:
|
|||
xcode: "11.1.0"
|
||||
steps:
|
||||
- checkout
|
||||
- run: HOMEBREW_NO_AUTO_UPDATE=1 brew install wget autoconf automake libtool pkg-config ragel freetype glib cairo icu4c graphite2 cmake
|
||||
- run: HOMEBREW_NO_AUTO_UPDATE=1 brew install wget autoconf automake libtool pkg-config ragel freetype glib cairo icu4c graphite2
|
||||
- run: export PKG_CONFIG_PATH="/usr/local/opt/icu4c/lib/pkgconfig:/usr/local/opt/libffi/lib/pkgconfig" && ./autogen.sh --with-freetype --with-glib --with-gobject --with-cairo --with-icu --with-coretext --with-graphite2
|
||||
- run: make -j4
|
||||
- run: make check || .ci/fail.sh
|
||||
- run: cmake -Bbuild -H. -DHB_HAVE_CORETEXT=1 -DHB_BUILD_TESTS=0 && cmake --build build
|
||||
|
||||
macos-10.15-aat-fonts:
|
||||
macos:
|
||||
xcode: "11.2.1"
|
||||
steps:
|
||||
- checkout
|
||||
- run: HOMEBREW_NO_AUTO_UPDATE=1 brew install wget autoconf automake libtool pkg-config ragel freetype glib cairo icu4c graphite2 cmake
|
||||
- run: HOMEBREW_NO_AUTO_UPDATE=1 brew install wget autoconf automake libtool pkg-config ragel freetype glib cairo icu4c graphite2
|
||||
- run: export PKG_CONFIG_PATH="/usr/local/opt/icu4c/lib/pkgconfig:/usr/local/opt/libffi/lib/pkgconfig" && ./autogen.sh --with-freetype --with-glib --with-gobject --with-cairo --with-icu --with-coretext --with-graphite2
|
||||
- run: make -j4
|
||||
- run: make check || .ci/fail.sh
|
||||
- run: cmake -Bbuild -H. -DHB_HAVE_CORETEXT=1 -DHB_BUILD_TESTS=0 && cmake --build build
|
||||
|
||||
distcheck:
|
||||
docker:
|
||||
- image: ubuntu:19.10
|
||||
steps:
|
||||
- checkout
|
||||
- run: apt update && apt install -y git ninja-build binutils libtool autoconf automake make cmake gcc g++ pkg-config ragel gtk-doc-tools libfontconfig1-dev libfreetype6-dev libglib2.0-dev libcairo2-dev libicu-dev libgraphite2-dev python python-pip
|
||||
- run: apt update && apt install -y git ninja-build binutils libtool autoconf automake make gcc g++ pkg-config ragel gtk-doc-tools libfontconfig1-dev libfreetype6-dev libglib2.0-dev libcairo2-dev libicu-dev libgraphite2-dev python python-pip
|
||||
- run: pip install fonttools
|
||||
- run: ./autogen.sh
|
||||
- run: make -j32
|
||||
|
@ -83,15 +81,6 @@ jobs:
|
|||
- run: make -j32 CPPFLAGS="-Werror"
|
||||
- run: make check CPPFLAGS="-Werror" || .ci/fail.sh
|
||||
|
||||
## Doesn't play well with CircleCI apparently
|
||||
#void-notest:
|
||||
# docker:
|
||||
# - image: voidlinux/voidlinux
|
||||
# steps:
|
||||
# - checkout
|
||||
# - run: xbps-install -Suy freetype gettext gcc glib graphite pkg-config ragel libtool autoconf automake make
|
||||
# - run: ./autogen.sh && make -j32 && make check
|
||||
|
||||
clang-O3-O0-and-nobuildsystem:
|
||||
docker:
|
||||
- image: ubuntu:19.10
|
||||
|
@ -229,29 +218,14 @@ jobs:
|
|||
path: winbuild64/harfbuzz-win64.zip
|
||||
destination: harfbuzz-win64.zip
|
||||
|
||||
cmake-gcc:
|
||||
meson-gcc:
|
||||
docker:
|
||||
- image: ubuntu:19.10
|
||||
steps:
|
||||
- checkout
|
||||
- run: apt update && apt install -y ninja-build binutils cmake gcc g++ pkg-config ragel gtk-doc-tools libfreetype6-dev libglib2.0-dev libcairo2-dev libicu-dev libgraphite2-dev python python-pip
|
||||
- run: apt update && apt install -y ninja-build binutils meson gcc g++ pkg-config ragel gtk-doc-tools libfreetype6-dev libglib2.0-dev libcairo2-dev libicu-dev libgraphite2-dev python python-pip
|
||||
- run: pip install fonttools
|
||||
- run: cmake -DHB_CHECK=ON -Bbuild -H. -GNinja
|
||||
- run: ninja -Cbuild
|
||||
# - run: CTEST_OUTPUT_ON_FAILURE=1 ninja -Cbuild test
|
||||
# - run: ninja -Cbuild install
|
||||
|
||||
#cmake-oracledeveloperstudio:
|
||||
# docker:
|
||||
# - image: fedora
|
||||
# steps:
|
||||
# - checkout
|
||||
# - run: dnf install -y gcc ragel cmake make which glib2-devel freetype-devel cairo-devel libicu-devel graphite2-devel wget tar bzip2 python libnsl || true
|
||||
# - run: wget http://$ODSUSER:$ODSPASS@behdad.org/harfbuzz-private/OracleDeveloperStudio12.6-linux-x86-bin.tar.bz2 && tar xf OracleDeveloperStudio12.6-linux-x86-bin.tar.bz2 --owner root --group root --no-same-owner
|
||||
# - run: CC=/root/project/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/suncc CXX=/root/project/OracleDeveloperStudio12.6-linux-x86-bin/developerstudio12.6/bin/sunCC cmake -DHB_HAVE_GRAPHITE2=ON -DHB_HAVE_GLIB=ON -DHB_HAVE_FREETYPE=ON -Bbuild -H.
|
||||
# - run: make -Cbuild -j32
|
||||
# - run: CTEST_OUTPUT_ON_FAILURE=1 make -Cbuild test
|
||||
# - run: make -Cbuild install
|
||||
- run: meson build && ninja -Cbuild test
|
||||
|
||||
crosscompile-notest-djgpp:
|
||||
docker:
|
||||
|
@ -273,46 +247,6 @@ jobs:
|
|||
- run: ./autogen.sh --prefix=/usr/local/vitasdk/arm-vita-eabi --host=arm-vita-eabi
|
||||
- run: make -j32
|
||||
|
||||
crosscompile-cmake-notest-android-arm:
|
||||
docker:
|
||||
- image: dockcross/android-arm
|
||||
steps:
|
||||
- checkout
|
||||
- run: cmake -Bbuild -H. -GNinja -DHB_BUILD_TESTS=OFF
|
||||
- run: ninja -Cbuild
|
||||
|
||||
crosscompile-cmake-notest-browser-asmjs-hb_tiny:
|
||||
docker:
|
||||
- image: dockcross/browser-asmjs
|
||||
steps:
|
||||
- checkout
|
||||
- run: cmake -Bbuild -H. -GNinja -DCMAKE_CXX_FLAGS="-DHB_TINY" -DHB_BUILD_TESTS=OFF
|
||||
- run: ninja -Cbuild
|
||||
|
||||
crosscompile-cmake-notest-linux-arm64:
|
||||
docker:
|
||||
- image: dockcross/linux-arm64
|
||||
steps:
|
||||
- checkout
|
||||
- run: cmake -Bbuild -H. -GNinja -DHB_BUILD_TESTS=OFF
|
||||
- run: ninja -Cbuild
|
||||
|
||||
crosscompile-cmake-notest-linux-mips:
|
||||
docker:
|
||||
- image: dockcross/linux-mips
|
||||
steps:
|
||||
- checkout
|
||||
- run: cmake -Bbuild -H. -GNinja -DHB_BUILD_TESTS=OFF
|
||||
- run: ninja -Cbuild
|
||||
|
||||
#crosscompile-cmake-notest-windows-x64:
|
||||
# docker:
|
||||
# - image: dockcross/windows-x64
|
||||
# steps:
|
||||
# - checkout
|
||||
# - run: cmake -Bbuild -H. -GNinja
|
||||
# - run: ninja -Cbuild
|
||||
|
||||
workflows:
|
||||
version: 2
|
||||
build:
|
||||
|
@ -323,13 +257,11 @@ workflows:
|
|||
- macos-10.14.4-aat-fonts
|
||||
- macos-10.15-aat-fonts
|
||||
|
||||
# both autotools and cmake
|
||||
- distcheck
|
||||
|
||||
# autotools based builds
|
||||
- alpine-O3-Os-NOMMAP
|
||||
- archlinux-py3-all
|
||||
#- void-notest
|
||||
- gcc-valgrind
|
||||
- clang-O3-O0-and-nobuildsystem
|
||||
- clang-everything
|
||||
|
@ -339,9 +271,7 @@ workflows:
|
|||
- clang-ubsan
|
||||
- fedora-O0-debug-outoftreebuild-mingw
|
||||
|
||||
# cmake based builds
|
||||
- cmake-gcc
|
||||
#- cmake-oracledeveloperstudio
|
||||
- meson-gcc
|
||||
|
||||
# crosscompiles
|
||||
# they can't be test thus are without tests
|
||||
|
@ -349,9 +279,3 @@ workflows:
|
|||
- crosscompile-notest-djgpp
|
||||
- crosscompile-notest-psvita
|
||||
|
||||
## cmake
|
||||
- crosscompile-cmake-notest-android-arm
|
||||
- crosscompile-cmake-notest-browser-asmjs-hb_tiny
|
||||
- crosscompile-cmake-notest-linux-arm64
|
||||
- crosscompile-cmake-notest-linux-mips
|
||||
#- crosscompile-cmake-notest-windows-x64
|
||||
|
|
|
@ -53,7 +53,6 @@ if (HB_BUILD_UTILS)
|
|||
endif ()
|
||||
|
||||
option(HB_BUILD_SUBSET "Build harfbuzz-subset" ON)
|
||||
option(HB_BUILD_TESTS "Build harfbuzz tests" ON)
|
||||
|
||||
option(HB_HAVE_GOBJECT "Enable GObject Bindings" OFF)
|
||||
if (HB_HAVE_GOBJECT)
|
||||
|
@ -790,54 +789,3 @@ if (NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL)
|
|||
endif ()
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if (HB_BUILD_TESTS)
|
||||
## src/ executables
|
||||
foreach (prog test test-gsub-would-substitute test-gpos-size-params test-buffer-serialize test-unicode-ranges) # hb-ot-tag
|
||||
set (prog_name ${prog})
|
||||
if (${prog_name} STREQUAL "test")
|
||||
# test can not be used as a valid executable name on cmake, lets special case it
|
||||
set (prog_name test-test)
|
||||
endif ()
|
||||
add_executable(${prog_name} ${PROJECT_SOURCE_DIR}/src/${prog}.cc)
|
||||
target_link_libraries(${prog_name} harfbuzz ${THIRD_PARTY_LIBS})
|
||||
endforeach ()
|
||||
# set_target_properties(hb-ot-tag PROPERTIES COMPILE_FLAGS "-DMAIN")
|
||||
|
||||
## Tests
|
||||
if (UNIX OR MINGW)
|
||||
if (BUILD_SHARED_LIBS)
|
||||
# generate harfbuzz.def after build completion
|
||||
add_custom_command(TARGET harfbuzz POST_BUILD
|
||||
COMMAND "${PYTHON_EXECUTABLE}" ${PROJECT_SOURCE_DIR}/src/gen-def.py ${PROJECT_BINARY_DIR}/harfbuzz.def ${project_headers}
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/src)
|
||||
|
||||
add_test(NAME check-static-inits.sh
|
||||
COMMAND ${PROJECT_SOURCE_DIR}/src/check-static-inits.sh
|
||||
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/harfbuzz.dir/src # ugly hack
|
||||
)
|
||||
add_test(NAME check-libstdc++.sh COMMAND ${PROJECT_SOURCE_DIR}/src/check-libstdc++.sh)
|
||||
add_test(NAME check-symbols.sh COMMAND ${PROJECT_SOURCE_DIR}/src/check-symbols.sh)
|
||||
|
||||
set_tests_properties(
|
||||
check-static-inits.sh check-libstdc++.sh check-symbols.sh
|
||||
PROPERTIES
|
||||
ENVIRONMENT "libs=.;srcdir=${PROJECT_SOURCE_DIR}/src"
|
||||
SKIP_RETURN_CODE 77)
|
||||
endif ()
|
||||
|
||||
add_test(NAME check-c-linkage-decls.sh COMMAND ./check-c-linkage-decls.sh)
|
||||
add_test(NAME check-header-guards.sh COMMAND ./check-header-guards.sh)
|
||||
add_test(NAME check-externs.sh COMMAND ./check-externs.sh)
|
||||
add_test(NAME check-includes.sh COMMAND ./check-includes.sh)
|
||||
set_tests_properties(
|
||||
check-c-linkage-decls.sh check-header-guards.sh check-externs.sh check-includes.sh
|
||||
PROPERTIES
|
||||
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/src
|
||||
SKIP_RETURN_CODE 77)
|
||||
endif ()
|
||||
|
||||
# Needs to come last so that variables defined above are passed to
|
||||
# subdirectories.
|
||||
add_subdirectory(test)
|
||||
endif ()
|
||||
|
|
|
@ -16,7 +16,7 @@ EXTRA_DIST = \
|
|||
CONFIG.md \
|
||||
RELEASING.md \
|
||||
TESTING.md \
|
||||
CMakeLists.txt \
|
||||
meson.build \
|
||||
replace-enum-strings.cmake \
|
||||
mingw-configure.sh \
|
||||
mingw-ldd.py \
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
add_subdirectory(api)
|
||||
add_subdirectory(shaping)
|
||||
add_subdirectory(subset)
|
||||
add_subdirectory(fuzzing)
|
|
@ -5,7 +5,7 @@ EXTRA_DIST =
|
|||
SUBDIRS = api shaping fuzzing subset
|
||||
|
||||
EXTRA_DIST += \
|
||||
CMakeLists.txt \
|
||||
meson.build \
|
||||
$(NULL)
|
||||
|
||||
# Convenience targets:
|
||||
|
|
|
@ -1,36 +0,0 @@
|
|||
if (HB_HAVE_GLIB)
|
||||
file (READ "${CMAKE_CURRENT_SOURCE_DIR}/Makefile.am" MAKEFILEAM)
|
||||
extract_make_variable (TEST_PROGS ${MAKEFILEAM})
|
||||
|
||||
list (APPEND TEST_PROGS
|
||||
test-ot-color
|
||||
test-ot-name
|
||||
test-ot-tag
|
||||
test-c
|
||||
test-cplusplus
|
||||
)
|
||||
|
||||
if (HB_HAVE_FREETYPE)
|
||||
list (APPEND TEST_PROGS test-ot-math)
|
||||
endif ()
|
||||
|
||||
foreach (test_name IN ITEMS ${TEST_PROGS})
|
||||
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${test_name}.c)
|
||||
add_executable (${test_name} ${test_name}.c)
|
||||
elseif (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${test_name}.cc)
|
||||
add_executable (${test_name} ${test_name}.cc)
|
||||
else ()
|
||||
message (FATAL_ERROR "No source file found for test ${test_name}")
|
||||
endif ()
|
||||
target_link_libraries (${test_name} harfbuzz harfbuzz-subset)
|
||||
if (WIN32)
|
||||
set_property (TARGET ${test_name} PROPERTY RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||
add_test (NAME ${test_name} COMMAND ${test_name})
|
||||
else (WIN32)
|
||||
add_test (${test_name} ${test_name})
|
||||
endif (WIN32)
|
||||
endforeach ()
|
||||
set_tests_properties (${TEST_PROGS} PROPERTIES ENVIRONMENT
|
||||
"G_TEST_SRCDIR=${CMAKE_CURRENT_SOURCE_DIR};G_TEST_BUILDDIR=${CMAKE_CURRENT_BINARY_DIR}"
|
||||
)
|
||||
endif ()
|
|
@ -12,7 +12,7 @@ lib:
|
|||
libs:
|
||||
@$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src libs
|
||||
|
||||
EXTRA_DIST += CMakeLists.txt
|
||||
EXTRA_DIST += meson.build
|
||||
|
||||
EXTRA_DIST += fonts
|
||||
|
||||
|
|
|
@ -1,27 +0,0 @@
|
|||
if (HB_CHECK)
|
||||
file (READ "${CMAKE_CURRENT_SOURCE_DIR}/Makefile.am" MAKEFILEAM)
|
||||
extract_make_variable (hb_shape_fuzzer_SOURCES ${MAKEFILEAM})
|
||||
extract_make_variable (hb_subset_fuzzer_SOURCES ${MAKEFILEAM})
|
||||
|
||||
# TODO: enable these two
|
||||
#extract_make_variable (FUZZING_CPPFLAGS ${MAKEFILEAM}) # extracting regex fail
|
||||
#add_executable (hb-shape-fuzzer # it should be run only after ragel execution
|
||||
# ${project_sources} ${project_extra_sources} ${project_headers}
|
||||
# ${hb_shape_fuzzer_SOURCES})
|
||||
|
||||
add_executable (hb-shape-fuzzer ${hb_shape_fuzzer_SOURCES})
|
||||
target_link_libraries (hb-shape-fuzzer harfbuzz)
|
||||
|
||||
add_executable (hb-subset-fuzzer ${hb_subset_fuzzer_SOURCES})
|
||||
target_link_libraries (hb-subset-fuzzer harfbuzz-subset)
|
||||
|
||||
target_compile_definitions(hb-shape-fuzzer PUBLIC ${FUZZING_CPPFLAGS})
|
||||
target_compile_definitions(hb-subset-fuzzer PUBLIC ${FUZZING_CPPFLAGS})
|
||||
|
||||
add_test (NAME hb-shape-fuzzer
|
||||
COMMAND "${PYTHON_EXECUTABLE}" run-shape-fuzzer-tests.py $<TARGET_FILE:hb-shape-fuzzer>
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
add_test (NAME hb-subset-fuzzer
|
||||
COMMAND "${PYTHON_EXECUTABLE}" run-subset-fuzzer-tests.py $<TARGET_FILE:hb-subset-fuzzer>
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
endif ()
|
|
@ -20,7 +20,7 @@ EXTRA_DIST += \
|
|||
run-shape-fuzzer-tests.py \
|
||||
run-subset-fuzzer-tests.py \
|
||||
run-draw-fuzzer-tests.py \
|
||||
CMakeLists.txt \
|
||||
meson.build \
|
||||
fonts \
|
||||
$(NULL)
|
||||
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
if (HB_BUILD_UTILS)
|
||||
file (READ "${CMAKE_CURRENT_SOURCE_DIR}/data/in-house/Makefile.sources" INHOUSE)
|
||||
extract_make_variable (TESTS ${INHOUSE})
|
||||
foreach (test IN ITEMS ${TESTS})
|
||||
add_test (NAME ${test}
|
||||
COMMAND "${PYTHON_EXECUTABLE}" run-tests.py $<TARGET_FILE:hb-shape> "data/in-house/${test}"
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
set_property (TEST ${test} PROPERTY SKIP_RETURN_CODE 77)
|
||||
endforeach ()
|
||||
|
||||
file (READ "${CMAKE_CURRENT_SOURCE_DIR}/data/aots/Makefile.sources" INHOUSE)
|
||||
extract_make_variable (TESTS ${INHOUSE})
|
||||
foreach (test IN ITEMS ${TESTS})
|
||||
add_test (NAME ${test}
|
||||
COMMAND "${PYTHON_EXECUTABLE}" run-tests.py $<TARGET_FILE:hb-shape> "data/aots/${test}"
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
set_property (TEST ${test} PROPERTY SKIP_RETURN_CODE 77)
|
||||
endforeach ()
|
||||
|
||||
file (READ "${CMAKE_CURRENT_SOURCE_DIR}/data/text-rendering-tests/Makefile.sources" TEXTRENDERING)
|
||||
extract_make_variable (TESTS ${TEXTRENDERING})
|
||||
foreach (test IN ITEMS ${TESTS})
|
||||
add_test (NAME ${test}
|
||||
COMMAND "${PYTHON_EXECUTABLE}" run-tests.py $<TARGET_FILE:hb-shape> "data/text-rendering-tests/${test}"
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
set_property (TEST ${test} PROPERTY SKIP_RETURN_CODE 77)
|
||||
endforeach ()
|
||||
endif ()
|
|
@ -15,7 +15,7 @@ libs:
|
|||
|
||||
EXTRA_DIST += \
|
||||
README.md \
|
||||
CMakeLists.txt \
|
||||
meson.build \
|
||||
hb-diff \
|
||||
hb-diff-colorize \
|
||||
hb-diff-filter-failures \
|
||||
|
|
|
@ -11,7 +11,7 @@ libs:
|
|||
@$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src libs
|
||||
|
||||
EXTRA_DIST += \
|
||||
CMakeLists.txt \
|
||||
meson.build \
|
||||
run-tests.py \
|
||||
subset_test_suite.py \
|
||||
$(NULL)
|
||||
|
|
Loading…
Reference in New Issue