From b8458fc63a173bb69d39f18e84034a2536c5cce5 Mon Sep 17 00:00:00 2001 From: Romain Forlot Date: Tue, 27 Jun 2017 18:59:10 +0200 Subject: Adding autobuild generation target Change-Id: Idb231d005abbca3eb0a779320ab2382f6ff81108 Signed-off-by: Romain Forlot --- autobuild/agl/autobuild | 49 ++++++++++++++++++++++++++++++++++++ autobuild/agl/autobuild.mk | 47 ---------------------------------- autobuild/linux/autobuild | 49 ++++++++++++++++++++++++++++++++++++ autobuild/linux/autobuild.mk | 47 ---------------------------------- cmake/cmake.d/03-extra_targets.cmake | 19 +++++++++++++- 5 files changed, 116 insertions(+), 95 deletions(-) create mode 100755 autobuild/agl/autobuild delete mode 100755 autobuild/agl/autobuild.mk create mode 100755 autobuild/linux/autobuild delete mode 100755 autobuild/linux/autobuild.mk diff --git a/autobuild/agl/autobuild b/autobuild/agl/autobuild new file mode 100755 index 0000000..b4c7625 --- /dev/null +++ b/autobuild/agl/autobuild @@ -0,0 +1,49 @@ +#!/usr/bin/make -f +# Copyright (C) 2015, 2016 "IoT.bzh" +# Author "Romain Forlot" +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +BUILD_DIR := ../build +PACKAGING_DIR := packaging/ + +VPATH = etc:$(PACKAGING_DIR):$(PACKAGING_DIR)/etc:$(BUILD_DIR) + +.PHONY: all clean distclean configure build package + +all: build + +clean: + @([ -d ${BUILD_DIR} ] && make -C ${BUILD_DIR} clean) || echo Nothing to clean + +distclean: + @rm -rf ${BUILD_DIR} + +configure: ${BUILD_DIR}/Makefile + +build: configure + @cmake --build ${BUILD_DIR} ${BUILD_ARGS} --target all + +package: 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}/$@/data + @mkdir -p ${DEST} + @cmake --build ${BUILD_DIR} --target widget + @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} ..) diff --git a/autobuild/agl/autobuild.mk b/autobuild/agl/autobuild.mk deleted file mode 100755 index 95aacfe..0000000 --- a/autobuild/agl/autobuild.mk +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/make -f -# Copyright (C) 2015, 2016 "IoT.bzh" -# Author "Romain Forlot" -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -BUILD_DIR := build -PACKAGING_DIR := packaging/wgt - -VPATH = etc:$(PACKAGING_DIR):$(PACKAGING_DIR)/etc:$(BUILD_DIR) - -.PHONY: all clean build mrproper package - -all: build - -clean: - @([ -d ${BUILD_DIR} ] && make -C ${BUILD_DIR} clean) || echo Nothing to clean - -mrproper: - @rm -rf ${BUILD_DIR} - -build: ${BUILD_DIR}/Makefile - @cmake --build ${BUILD_DIR} --target all - -package: 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}/$@/data - @mkdir -p package - @cmake --build ${BUILD_DIR} --target widget - @cp ${BUILD_DIR}/*wgt package - -${BUILD_DIR}/Makefile: - @[ -d ${BUILD_DIR} ] || mkdir -p ${BUILD_DIR} - @[ -f ${BUILD_DIR}/Makefile ] || (cd ${BUILD_DIR} && cmake ${CMAKE_OPTS} ..) diff --git a/autobuild/linux/autobuild b/autobuild/linux/autobuild new file mode 100755 index 0000000..b4c7625 --- /dev/null +++ b/autobuild/linux/autobuild @@ -0,0 +1,49 @@ +#!/usr/bin/make -f +# Copyright (C) 2015, 2016 "IoT.bzh" +# Author "Romain Forlot" +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +BUILD_DIR := ../build +PACKAGING_DIR := packaging/ + +VPATH = etc:$(PACKAGING_DIR):$(PACKAGING_DIR)/etc:$(BUILD_DIR) + +.PHONY: all clean distclean configure build package + +all: build + +clean: + @([ -d ${BUILD_DIR} ] && make -C ${BUILD_DIR} clean) || echo Nothing to clean + +distclean: + @rm -rf ${BUILD_DIR} + +configure: ${BUILD_DIR}/Makefile + +build: configure + @cmake --build ${BUILD_DIR} ${BUILD_ARGS} --target all + +package: 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}/$@/data + @mkdir -p ${DEST} + @cmake --build ${BUILD_DIR} --target widget + @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} ..) diff --git a/autobuild/linux/autobuild.mk b/autobuild/linux/autobuild.mk deleted file mode 100755 index b6979c4..0000000 --- a/autobuild/linux/autobuild.mk +++ /dev/null @@ -1,47 +0,0 @@ -#!/usr/bin/make -f -# Copyright (C) 2015, 2016 "IoT.bzh" -# Author "Romain Forlot" -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -BUILD_DIR := build -PACKAGING_DIR := packaging/wgt - -VPATH = etc:$(PACKAGING_DIR):$(PACKAGING_DIR)/etc:$(BUILD_DIR) - -.PHONY: all clean build mrproper package - -all: build - -clean: - @([ -d ${BUILD_DIR} ] && make -C ${BUILD_DIR} clean) || echo Nothing to clean - -mrproper: - @rm -rf ${BUILD_DIR} - -build: ${BUILD_DIR}/Makefile - @cmake --build ${BUILD_DIR} --target all - -package: config.xml.in icon.png.in build | $(PKG_FILELIST) - @mkdir -p ${BUILD_DIR}/$@/bin - @mkdir -p ${BUILD_DIR}/$@/etc - @mkdir -p ${BUILD_DIR}/$@/lib - @mkdir -p ${BUILD_DIR}/$@/htdocs - @mkdir -p ${BUILD_DIR}/$@/data - @mkdir -p package - @cmake --build ${BUILD_DIR} --target widget - @cp ${BUILD_DIR}/*wgt package - -${BUILD_DIR}/Makefile: - @[ -d ${BUILD_DIR} ] || mkdir -p ${BUILD_DIR} - @[ -f ${BUILD_DIR}/Makefile ] || (cd ${BUILD_DIR} && cmake ${CMAKE_OPTS} ..) diff --git a/cmake/cmake.d/03-extra_targets.cmake b/cmake/cmake.d/03-extra_targets.cmake index 7ff038b..d08c842 100644 --- a/cmake/cmake.d/03-extra_targets.cmake +++ b/cmake/cmake.d/03-extra_targets.cmake @@ -36,7 +36,9 @@ endif() # Add RSYNCTARGET remote_targets_populate() -#Archive project +# ---------------------------------------------------------------------------- +# Archive target +# ---------------------------------------------------------------------------- add_custom_command(OUTPUT ${ARCHIVE_OUTPUT} DEPENDS ${PROJECT_TARGETS} #Create git archive of the main project @@ -97,6 +99,9 @@ add_custom_command(OUTPUT ${PACKAGING_SPEC_OUTPUT} COMMAND ${CMAKE_COMMAND} -DINFILE=${RPM_TEMPLATE_DIR}/rpm-config.spec.in -DOUTFILE=${PACKAGING_SPEC_OUTPUT} -DPROJECT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR} -P ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_APP_TEMPLATES_DIR}/cmake/configure_file.cmake ) +# ---------------------------------------------------------------------------- +# Packaging target +# ---------------------------------------------------------------------------- #Because the tool "dpkg" is used on the packages db to find the #package providing the pkg-cong file ${XPREFIX}.pc, we need #to test the OS release package type @@ -150,3 +155,15 @@ foreach(Var ${Vars}) endif() file(APPEND ${CacheForScript} "set(${Var} \"${VALUE}\")\n") endforeach() + +# ---------------------------------------------------------------------------- +# Autobuild target +# ---------------------------------------------------------------------------- + +add_custom_command(OUTPUT ${CMAKE_SOURCE_DIR}/conf.d/autobuild/agl/autobuild + ${CMAKE_SOURCE_DIR}/conf.d/autobuild/linux/autobuild + COMMAND rsync -azp ${CMAKE_SOURCE_DIR}/${PROJECT_APP_TEMPLATES_DIR}/autobuild ${CMAKE_SOURCE_DIR}/conf.d + ) + +add_custom_target(autobuild ALL DEPENDS ${CMAKE_SOURCE_DIR}/conf.d/autobuild/agl/autobuild + ${CMAKE_SOURCE_DIR}/conf.d/autobuild/linux/autobuild) \ No newline at end of file -- cgit 1.2.3-korg