From d69dc9732886074e9f400961b500e70d5c8305d7 Mon Sep 17 00:00:00 2001 From: Tai Vuong Date: Tue, 12 Sep 2017 16:33:39 -0400 Subject: Pre-AudioWorkshop Demo --- .../docs/dev_guide/4_advanced_customization.md | 42 ++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 conf.d/app-templates/docs/dev_guide/4_advanced_customization.md (limited to 'conf.d/app-templates/docs/dev_guide/4_advanced_customization.md') diff --git a/conf.d/app-templates/docs/dev_guide/4_advanced_customization.md b/conf.d/app-templates/docs/dev_guide/4_advanced_customization.md new file mode 100644 index 0000000..0d8957e --- /dev/null +++ b/conf.d/app-templates/docs/dev_guide/4_advanced_customization.md @@ -0,0 +1,42 @@ +# Advanced customization + +## Including additionnals cmake files + +Advanced tuning is possible using addionnals cmake files that are included +automatically from some specifics locations. They are included in that order: + +- Project CMake files normaly located in _/conf.d/app-templates/cmake/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-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 +variables got the same name. Exceptions are cached variables set using +**CACHE** keyword: + +Example: + +```cmake +set(VARIABLE_NAME 'value string random' CACHE STRING 'docstring') +``` + +## Include customs templated scripts + +As well as for additionnals cmake files you can include your own templated +scripts that will be passed to cmake command `configure_file`. + +Just create your own script to the following directories: + +- Home location in _$HOME/.config/app-templates/scripts_ +- System location in _/etc/app-templates/scripts_ + +Scripts only needs to use the extension `.in` to be parsed and configured by +CMake command. -- cgit 1.2.3-korg