templated autobuild script generation.
authorRomain Forlot <romain.forlot@iot.bzh>
Wed, 28 Jun 2017 07:49:50 +0000 (09:49 +0200)
committerRomain Forlot <romain.forlot@iot.bzh>
Wed, 28 Jun 2017 07:49:50 +0000 (09:49 +0200)
Change-Id: Ie7e411f30a30e073570c546aeec6ee05972f8e2a
Signed-off-by: Romain Forlot <romain.forlot@iot.bzh>
autobuild/agl/autobuild.in [moved from autobuild/agl/autobuild with 94% similarity]
autobuild/linux/autobuild.in [moved from autobuild/linux/autobuild with 89% similarity]
cmake/cmake.d/03-extra_targets.cmake

similarity index 94%
rename from autobuild/agl/autobuild
rename to autobuild/agl/autobuild.in
index b4c7625..e664213 100755 (executable)
@@ -14,8 +14,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-BUILD_DIR   := ../build
-PACKAGING_DIR := packaging/
+BUILD_DIR   := @DPROJECT_BINARY_DIR@
+PACKAGING_DIR := @PROJECT_PKG_ENTRY_POINT@
 
 VPATH = etc:$(PACKAGING_DIR):$(PACKAGING_DIR)/etc:$(BUILD_DIR)
 
similarity index 89%
rename from autobuild/linux/autobuild
rename to autobuild/linux/autobuild.in
index b4c7625..0ff3384 100755 (executable)
@@ -14,8 +14,8 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-BUILD_DIR   := ../build
-PACKAGING_DIR := packaging/
+BUILD_DIR   := @CMAKE_BINARY_DIR@
+PACKAGING_DIR := @PROJECT_PKG_ENTRY_POINT@
 
 VPATH = etc:$(PACKAGING_DIR):$(PACKAGING_DIR)/etc:$(BUILD_DIR)
 
@@ -41,8 +41,8 @@ package: build
        @mkdir -p ${BUILD_DIR}/$@/htdocs
        @mkdir -p ${BUILD_DIR}/$@/data
        @mkdir -p ${DEST}
-       @cmake --build ${BUILD_DIR} --target widget
-       @cp ${BUILD_DIR}/*wgt ${DEST}
+       @cmake --build ${BUILD_DIR} --target packaging
+       @cmake --build ${BUILD_DIR} --target all
 
 ${BUILD_DIR}/Makefile:
        @[ -d ${BUILD_DIR} ] || mkdir -p ${BUILD_DIR}
index d08c842..209cb57 100644 (file)
@@ -112,12 +112,18 @@ if(OSRELEASE MATCHES "debian")
                                ${PACKAGING_DEB_OUTPUT_COMPAT}
                                ${PACKAGING_DEB_OUTPUT_CONTROL}
                                ${PACKAGING_DEB_OUTPUT_RULES}
-                               COMMAND ${CMAKE_COMMAND} -DINFILE=${DEB_TEMPLATE_DIR}/debian.compat.in          -DOUTFILE=${PACKAGING_DEB_OUTPUT_COMPAT}        -DPROJECT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR}        -P      ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_APP_TEMPLATES_DIR}/cmake/configure_file.cmake
-                               COMMAND ${CMAKE_COMMAND} -DINFILE=${DEB_TEMPLATE_DIR}/debian.changelog.in       -DOUTFILE=${PACKAGING_DEB_OUTPUT_CHANGELOG}     -DPROJECT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR}        -P      ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_APP_TEMPLATES_DIR}/cmake/configure_file.cmake
-                               COMMAND ${CMAKE_COMMAND} -DINFILE=${DEB_TEMPLATE_DIR}/deb-config.dsc.in         -DOUTFILE=${PACKAGING_DEB_OUTPUT_DSC}           -DPROJECT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR}        -P      ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_APP_TEMPLATES_DIR}/cmake/configure_file.cmake
-                               COMMAND ${CMAKE_COMMAND} -DINFILE=${DEB_TEMPLATE_DIR}/deb-config.install.in     -DOUTFILE=${PACKAGING_DEB_OUTPUT_INSTALL}       -DPROJECT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR}        -P      ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_APP_TEMPLATES_DIR}/cmake/configure_file.cmake
-                               COMMAND ${CMAKE_COMMAND} -DINFILE=${DEB_TEMPLATE_DIR}/debian.control.in         -DOUTFILE=${PACKAGING_DEB_OUTPUT_CONTROL}       -DPROJECT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR}        -P      ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_APP_TEMPLATES_DIR}/cmake/configure_file.cmake
-                               COMMAND ${CMAKE_COMMAND} -DINFILE=${DEB_TEMPLATE_DIR}/debian.rules.in           -DOUTFILE=${PACKAGING_DEB_OUTPUT_RULES}         -DPROJECT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR}        -P      ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_APP_TEMPLATES_DIR}/cmake/configure_file.cmake
+                               COMMAND ${CMAKE_COMMAND} -DINFILE=${DEB_TEMPLATE_DIR}/debian.compat.in -DOUTFILE=${PACKAGING_DEB_OUTPUT_COMPAT} \
+                                       -DPROJECT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR} -P ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_APP_TEMPLATES_DIR}/cmake/configure_file.cmake
+                               COMMAND ${CMAKE_COMMAND} -DINFILE=${DEB_TEMPLATE_DIR}/debian.changelog.in -DOUTFILE=${PACKAGING_DEB_OUTPUT_CHANGELOG} \
+                                       -DPROJECT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR} -P ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_APP_TEMPLATES_DIR}/cmake/configure_file.cmake
+                               COMMAND ${CMAKE_COMMAND} -DINFILE=${DEB_TEMPLATE_DIR}/deb-config.dsc.in -DOUTFILE=${PACKAGING_DEB_OUTPUT_DSC} \
+                                       -DPROJECT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR} -P ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_APP_TEMPLATES_DIR}/cmake/configure_file.cmake
+                               COMMAND ${CMAKE_COMMAND} -DINFILE=${DEB_TEMPLATE_DIR}/deb-config.install.in -DOUTFILE=${PACKAGING_DEB_OUTPUT_INSTALL} \
+                                       -DPROJECT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR} -P ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_APP_TEMPLATES_DIR}/cmake/configure_file.cmake
+                               COMMAND ${CMAKE_COMMAND} -DINFILE=${DEB_TEMPLATE_DIR}/debian.control.in -DOUTFILE=${PACKAGING_DEB_OUTPUT_CONTROL} \
+                                       -DPROJECT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR} -P ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_APP_TEMPLATES_DIR}/cmake/configure_file.cmake
+                               COMMAND ${CMAKE_COMMAND} -DINFILE=${DEB_TEMPLATE_DIR}/debian.rules.in -DOUTFILE=${PACKAGING_DEB_OUTPUT_RULES} \
+                                       -DPROJECT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR} -P ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_APP_TEMPLATES_DIR}/cmake/configure_file.cmake
        )
        add_custom_target(packaging_deb DEPENDS ${PACKAGING_DEB_OUTPUT_DSC}
                                                ${PACKAGING_DEB_OUTPUT_INSTALL}
@@ -162,6 +168,10 @@ endforeach()
 
 add_custom_command(OUTPUT ${CMAKE_SOURCE_DIR}/conf.d/autobuild/agl/autobuild
                        ${CMAKE_SOURCE_DIR}/conf.d/autobuild/linux/autobuild
+       COMMAND ${CMAKE_COMMAND} -DINFILE=${PROJECT_APP_TEMPLATES_DIR}/autobuild/agl/autobuild.in -DOUTFILE=${CMAKE_SOURCE_DIR}/conf.d/autobuild/agl/autobuild \
+               -DPROJECT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR} -P ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_APP_TEMPLATES_DIR}/cmake/configure_file.cmake
+       COMMAND ${CMAKE_COMMAND} -DINFILE=${PROJECT_APP_TEMPLATES_DIR}/autobuild/agl/autobuild.in -DOUTFILE=${CMAKE_SOURCE_DIR}/conf.d/autobuild/linux/autobuild \
+               -DPROJECT_BINARY_DIR=${CMAKE_CURRENT_BINARY_DIR} -P ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_APP_TEMPLATES_DIR}/cmake/configure_file.cmake
        COMMAND rsync -azp ${CMAKE_SOURCE_DIR}/${PROJECT_APP_TEMPLATES_DIR}/autobuild ${CMAKE_SOURCE_DIR}/conf.d
        )