From 393a4f164218c8a92b43f666f4cc4177fd1e3a1d Mon Sep 17 00:00:00 2001 From: Romain Forlot Date: Tue, 27 Jun 2017 18:59:10 +0200 Subject: [PATCH] Adding autobuild generation target Change-Id: Idb231d005abbca3eb0a779320ab2382f6ff81108 Signed-off-by: Romain Forlot --- autobuild/agl/{autobuild.mk => autobuild} | 20 +++++++++++--------- autobuild/linux/{autobuild.mk => autobuild} | 22 ++++++++++++---------- cmake/cmake.d/03-extra_targets.cmake | 19 ++++++++++++++++++- 3 files changed, 41 insertions(+), 20 deletions(-) rename autobuild/agl/{autobuild.mk => autobuild} (76%) rename autobuild/linux/{autobuild.mk => autobuild} (75%) diff --git a/autobuild/agl/autobuild.mk b/autobuild/agl/autobuild similarity index 76% rename from autobuild/agl/autobuild.mk rename to autobuild/agl/autobuild index 95aacfe..b4c7625 100755 --- a/autobuild/agl/autobuild.mk +++ b/autobuild/agl/autobuild @@ -14,23 +14,25 @@ # See the License for the specific language governing permissions and # limitations under the License. -BUILD_DIR := build -PACKAGING_DIR := packaging/wgt +BUILD_DIR := ../build +PACKAGING_DIR := packaging/ VPATH = etc:$(PACKAGING_DIR):$(PACKAGING_DIR)/etc:$(BUILD_DIR) -.PHONY: all clean build mrproper package +.PHONY: all clean distclean configure build package all: build clean: @([ -d ${BUILD_DIR} ] && make -C ${BUILD_DIR} clean) || echo Nothing to clean -mrproper: +distclean: @rm -rf ${BUILD_DIR} -build: ${BUILD_DIR}/Makefile - @cmake --build ${BUILD_DIR} --target all +configure: ${BUILD_DIR}/Makefile + +build: configure + @cmake --build ${BUILD_DIR} ${BUILD_ARGS} --target all package: build @mkdir -p ${BUILD_DIR}/$@/bin @@ -38,10 +40,10 @@ package: build @mkdir -p ${BUILD_DIR}/$@/lib @mkdir -p ${BUILD_DIR}/$@/htdocs @mkdir -p ${BUILD_DIR}/$@/data - @mkdir -p package + @mkdir -p ${DEST} @cmake --build ${BUILD_DIR} --target widget - @cp ${BUILD_DIR}/*wgt package + @cp ${BUILD_DIR}/*wgt ${DEST} ${BUILD_DIR}/Makefile: @[ -d ${BUILD_DIR} ] || mkdir -p ${BUILD_DIR} - @[ -f ${BUILD_DIR}/Makefile ] || (cd ${BUILD_DIR} && cmake ${CMAKE_OPTS} ..) + @[ -f ${BUILD_DIR}/Makefile ] || (cd ${BUILD_DIR} && cmake ${CONFIGURE_ARGS} ..) diff --git a/autobuild/linux/autobuild.mk b/autobuild/linux/autobuild similarity index 75% rename from autobuild/linux/autobuild.mk rename to autobuild/linux/autobuild index b6979c4..b4c7625 100755 --- a/autobuild/linux/autobuild.mk +++ b/autobuild/linux/autobuild @@ -14,34 +14,36 @@ # See the License for the specific language governing permissions and # limitations under the License. -BUILD_DIR := build -PACKAGING_DIR := packaging/wgt +BUILD_DIR := ../build +PACKAGING_DIR := packaging/ VPATH = etc:$(PACKAGING_DIR):$(PACKAGING_DIR)/etc:$(BUILD_DIR) -.PHONY: all clean build mrproper package +.PHONY: all clean distclean configure build package all: build clean: @([ -d ${BUILD_DIR} ] && make -C ${BUILD_DIR} clean) || echo Nothing to clean -mrproper: +distclean: @rm -rf ${BUILD_DIR} -build: ${BUILD_DIR}/Makefile - @cmake --build ${BUILD_DIR} --target all +configure: ${BUILD_DIR}/Makefile -package: config.xml.in icon.png.in build | $(PKG_FILELIST) +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 package + @mkdir -p ${DEST} @cmake --build ${BUILD_DIR} --target widget - @cp ${BUILD_DIR}/*wgt package + @cp ${BUILD_DIR}/*wgt ${DEST} ${BUILD_DIR}/Makefile: @[ -d ${BUILD_DIR} ] || mkdir -p ${BUILD_DIR} - @[ -f ${BUILD_DIR}/Makefile ] || (cd ${BUILD_DIR} && cmake ${CMAKE_OPTS} ..) + @[ -f ${BUILD_DIR}/Makefile ] || (cd ${BUILD_DIR} && cmake ${CONFIGURE_ARGS} ..) 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 -- 2.16.6