未验证 提交 e24bea8e 编写于 作者: E Ebrahim Byagowi 提交者: GitHub

[cmake] Another try on making sure feature testing is working (#691)

上级 746a37d5
......@@ -2,26 +2,23 @@ version: 2
jobs:
oracledeveloperstudio:
distcheck:
docker:
- image: fedora
- image: dockcross/base
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 || 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_BUILTIN_UCDN=ON -DHB_HAVE_GLIB=ON -DHB_HAVE_ICU=ON -DHB_HAVE_FREETYPE=ON -Bbuild -H.
- run: make -Cbuild
- run: make -Cbuild test
- run: make -Cbuild install
- run: apt update && apt install -y pkg-config ragel gtk-doc-tools libfreetype6-dev libglib2.0-dev libcairo2-dev libicu-dev libgraphite2-dev
- run: ./autogen.sh && make distcheck
- run: make distdir && cd harfbuzz-* && cmake -DDHB_CHECK=ON -Bbuild -H. -GNinja && ninja -Cbuild && CTEST_OUTPUT_ON_FAILURE=1 ninja -Cbuild test && ninja -Cbuild install
fedora-out-of-tree:
alpine:
docker:
- image: fedora
- image: alpine
steps:
- checkout
- run: dnf install -y pkg-config ragel gcc gcc-c++ automake autoconf libtool make which glib2-devel freetype-devel cairo-devel libicu-devel gobject-introspection-devel graphite2-devel redhat-rpm-config || true
- run: NOCONFIGURE=1 ./autogen.sh --with-freetype --with-glib --with-gobject --with-cairo --with-icu --with-graphite2
- run: mkdir build && cd build && ../configure && make && make check
- run: apk update && apk add ragel make pkgconfig libtool autoconf automake gettext gcc g++ glib-dev freetype-dev cairo-dev
- run: ./autogen.sh
- run: make && make check
archlinux:
docker:
......@@ -32,16 +29,16 @@ jobs:
- run: ./autogen.sh --with-freetype --with-glib --with-gobject --with-cairo --with-icu --with-graphite2
- run: make && make check
freebsd9:
fedora-outoftreebuild:
docker:
- image: donbowman/freebsd-cross-build
- image: fedora
steps:
- checkout
- run: apt update && apt install -y pkg-config ragel
- run: ./autogen.sh --prefix=/freebsd --host=x86_64-pc-freebsd9
- run: make
- run: dnf install -y pkg-config ragel gcc gcc-c++ automake autoconf libtool make which glib2-devel freetype-devel cairo-devel libicu-devel gobject-introspection-devel graphite2-devel redhat-rpm-config || true
- run: NOCONFIGURE=1 ./autogen.sh --with-freetype --with-glib --with-gobject --with-cairo --with-icu --with-graphite2
- run: mkdir build && cd build && ../configure && make && make check
base:
cmake-gcc:
docker:
- image: dockcross/base
steps:
......@@ -52,16 +49,37 @@ jobs:
- run: ninja -Cbuild test
- run: ninja -Cbuild install
distcheck:
cmake-oracledeveloperstudio:
docker:
- image: dockcross/base
- image: fedora
steps:
- checkout
- run: apt update && apt install -y pkg-config ragel gtk-doc-tools libfreetype6-dev libglib2.0-dev libcairo2-dev libicu-dev libgraphite2-dev
- run: ./autogen.sh && make distcheck
- run: make distdir && cd harfbuzz-* && cmake -DDHB_CHECK=ON -Bbuild -H. -GNinja && ninja -Cbuild && CTEST_OUTPUT_ON_FAILURE=1 ninja -Cbuild test && ninja -Cbuild install
- run: dnf install -y gcc ragel cmake make which glib2-devel freetype-devel cairo-devel libicu-devel graphite2-devel wget tar bzip2 python || 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_BUILTIN_UCDN=ON -DHB_HAVE_GLIB=ON -DHB_HAVE_ICU=ON -DHB_HAVE_FREETYPE=ON -Bbuild -H.
- run: make -Cbuild
- run: make -Cbuild test
- run: make -Cbuild install
crosscompile-notest-djgpp:
docker:
- image: quay.io/ebraminio/djgpp
steps:
- checkout
- run: apt update && apt install -y ragel pkg-config libtool autoconf
- run: CFLAGS="-Wno-attributes" CXXFLAGS="-Wno-attributes" ./autogen.sh --prefix=/usr/local/djgpp --host=i586-pc-msdosdjgpp
- run: make
psvita:
crosscompile-notest-freebsd9:
docker:
- image: donbowman/freebsd-cross-build
steps:
- checkout
- run: apt update && apt install -y pkg-config ragel
- run: ./autogen.sh --prefix=/freebsd --host=x86_64-pc-freebsd9
- run: make
crosscompile-notest-psvita:
docker:
- image: dockcross/base
steps:
......@@ -71,7 +89,7 @@ jobs:
- run: ./autogen.sh --prefix=/usr/local/vitasdk/arm-vita-eabi --host=arm-vita-eabi
- run: make
android-arm:
crosscompile-cmake-notest-android-arm:
docker:
- image: dockcross/android-arm
steps:
......@@ -80,7 +98,7 @@ jobs:
- run: cmake -Bbuild -H. -GNinja
- run: ninja -Cbuild
browser-asmjs:
crosscompile-cmake-notest-browser-asmjs:
docker:
- image: dockcross/browser-asmjs
steps:
......@@ -89,7 +107,7 @@ jobs:
- run: cmake -Bbuild -H. -GNinja
- run: ninja -Cbuild
linux-arm64:
crosscompile-cmake-notest-linux-arm64:
docker:
- image: dockcross/linux-arm64
steps:
......@@ -98,7 +116,7 @@ jobs:
- run: cmake -Bbuild -H. -GNinja
- run: ninja -Cbuild
linux-mips:
crosscompile-cmake-notest-linux-mips:
docker:
- image: dockcross/linux-mips
steps:
......@@ -107,7 +125,7 @@ jobs:
- run: cmake -Bbuild -H. -GNinja
- run: ninja -Cbuild
windows-x64:
crosscompile-cmake-notest-windows-x64:
docker:
- image: dockcross/windows-x64
steps:
......@@ -116,39 +134,32 @@ jobs:
- run: cmake -Bbuild -H. -GNinja
- run: ninja -Cbuild
alpine:
docker:
- image: alpine
steps:
- checkout
- run: apk update && apk add ragel make pkgconfig libtool autoconf automake gettext gcc g++ glib-dev freetype-dev cairo-dev
- run: ./autogen.sh
- run: make && make check
dos:
docker:
- image: quay.io/ebraminio/djgpp
steps:
- checkout
- run: apt update && apt install -y ragel pkg-config libtool autoconf
- run: CFLAGS="-Wno-attributes" CXXFLAGS="-Wno-attributes" ./autogen.sh --prefix=/usr/local/djgpp --host=i586-pc-msdosdjgpp
- run: make
workflows:
version: 2
build:
jobs:
#- oracledeveloperstudio
#- fedora-out-of-tree
- archlinux
- freebsd9
- base
# both autotools and cmake
- distcheck
- psvita
- android-arm
- browser-asmjs
- linux-arm64
- linux-mips
- windows-x64
# autotools based builds
- alpine
- dos
- archlinux
- fedora-outoftreebuild
# cmake based builds
- cmake-gcc
- cmake-oracledeveloperstudio
# crosscompiles
# they can't be test thus are without tests
## autotools
- crosscompile-notest-djgpp
- crosscompile-notest-freebsd9
- crosscompile-notest-psvita
## cmake
- crosscompile-cmake-notest-android-arm
- crosscompile-cmake-notest-browser-asmjs
- crosscompile-cmake-notest-linux-arm64
- crosscompile-cmake-notest-linux-mips
- crosscompile-cmake-notest-windows-x64
......@@ -94,24 +94,23 @@ include (CheckFunctionExists)
include (CheckIncludeFile)
macro (check_funcs) # Similar to AC_CHECK_FUNCS of autotools
foreach (func_name ${ARGN})
set (RESULT OFF)
check_function_exists(${func_name} RESULT)
if (${RESULT})
string(TOUPPER ${func_name} definiton_to_add)
string(TOUPPER ${func_name} definiton_to_add)
check_function_exists(${func_name} HAVE_${definiton_to_add})
if (${HAVE_${definiton_to_add}})
add_definitions(-DHAVE_${definiton_to_add})
endif ()
endforeach ()
endmacro ()
check_funcs(atexit mprotect sysconf getpagesize mmap isatty newlocale strtod_l)
check_funcs(atexit mprotect sysconf mmap strtod_l) #TODO: getpagesize newlocale isatty
check_include_file(unistd.h HAVE_UNIST_H)
if (${HAVE_UNIST_H})
add_definitions(-DHAVE_UNIST_H)
endif ()
#check_include_file(sys/mman.h HAVE_SYS_MMAN_H) enable this sometime
#if (${HAVE_SYS_MMAN_H})
# add_definitions(-DHAVE_SYS_MMAN_H)
#endif ()
check_include_file(sys/mman.h HAVE_SYS_MMAN_H)
if (${HAVE_SYS_MMAN_H})
add_definitions(-DHAVE_SYS_MMAN_H)
endif ()
check_include_file(xlocale.h HAVE_XLOCALE_H)
if (${HAVE_XLOCALE_H})
add_definitions(-DHAVE_XLOCALE_H)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册