diff options
author | Romain Forlot <romain.forlot@iot.bzh> | 2017-06-27 18:59:10 +0200 |
---|---|---|
committer | Romain Forlot <romain.forlot@iot.bzh> | 2018-10-15 18:22:47 +0200 |
commit | b8458fc63a173bb69d39f18e84034a2536c5cce5 (patch) | |
tree | 2d4a4622f581aa1b93c3a109f93efa8ca42aa845 | |
parent | 39af695b2d49c165e53c2e30d07a9507d98717c8 (diff) |
Adding autobuild generation target
Change-Id: Idb231d005abbca3eb0a779320ab2382f6ff81108
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
-rwxr-xr-x | autobuild/agl/autobuild (renamed from autobuild/agl/autobuild.mk) | 20 | ||||
-rwxr-xr-x | autobuild/linux/autobuild (renamed from autobuild/linux/autobuild.mk) | 22 | ||||
-rw-r--r-- | cmake/cmake.d/03-extra_targets.cmake | 19 |
3 files changed, 41 insertions, 20 deletions
diff --git a/autobuild/agl/autobuild.mk b/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 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 |