| Index: third_party/freetype2/src/builds/cmake/testbuild.sh
|
| diff --git a/third_party/freetype2/src/builds/cmake/testbuild.sh b/third_party/freetype2/src/builds/cmake/testbuild.sh
|
| new file mode 100755
|
| index 0000000000000000000000000000000000000000..5af669c3734f685a17bddf2a5d2643eef80ccc95
|
| --- /dev/null
|
| +++ b/third_party/freetype2/src/builds/cmake/testbuild.sh
|
| @@ -0,0 +1,157 @@
|
| +#!/bin/sh -e
|
| +
|
| +# Copyright 2015 by
|
| +# David Turner, Robert Wilhelm, and Werner Lemberg.
|
| +#
|
| +# This file is part of the FreeType project, and may only be used, modified,
|
| +# and distributed under the terms of the FreeType project license,
|
| +# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
| +# indicate that you have read the license and understand and accept it
|
| +# fully.
|
| +
|
| +# 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 test -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 \
|
| + -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 <stdio.h>
|
| +#include <stdlib.h>
|
| +
|
| +#include <ft2build.h>
|
| +#include FT_FREETYPE_H
|
| +
|
| +
|
| +FT_Library library;
|
| +
|
| +
|
| +int main(int argc,
|
| + char*argv[])
|
| +{
|
| + FT_Error error;
|
| + FT_Int major = 0;
|
| + FT_Int minor = 0;
|
| + FT_Int patch = 0;
|
| +
|
| + error = FT_Init_FreeType(&library);
|
| + if (error)
|
| + return EXIT_FAILURE;
|
| +
|
| + FT_Library_Version(library, &major, &minor, &patch);
|
| + if (major != FREETYPE_MAJOR
|
| + || minor != FREETYPE_MINOR
|
| + || patch != FREETYPE_PATCH)
|
| + return EXIT_FAILURE;
|
| +
|
| + printf("FT_Library_Version: %d.%d.%d\n", major, minor, patch);
|
| +
|
| + error = FT_Done_FreeType(library);
|
| + if (error)
|
| + return EXIT_FAILURE;
|
| +
|
| + return EXIT_SUCCESS;
|
| +}
|
| +END
|
| +
|
| +
|
| +# build and test
|
| +
|
| +mkdir -p $tmpdir/tb
|
| +cd $tmpdir/tb
|
| +
|
| +LD_LIBRARY_PATH=$tmpdir/out/lib:$LD_LIBRARY_PATH
|
| +DYLD_LIBRARY_PATH=$tmpdir/out/lib:$DYLD_LIBRARY_PATH
|
| +export LD_LIBRARY_PATH
|
| +export DYLD_LIBRARY_PATH
|
| +
|
| +(set -x; cmake $tmpdir \
|
| + -DCMAKE_BUILD_TYPE=Debug \
|
| + -DCMAKE_PREFIX_PATH=$tmpdir/out)
|
| +(set -x; cmake --build . \
|
| + --config Debug)
|
| +(set -x; ctest -V -C Debug)
|
| +
|
| +(set -x; cmake . \
|
| + -DCMAKE_BUILD_TYPE=Release)
|
| +(set -x; cmake --build . \
|
| + --config Release \
|
| + --clean-first)
|
| +(set -x; ctest -V -C Release)
|
| +
|
| +rm -rf $tmpdir
|
| +
|
| +# EOF
|
|
|