X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=README.md;h=96dfb3cd364fe47cfe61b089d619f404e60e679d;hb=5e0b34eeca9b15d96313eb36b70796d252d4e992;hp=94aa6beb2122d9693078cec5c7241efc4c9c7b5b;hpb=b1bb356be470cfc10a0d9457166ad21af0bd3f19;p=staging%2Fxdg-launcher.git diff --git a/README.md b/README.md index 94aa6be..96dfb3c 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ 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 ``` @@ -39,7 +39,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/cmake/CMakeLists.txt.sample CMakeLists.txt ``` ### Create your CMake targets @@ -48,7 +48,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: @@ -74,8 +74,18 @@ widget package with the property **LABELS**: Choose between: - **BINDING**: Shared library that be loaded by the AGL Application Framework -- **HTDOCS**: Root directory of a web app -- **DATA**: Resources used by your application +- **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. +- **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 @@ -215,8 +225,18 @@ application, macros make the difference using ***LABELS*** property. Choose between: - **BINDING**: Shared library that be loaded by the AGL Application Framework -- **HTDOCS**: Root directory of a web app -- **DATA**: Resources used by your application +- **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. +- **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 @@ -287,8 +307,13 @@ automatically from some specifics locations. They are included in that order: - Home CMake files located in _$HOME/.config/app-templates/cmake.d_ - System CMake files located in _/etc/app-templates/cmake.d_ -CMake files has to be named using the following convention: `XX-***.cmake`, -where `XX` are numbers, `***` file name (ie. `99-my_customs.cmake`). +CMake files has to be named using the following convention: `XX-common-*.cmake` +or `XX-${PROJECT_NAME}-*.cmake`, where `XX` are numbers, `*` file name +(ie. `99-common-my_customs.cmake`). + +> **NOTE** You need to specify after numbers that indicate include order, to +which project that file applies, if it applies to all project then use keyword +`common`. So, saying that you should be aware that every normal cmake variables used at project level could be overwrited by home or system located cmake files if