Add macros to make a 2nd pass on required module
[apps/app-templates.git] / README.md
index dd6555f..195162f 100644 (file)
--- a/README.md
+++ b/README.md
@@ -75,11 +75,17 @@ Choose between:
 
 - **BINDING**: Shared library that be loaded by the AGL Application Framework
 - **BINDINGV2**: Shared library that be loaded by the AGL Application Framework.
 
 - **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*  of
- the target that describe the API with OpenAPI syntax. JSON file will be used
- to generate header file using `afb-genskel` tool.
-- **HTDOCS**: Root directory of a web app
-- **DATA**: Resources used by your application
+ 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
 
 - **EXECUTABLE**: Entry point of your application executed by the AGL
  Application Framework
 
@@ -219,8 +225,18 @@ application, macros make the difference using ***LABELS*** property.
 Choose between:
 
 - **BINDING**: Shared library that be loaded by the AGL Application Framework
 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
 
 - **EXECUTABLE**: Entry point of your application executed by the AGL
  Application Framework
 
@@ -291,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_
 
 - 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
 
 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