c66c9c5ae6
Add CMake-based build system. Merge the original branch without any changes except for resolving the conflict due to moving the contents of .travis.yml to a separate file by propagating the changes done in this file since then to the new script and rerunning ./build/update-setup-h and ./build/cmake/update_files.py to update the file lists changed in the meanwhile. Closes https://github.com/wxWidgets/wxWidgets/pull/330
59 lines
2.4 KiB
Bash
Executable File
59 lines
2.4 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# This script is used by Travis CI to configure, build and test wxWidgets
|
|
|
|
set -e
|
|
|
|
case $wxTOOLSET in
|
|
cmake)
|
|
if [ `uname -s` = "Linux" ] && [ `lsb_release -cs` = "precise" ]; then
|
|
echo Updating CMake...
|
|
wget -O - https://cmake.org/files/v3.6/cmake-3.6.2-Linux-x86_64.tar.gz | tar xzf -
|
|
export PATH=`pwd`/cmake-3.6.2-Linux-x86_64/bin:$PATH
|
|
fi
|
|
|
|
if [ -z $wxCMAKE_TESTS ]; then wxCMAKE_TESTS=CONSOLE_ONLY; fi
|
|
cmake --version
|
|
echo 'travis_fold:start:configure'
|
|
echo 'Configuring...'
|
|
mkdir build_cmake
|
|
pushd build_cmake
|
|
cmake -G "$wxCMAKE_GENERATOR" $wxCMAKE_DEFINES -D wxBUILD_SAMPLES=SOME -D wxBUILD_TESTS=$wxCMAKE_TESTS ..
|
|
echo 'travis_fold:end:configure'
|
|
echo 'travis_fold:start:building'
|
|
echo 'Building...'
|
|
cmake --build .
|
|
echo 'travis_fold:end:building'
|
|
if [ "$wxCMAKE_TESTS" != "OFF" ]; then
|
|
echo 'travis_fold:start:testing'
|
|
echo 'Testing...'
|
|
ctest . -C Debug -V --output-on-failure
|
|
echo 'travis_fold:end:testing'
|
|
fi
|
|
;;
|
|
*)
|
|
echo 'Configuring...' && echo -en 'travis_fold:start:script.configure\\r'
|
|
./configure --disable-optimise $wxCONFIGURE_FLAGS
|
|
echo -en 'travis_fold:end:script.configure\\r'
|
|
echo 'Building...' && echo -en 'travis_fold:start:script.build\\r'
|
|
make
|
|
echo -en 'travis_fold:end:script.build\\r'
|
|
echo 'Building tests...' && echo -en 'travis_fold:start:script.tests\\r'
|
|
make -C tests
|
|
echo -en 'travis_fold:end:script.tests\\r'
|
|
echo 'Testing...' && echo -en 'travis_fold:start:script.testing\\r'
|
|
pushd tests && ./test && popd
|
|
echo -en 'travis_fold:end:script.testing\\r'
|
|
echo 'Building samples...' && echo -en 'travis_fold:start:script.samples\\r'
|
|
(test "$wxSKIP_SAMPLES" && echo 'SKIPPED') || make samples
|
|
echo -en 'travis_fold:end:script.samples\\r'
|
|
echo 'Installing...' && echo -en 'travis_fold:start:script.install\\r'
|
|
sudo make install
|
|
echo -en 'travis_fold:end:script.install\\r'
|
|
echo 'Testing installation...' && echo -en 'travis_fold:start:script.testinstall\\r'
|
|
make -C samples/minimal -f makefile.unx clean
|
|
make -C samples/minimal -f makefile.unx $wxMAKEFILE_FLAGS
|
|
echo -en 'travis_fold:end:script.testinstall\\r'
|
|
;;
|
|
esac
|