summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRomain Forlot <romain.forlot@iot.bzh>2017-06-27 18:59:10 +0200
committerRomain Forlot <romain.forlot@iot.bzh>2017-06-27 18:59:10 +0200
commit393a4f164218c8a92b43f666f4cc4177fd1e3a1d (patch)
tree988780f7f688e65cb8b45b1618082321bbca07d3
parentb9f1f36e653dd2e5a660421b235d8c5be1c34963 (diff)
Adding autobuild generation target
Change-Id: Idb231d005abbca3eb0a779320ab2382f6ff81108 Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
-rwxr-xr-xautobuild/agl/autobuild (renamed from autobuild/agl/autobuild.mk)20
-rwxr-xr-xautobuild/linux/autobuild (renamed from autobuild/linux/autobuild.mk)22
-rw-r--r--cmake/cmake.d/03-extra_targets.cmake19
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