X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=docs%2Fdev_guide%2F1_Quickstart.md;h=c0293d1b1db25f1afac94c47b9b415f5e130b19e;hb=8a77e99d6814db9918cf266a3b9a36f10622d60b;hp=baf70ae75f090735da9b89d945341b8109e9eedc;hpb=20c82ee40b442e5b64079155e2eafaf22440d1fb;p=staging%2Fxdg-launcher.git diff --git a/docs/dev_guide/1_Quickstart.md b/docs/dev_guide/1_Quickstart.md index baf70ae..c0293d1 100644 --- a/docs/dev_guide/1_Quickstart.md +++ b/docs/dev_guide/1_Quickstart.md @@ -1,4 +1,3 @@ - # Quickstart ## Initialization @@ -7,9 +6,9 @@ To use these templates files on your project just install the reference files us **git submodule** then use `config.cmake` file to configure your project specificities : ```bash -git submodule add https://gerrit.automotivelinux.org/gerrit/apps/app-templatesconf.d/app-templates conf.d/app-templates +git submodule add https://gerrit.automotivelinux.org/gerrit/p/apps/app-templates.git conf.d/app-templates mkdir conf.d/cmake -cp conf.d/app-templates/cmake/config.cmake.sample conf.d/cmake/config.cmake +cp conf.d/app-templates/samples.d/config.cmake.sample conf.d/cmake/config.cmake ``` Edit the copied config.cmake file to fit your needs. @@ -20,7 +19,7 @@ An example is available in **app-templates** submodule that you can copy and use: ```bash -cp conf.d/app-templates/cmake/CMakeLists.txt CMakeLists.txt +cp conf.d/app-templates/samples.d/CMakeLists.txt.sample CMakeLists.txt ``` ## Create your CMake targets @@ -29,7 +28,7 @@ For each target part of your project, you need to use ***PROJECT_TARGET_ADD*** to include this target to your project. Using it, make available the cmake variable ***TARGET_NAME*** until the next -***PROJECT_TARGET_ADD*** is invoked with a new target name. +***PROJECT_TARGET_ADD*** is invoked with a new target name. So, typical usage defining a target is: @@ -55,20 +54,30 @@ widget package with the property **LABELS**: Choose between: - **BINDING**: Shared library that be loaded by the AGL Application Framework -- **BINDINGV2**: Shared library that be loaded by the AGL Application Framework. - This has to be accompagnied with a JSON file named like the *${OUTPUT_NAME}-apidef* of - the target that describe the API with OpenAPI syntax (e.g: *mybinding-apidef*). - Or you can choose the name by setting the *CACHE* cmake variable *OPENAPI_DEF* - (***CAUTION***: setting a CACHE variable is needed, or set a normal variable - with the *PARENT_SCOPE* option to make it visible for the parent scope - where the target is defined) JSON file will be used to generate header file - using `afb-genskel` tool. +- **BINDINGV2**: Shared library that be loaded by the AGL Application Framework + This has to be accompagnied with a JSON file named like the + *${OUTPUT_NAME}-apidef* of the target that describe the API with OpenAPI + syntax (e.g: *mybinding-apidef*). Or you can choose the name, without the + extension, by setting the *CACHE* cmake variable *OPENAPI_DEF* (***CAUTION***: + setting a CACHE variable is needed, or set a normal variable with the + *PARENT_SCOPE* option to make it visible for the parent scope where the target + is defined) JSON file will be used to generate header file using `afb-genskel` + tool. +- **PLUGIN**: Shared library meant to be used as a binding plugin. Binding + would load it as a plugin to extend its functionnalities. It should be named + with a special extension that you choose with SUFFIX cmake target property or + it'd be **.ctlso** by default. - **HTDOCS**: Root directory of a web app. This target has to build its directory and puts its files in the ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_NAME} - **DATA**: Resources used by your application. This target has to build its directory and puts its files in the ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_NAME} - **EXECUTABLE**: Entry point of your application executed by the AGL Application Framework +- **LIBRARY**: An external 3rd party library bundled with the binding for its + own purpose because platform doesn't provide it. + +> **TIP** you should use the prefix _afb-_ with your **BINDING* targets which +> stand for **Application Framework Binding**. ```cmake SET_TARGET_PROPERTIES(${TARGET_NAME} @@ -77,5 +86,6 @@ SET_TARGET_PROPERTIES(${TARGET_NAME} OUTPUT_NAME "file_output_name") ``` -> **TIP** you should use the prefix _afb-_ with your **BINDING* targets which -> stand for **Application Framework Binding**. +> **NOTE**: You doesn't need to specify an **INSTALL** command for these +> targets. This is already handle by template and will be installed in the +> following path : **${CMAKE_INSTALL_PREFIX}/${PROJECT_NAME}**