summaryrefslogtreecommitdiffstats
path: root/newapkbuild.in
diff options
context:
space:
mode:
Diffstat (limited to 'newapkbuild.in')
-rw-r--r--newapkbuild.in32
1 files changed, 32 insertions, 0 deletions
diff --git a/newapkbuild.in b/newapkbuild.in
index 952980f..d2951e4 100644
--- a/newapkbuild.in
+++ b/newapkbuild.in
@@ -52,6 +52,34 @@ build_autotools() {
__EOF__
}
+build_cmake() {
+# References:
+# http://www.cmake.org/Wiki/CMake_Useful_Variables
+# http://www.vtk.org/Wiki/CMake_Cross_Compiling
+# This is incomplete: CMAKE_{HOST_,}SYSTEM_PROCESSOR needs to be set,
+# and likewise CMAKE_FIND_ROOT_PATH and a few other details.
+
+ sed -i -e 's/^\(makedepends="\)/\1cmake /' APKBUILD
+ cat >>APKBUILD<<__EOF__
+ if [ "$CBUILD" != "$CHOST" ]
+ then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ cmake \\
+ -DCMAKE_INSTALL_PREFIX=/usr \\
+ -DCMAKE_INSTALL_LIBDIR=lib \\
+ -DBUILD_SHARED_LIBS=True \\
+ -DCMAKE_BUILD_TYPE=Release \\
+ -DCMAKE_CXX_COMPILER="\${CXX:-g++}" \\
+ -DCMAKE_C_COMPILER="\${CC:-gcc}" \\
+ -DCMAKE_CXX_FLAGS="\$CXXFLAGS" \\
+ -DCMAKE_CXX_FLAGS="\$CFLAGS" \\
+ ${CMAKE_CROSSOPTS} \\
+ || return 1
+ make || return 1
+__EOF__
+}
+
build_perl() {
cat >>APKBUILD<<__EOF__
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor || return 1
@@ -224,6 +252,8 @@ __EOF__
case "$buildtype" in
make)
build_make;;
+ cmake)
+ build_cmake;;
autotools)
build_autotools;;
perl)
@@ -281,6 +311,7 @@ Options:
-l Set package license to LICENSE
-u Set package URL
-a Create autotools (use ./configure ...)
+ -C Create CMake pakckage (Assume cmake/ is there)
-p Create perl package (Assume Makefile.PL is there)
-y Create python package (Assume setup.py is there)
-s Use sourceforge source URL
@@ -295,6 +326,7 @@ while getopts "acd:fhl:n:pyu:s" opt; do
case $opt in
'a') buildtype="autotools";;
'c') cpinitd=1;;
+ 'C') buildtype="cmake";;
'd') pkgdesc="$OPTARG";;
'f') force=1;;
'h') usage; exit;;