From d7933f01b3e398f05ce3a85168347d83958f523f Mon Sep 17 00:00:00 2001 From: Tamas Kenez
Date: Tue, 24 Nov 2015 22:53:18 +0100 Subject: [PATCH] [cmake] add cmake-testbuild.sh to test the config-module --- builds/cmake-testbuild.sh | 104 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100755 builds/cmake-testbuild.sh diff --git a/builds/cmake-testbuild.sh b/builds/cmake-testbuild.sh new file mode 100755 index 0000000..71e7cc0 --- /dev/null +++ b/builds/cmake-testbuild.sh @@ -0,0 +1,104 @@ +#!/bin/sh -e + +# This script tests the CMake build. Simply run +# +# builds/cmake-testbuild.sh +# +# or +# +# BUILD_SHARED_LIBS=1 builds/cmake-testbuild.sh +# +# The script: +# +# - builds the main CMakeLists.txt +# - builds and runs a small test app in a separate build tree so +# the config-module is tested, too +# +# Options (environment variables): +# +# - The variable BUILD_SHARED_LIBS will be forwarded to the CMake project +# that builds the library. +# + + +# prepare temporary dir +cd $(dirname $0)/.. +ftdir=$PWD +tmpdir=/tmp/freetype-cmake-testbuild +rm -rf $tmpdir +mkdir -p $tmpdir + +# build and install freetype + +if [ -n "$BUILD_SHARED_LIBS" ]; then + bsl=-DBUILD_SHARED_LIBS=$BUILD_SHARED_LIBS +else + bsl=-UBUILD_SHARED_LIBS +fi + +build_opts="-DWITH_ZLIB=0 -DWITH_BZip2=0 -DWITH_PNG=0 -DWITH_HarfBuzz=0 $bsl" +build_opts="$build_opts -DCMAKE_INSTALL_PREFIX=$tmpdir/out" +(set -x; cmake -H$ftdir -B$tmpdir/ftb -DCMAKE_BUILD_TYPE=Debug $build_opts) +(set -x; cmake --build $tmpdir/ftb --config Debug --target install) +(set -x; cmake $tmpdir/ftb -DCMAKE_BUILD_TYPE=Release) +(set -x; cmake --build $tmpdir/ftb --config Release --target install --clean-first) + +# create test project CMakeLists.txt +cat >$tmpdir/CMakeLists.txt << END +cmake_minimum_required(VERSION 2.6) +project(freetype-cmake-testbuild) + +find_package(Freetype REQUIRED CONFIG) + +add_executable(freetype-cmake-test main.c) +target_link_libraries(freetype-cmake-test freetype) + +enable_testing() +add_test(freetype-cmake-test freetype-cmake-test) + +END + +# create test project main.c +cat >$tmpdir/main.c << END +#include