diff options
author | Leo <thinkabit.ukim@gmail.com> | 2020-01-17 23:41:46 +0100 |
---|---|---|
committer | Sören Tempel <soeren+git@soeren-tempel.net> | 2020-02-16 19:05:42 +0100 |
commit | e125a764896d884c69cc409e614b65cb336c15e8 (patch) | |
tree | 3acfee24bd9075880670dbc504c4190475c68464 | |
parent | d0828c06557773f252b645618500699a941bd091 (diff) | |
download | abuild-e125a764896d884c69cc409e614b65cb336c15e8.tar.bz2 abuild-e125a764896d884c69cc409e614b65cb336c15e8.tar.xz |
newapkbuild: do out-of-source CMake builds by default
It is recommended by upstream CMake (it will warn when you do in-source
builds) to keep generated files away from the source.
-rw-r--r-- | newapkbuild.in | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/newapkbuild.in b/newapkbuild.in index 5816578..26724f5 100644 --- a/newapkbuild.in +++ b/newapkbuild.in @@ -61,7 +61,7 @@ build_cmake() { if [ "\$CBUILD" != "\$CHOST" ]; then CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux" fi - cmake \\ + cmake -B build \\ -DCMAKE_INSTALL_PREFIX=/usr \\ -DCMAKE_INSTALL_LIBDIR=lib \\ -DBUILD_SHARED_LIBS=True \\ @@ -69,7 +69,7 @@ build_cmake() { -DCMAKE_CXX_FLAGS="\$CXXFLAGS" \\ -DCMAKE_C_FLAGS="\$CFLAGS" \\ \${CMAKE_CROSSOPTS} . - make + make -C build __EOF__ } @@ -124,6 +124,12 @@ check_make() { __EOF__ } +check_cmake() { + cat >>APKBUILD<<__EOF__ + CTEST_OUTPUT_ON_FAILURE=1 make -C build check +__EOF__ +} + check_python() { cat >>APKBUILD<<__EOF__ python3 setup.py test @@ -156,6 +162,12 @@ package_make() { __EOF__ } +package_cmake() { + cat >>APKBUILD<<__EOF__ + make -C build DESTDIR="\$pkgdir" install +__EOF__ +} + package_autotools() { package_make } @@ -348,8 +360,10 @@ check() { __EOF__ case "$buildtype" in - make|cmake|autotools|perl) + make|autotools|perl) check_make;; + cmake) + check_cmake;; python) check_python;; rust) @@ -369,8 +383,10 @@ package() { __EOF__ case "$buildtype" in - make|cmake) + make) package_make;; + cmake) + package_cmake;; autotools) package_autotools;; meson) |