summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2018-10-31 12:11:03 +0100
committerRomain Forlot <romain.forlot@iot.bzh>2018-11-06 15:44:09 +0000
commit35d5206a64c88d49e5b8c91b91d8710bca1d4c8e (patch)
treebd74a75e4ec4b47bc5ff7ca38ef395b9533302b6
parent8c250308bce289b25007502d6be5c4a0e13d6159 (diff)
Upgrade the autobuild script
This update the autobuild script generated by the CMakeAfbTemplates module making clearer build dir variable and change the way to build using the classic way with cmake .. ; make etc. Remove also an intermediate target that wasn't needed. Change the directory where the autobuild script is generated. Added a README instruction about the autobuild script coming from the SPEC-495 description Change-Id: I24905b348adbdba2dca5ffa146812461a4030690 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
-rw-r--r--cmake/cmake.d/02-variables.cmake4
-rwxr-xr-xtemplate.d/autobuild/agl/autobuild.in34
-rwxr-xr-xtemplate.d/autobuild/linux/autobuild.in34
3 files changed, 44 insertions, 28 deletions
diff --git a/cmake/cmake.d/02-variables.cmake b/cmake/cmake.d/02-variables.cmake
index 7e7fd28..951a681 100644
--- a/cmake/cmake.d/02-variables.cmake
+++ b/cmake/cmake.d/02-variables.cmake
@@ -164,9 +164,9 @@ if(NOT WIDGET_CONFIG_TEMPLATE)
endif()
# Path to autobuild template
-set(PROJECT_AGL_AUTOBUILD_DIR ${CMAKE_SOURCE_DIR}/conf.d/autobuild/agl
+set(PROJECT_AGL_AUTOBUILD_DIR ${CMAKE_SOURCE_DIR}/autobuild/agl
CACHE PATH "Subpath to a directory where are stored autobuild script")
-set(PROJECT_LINUX_AUTOBUILD_DIR ${CMAKE_SOURCE_DIR}/conf.d/autobuild/linux
+set(PROJECT_LINUX_AUTOBUILD_DIR ${CMAKE_SOURCE_DIR}/autobuild/linux
CACHE PATH "Subpath to a directory where are stored autobuild script")
if(OSRELEASE MATCHES "debian" AND NOT DEFINED ENV{SDKTARGETSYSROOT} AND NOT DEFINED CMAKE_TOOLCHAIN_FILE)
diff --git a/template.d/autobuild/agl/autobuild.in b/template.d/autobuild/agl/autobuild.in
index 83097ab..a832db4 100755
--- a/template.d/autobuild/agl/autobuild.in
+++ b/template.d/autobuild/agl/autobuild.in
@@ -1,5 +1,5 @@
#!/usr/bin/make -f
-# Copyright (C) 2015, 2016 "IoT.bzh"
+# Copyright (C) 2015 - 2018 "IoT.bzh"
# Author "Romain Forlot" <romain.forlot@iot.bzh>
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -15,8 +15,8 @@
# limitations under the License.
THISFILE := $(lastword $(MAKEFILE_LIST))
-BUILD_DIR := $(abspath $(dir $(THISFILE)/../../../../..)/build)
-DEST := ${BUILD_DIR}/target
+BUILD_DIR := $(abspath $(dir $(THISFILE))/../../build)
+DEST := ${BUILD_DIR}
.PHONY: all clean distclean configure build package help update
@@ -33,19 +33,21 @@ help:
@echo "- package: output a widget file '*.wgt'"
@echo "- install: install in your ${CMAKE_INSTALL_DIR} directory"
@echo ""
- @echo "Usage: ./conf.d/autobuild/agl/autobuild package DEST=${HOME}/opt"
+ @echo "Usage: ./autobuild/agl/autobuild package DEST=${HOME}/opt"
@echo "Don't use your build dir as DEST as wgt file is generated at this location"
update: configure
@cmake --build ${BUILD_DIR} --target autobuild
clean:
- @([ -d ${BUILD_DIR} ] && make -C ${BUILD_DIR} clean) || echo Nothing to clean
+ @([ -d ${BUILD_DIR} ] && make -C ${BUILD_DIR} ${CLEAN_ARGS} clean) || echo Nothing to clean
distclean:
@rm -rf ${BUILD_DIR}
-configure: ${BUILD_DIR}/Makefile
+configure:
+ @[ -d ${BUILD_DIR} ] || mkdir -p ${BUILD_DIR}
+ @[ -f ${BUILD_DIR}/Makefile ] || (cd ${BUILD_DIR} && cmake ${CONFIGURE_ARGS} ..)
build: configure
@cmake --build ${BUILD_DIR} ${BUILD_ARGS} --target all
@@ -56,12 +58,18 @@ package: build
@mkdir -p ${BUILD_DIR}/$@/lib
@mkdir -p ${BUILD_DIR}/$@/htdocs
@mkdir -p ${BUILD_DIR}/$@/var
- @cmake --build ${BUILD_DIR} --target widget
- @mkdir -p ${DEST} && cp ${BUILD_DIR}/*wgt ${DEST}
+ @cmake --build ${BUILD_DIR} ${PACKAGE_ARGS} --target widget
+ @mkdir -p ${DEST} && cp ${BUILD_DIR}/*.wgt ${DEST}
-install: build
- @cmake --build ${BUILD_DIR} --target install
+package-test: build
+ @mkdir -p ${BUILD_DIR}/$@/bin
+ @mkdir -p ${BUILD_DIR}/$@/etc
+ @mkdir -p ${BUILD_DIR}/$@/lib
+ @mkdir -p ${BUILD_DIR}/$@/htdocs
+ @mkdir -p ${BUILD_DIR}/$@/var
+ @cmake --build ${BUILD_DIR} ${PACKAGE_ARGS} --target widget
+ @cmake --build ${BUILD_DIR} ${PACKAGE_ARGS} --target test_widget
+ @mkdir -p ${DEST} && cp ${BUILD_DIR}/*.wgt ${DEST}
-${BUILD_DIR}/Makefile:
- @[ -d ${BUILD_DIR} ] || mkdir -p ${BUILD_DIR}
- @[ -f ${BUILD_DIR}/Makefile ] || (cd ${BUILD_DIR} && cmake ${CONFIGURE_ARGS} ..)
+install: build
+ @cmake --build ${BUILD_DIR} ${INSTALL_ARGS} --target install
diff --git a/template.d/autobuild/linux/autobuild.in b/template.d/autobuild/linux/autobuild.in
index 83097ab..a832db4 100755
--- a/template.d/autobuild/linux/autobuild.in
+++ b/template.d/autobuild/linux/autobuild.in
@@ -1,5 +1,5 @@
#!/usr/bin/make -f
-# Copyright (C) 2015, 2016 "IoT.bzh"
+# Copyright (C) 2015 - 2018 "IoT.bzh"
# Author "Romain Forlot" <romain.forlot@iot.bzh>
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -15,8 +15,8 @@
# limitations under the License.
THISFILE := $(lastword $(MAKEFILE_LIST))
-BUILD_DIR := $(abspath $(dir $(THISFILE)/../../../../..)/build)
-DEST := ${BUILD_DIR}/target
+BUILD_DIR := $(abspath $(dir $(THISFILE))/../../build)
+DEST := ${BUILD_DIR}
.PHONY: all clean distclean configure build package help update
@@ -33,19 +33,21 @@ help:
@echo "- package: output a widget file '*.wgt'"
@echo "- install: install in your ${CMAKE_INSTALL_DIR} directory"
@echo ""
- @echo "Usage: ./conf.d/autobuild/agl/autobuild package DEST=${HOME}/opt"
+ @echo "Usage: ./autobuild/agl/autobuild package DEST=${HOME}/opt"
@echo "Don't use your build dir as DEST as wgt file is generated at this location"
update: configure
@cmake --build ${BUILD_DIR} --target autobuild
clean:
- @([ -d ${BUILD_DIR} ] && make -C ${BUILD_DIR} clean) || echo Nothing to clean
+ @([ -d ${BUILD_DIR} ] && make -C ${BUILD_DIR} ${CLEAN_ARGS} clean) || echo Nothing to clean
distclean:
@rm -rf ${BUILD_DIR}
-configure: ${BUILD_DIR}/Makefile
+configure:
+ @[ -d ${BUILD_DIR} ] || mkdir -p ${BUILD_DIR}
+ @[ -f ${BUILD_DIR}/Makefile ] || (cd ${BUILD_DIR} && cmake ${CONFIGURE_ARGS} ..)
build: configure
@cmake --build ${BUILD_DIR} ${BUILD_ARGS} --target all
@@ -56,12 +58,18 @@ package: build
@mkdir -p ${BUILD_DIR}/$@/lib
@mkdir -p ${BUILD_DIR}/$@/htdocs
@mkdir -p ${BUILD_DIR}/$@/var
- @cmake --build ${BUILD_DIR} --target widget
- @mkdir -p ${DEST} && cp ${BUILD_DIR}/*wgt ${DEST}
+ @cmake --build ${BUILD_DIR} ${PACKAGE_ARGS} --target widget
+ @mkdir -p ${DEST} && cp ${BUILD_DIR}/*.wgt ${DEST}
-install: build
- @cmake --build ${BUILD_DIR} --target install
+package-test: build
+ @mkdir -p ${BUILD_DIR}/$@/bin
+ @mkdir -p ${BUILD_DIR}/$@/etc
+ @mkdir -p ${BUILD_DIR}/$@/lib
+ @mkdir -p ${BUILD_DIR}/$@/htdocs
+ @mkdir -p ${BUILD_DIR}/$@/var
+ @cmake --build ${BUILD_DIR} ${PACKAGE_ARGS} --target widget
+ @cmake --build ${BUILD_DIR} ${PACKAGE_ARGS} --target test_widget
+ @mkdir -p ${DEST} && cp ${BUILD_DIR}/*.wgt ${DEST}
-${BUILD_DIR}/Makefile:
- @[ -d ${BUILD_DIR} ] || mkdir -p ${BUILD_DIR}
- @[ -f ${BUILD_DIR}/Makefile ] || (cd ${BUILD_DIR} && cmake ${CONFIGURE_ARGS} ..)
+install: build
+ @cmake --build ${BUILD_DIR} ${INSTALL_ARGS} --target install