templated autobuild script generation.
[staging/xdg-launcher.git] / cmake / cmake.d / 03-extra_targets.cmake
index 7ff038b..209cb57 100644 (file)
@@ -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
@@ -107,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}
@@ -150,3 +161,19 @@ 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 ${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
+       )
+
+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