aboutsummaryrefslogtreecommitdiffstats
path: root/docs/3_Developer_Guides/3_Using_the_CMAKE_Applications_Module /8_Autobuild.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/3_Developer_Guides/3_Using_the_CMAKE_Applications_Module /8_Autobuild.md')
-rw-r--r--docs/3_Developer_Guides/3_Using_the_CMAKE_Applications_Module /8_Autobuild.md159
1 files changed, 0 insertions, 159 deletions
diff --git a/docs/3_Developer_Guides/3_Using_the_CMAKE_Applications_Module /8_Autobuild.md b/docs/3_Developer_Guides/3_Using_the_CMAKE_Applications_Module /8_Autobuild.md
deleted file mode 100644
index 6c02d1b..0000000
--- a/docs/3_Developer_Guides/3_Using_the_CMAKE_Applications_Module /8_Autobuild.md
+++ /dev/null
@@ -1,159 +0,0 @@
----
-edit_link: ''
-title: Autobuild
-origin_url: >-
- https://git.automotivelinux.org/src/cmake-apps-module/plain/docs/dev_guide/autobuild.md?h=master
----
-
-<!-- WARNING: This file is generated by fetch_docs.js using /home/boron/Documents/AGL/docs-webtemplate/site/_data/tocs/devguides/master/cmake-apps-module-guides-devguides-book.yml -->
-
-# Autobuild
-
-Applications based on the AGL framework should have a
-full build and packaging solution that is independent of the
-[Yocto Project](https://www.yoctoproject.org) workflow.
-
-You can create a script named **autobuild** to control applications
-build operations.
-AGL provides a BitBake class file (`aglwgt.bbclass`) that calls the
-**autobuild** script for all operations.
-The class file is located at the top level of the application repository.
-
-You can write the **autobuild** script using any of the following languages:
-
-* Makefile
-* Bash
-* Python
-
-The script executes directly after applying a `chmod()` command.
-The caller, which can be the `aglwgt.bbclass`, a Jenkins job, or an actual person,
-must make the **autobuild** executable before calling it.
-To facilitate direct execution, you need to start the script with a
-[shebang](https://en.wikipedia.org/wiki/Shebang_(Unix)) sequence:
-
-* '#!/usr/bin/make -f' for Makefile format
-* '#!/usr/bin/bash' for Bash format
-
-The calling convention is similar to the convention used in `make`.
-To pass arguments, use environment variables.
-
-**NOTE:** For Bash, an evaluation of the arguments
-sets the environment variables correctly.
-
-The following format shows the generic call:
-
-```bash
-autobuild/agl/autobuild <command> [ARG1="value1" [ARG2="value2" ... ]]
-```
-
-The **autobuild** script can be invoked from any directory
-with all paths considered to be relative to the
-script's location.
-For makefile scripts, this is the usual behavior.
-For Bash scripts, a `cd $(dirname $0)` command must be run at
-the beginning of the script.
-
-At build time, the following calls must be made in the following order:
-
-1. Initialize the build environment (e.g if the application uses
- `cmake` the configure step runs CMake).
-
- ```bash
- autobuild/agl/autobuild configure CONFIGURE_ARGS="..."
- ```
-
-2. Build the application (i.e. compile, link binaries, assembles javascript,
- and so forth).
-
- ```bash
- autobuild/agl/autobuild build BUILD_ARGS="...."
- ```
-
-3. Create the widget package(s) in the specified destination path
- prepared by the caller.
-
- ```bash
- autobuild/agl/autobuild package PACKAGE_ARGS="..." DEST=<path-for-resulting-wgt-files>
- ```
-
-4. Create the test widget package(s) in the specified destination path
- prepared by the caller.
-
- ```bash
- autobuild/agl/autobuild package-test PACKAGE_ARGS="..." DEST=<path-for-resulting-wgt-files>
- ```
-
-5. Clean the built files by removing the result of the **autobuild** build.
-
- ```bash
- autobuild/agl/autobuild clean CLEAN_ARGS="..."
- ```
-
-6. Clean everything by removing the result of the **autobuild** build
- and the **autobuild** configure.
-
- ```bash
- autobuild/agl/autobuild distclean DISTCLEAN_ARGS="..."
- ```
-
-## Integrating **autobuild** into the Yocto Project Workflow
-
-If you want to integrate the **autobuild** script into the Yocto Project
-workflow, you need to generate the script.
-To generate the script, use the `autobuild` target.
-
-The following commands create the **autobuild** script in the
-`autobuild/agl` directory:
-
-```bash
-mkdir -p build
-cd build
-cmake .. && make autobuild
-```
-
-## Available Targets
-
-Following are the targets available from the **autobuild** script:
-
-- **clean**: Removes all the object files and target results generated by Makefile.
-- **clean-{release,debug,coverage,test}**: Removes all the object files and target results generated by Makefile for the specified build type.
-- **clean-all**: Deletes the build directories for all build types.
-- **distclean**: Deletes the build directories for all build types.
-- **configure**: Generates the project Makefile from the `CMakeLists.txt` files for the release build type.
-- **configure-{release,debug,coverage,test}**: Generates the project Makefile from the `CMakeLists.txt` files for the specified build type.
-- **build**: Compiles all project targets for the release build type.
-- **build-{release,debug,coverage,test}**: Compiles all project targets for the specified build type.
-- **build-all**: Compiles all project targets for all specified build types.
-- **package**: Builds the widget (**wgt**) package for the release build type.
-- **package-{release,debug,coverage}**: Builds the widget (**wgt**) package for the specified build type.
-- **package-test**: Builds the test **wgt** package.
-- **package-all**: Builds the widget (**wgt**) packages for all build types.
-- **install**: Installs the project into your filesystem.
-
-Note that `aglwgt.bbclass` only will use the **package-{coverage,test}** targets (and thus the **build-{coverage,test}**, etc. targets) for service bindings by default, so **autobuild** scripts for applications may omit support for those.
-
-Specifying the following variables lets you modify compilation behavior:
-
-- **CLEAN_ARGS**: Variable used at **clean** time.
-- **CONFIGURE_ARGS**: Variable used at **configure** time.
-- **BUILD_ARGS**: Variable used at **build** time.
-- **BUILD_DIR**: Build directory for release type build.
- The default value is a "build" directory in the root of the project.
-- **BUILD_DIR_DEBUG**: Build directory for debug type build.
- The default value is a "build-debug" directory in the root of the project.
-- **BUILD_DIR_TEST**: Build directory for test type build.
- The default value is a "build-test" directory in the root of the project.
-- **BUILD_DIR_COVERAGE**: Build directory for coverage type build.
- The default value is a "build-coverage" directory in the root of the project.
-- **DEST**: Directory in which to place the created ***wgt*** file(s).
- The default directory is the build root directory.
-
-Note that the values of **BUILD_DIR_{DEBUG,TEST,COVERAGE}** are defined based on the value of **BUILD_DIR**, so this needs to be kept in mind if over-riding it and building those other widget types.
-
-When you provide a variable, use the CMake format (i.e.
-BUILD_ARGS="-DC_FLAGS='-g -O2'").
-Following is an example:
-
-```bash
-./autobuild/agl/autobuild package DEST=/tmp
-```