Merge branch 'master' of github.com:QuasarApp/CMake

This commit is contained in:
Andrei Yankovich 2021-04-01 13:00:29 +03:00
commit 63dffd3682
6 changed files with 155 additions and 50 deletions

5
Docs/ProjectOut.md Normal file
View File

@ -0,0 +1,5 @@
# This is description of cmake module ProjectOut
This module configure pathes of the targets.
If you include this method before adding targets then this
taken all targets of subproject configured for root project when this has been invoked.

View File

@ -0,0 +1,77 @@
# This is description of cmake module QuasarAppCITargets
The library contains 2 methods type it is added methods and init methods.
All inits method must be invoked before adds methods. If you change order then some add method will be ignored.
This module implementation next cmake functions:
---
## Testing
---
**addTestsArg** (name testExec arg) - Name target for test utility of your application.
- name - Prefix for target (any word).
- testExec - Name of tests utility (without extensions).
- arg - Arguments for testExec.
**addTests** (name testExec) - Name target for test utility of your application (without arguments).
- name - Prefix for target (any word).
- testExec - Name of tests utility (without extensions).
**initTests** - Init main test target for testing all added tests, this method need to call before all invoiced addTests methods.
---
## Deployment
---
**addDeploy** (name targets targetDir) - Add deploy target for deployed your application via CqtDeployer tool.
- name - This is prefix of added subtarget (any word).
- targets - This is list of cqtdeployer targets [see CQtDeployer help](https://github.com/QuasarApp/CQtDeployer/wiki/).
- targetDir - This is target of directory [see option targetDir](https://github.com/QuasarApp/CQtDeployer/wiki/Options) of CqtDeployer help.
**addDeployFromFile** (name) - Some as initDeploy but use CQtDeployer.json for configuration.
- name - This is prefix of added subtarget (any word)
**addDeployFromCustomFile** (name file) - Some as initDeploy but use custom path for deployment file for configuration.
- name - This is prefix of added subtarget (any word).
- file - This is path to config file of CQtDeployer.
**addDeploySnap** (name targetDir) - Add to deploy step substeps for create a snap package.
- name - This is prefix of added subtarget (any word).
- targetDir - Destanation directroy for snap files.
**addDeployQIF** (name sourceDir targetDir config) - add to deploy step substeps for create Qt Install FrameWork Installer.
- name - This is prefix of added subtarget (any word) location for created installer.
- sourceDir - Path to folder with qif template.
- config - Path to config file of qif template.
**addDeployAPK** (name input aliase keystore keystorePass targetDir) - Add subtargets of deploy setep for create signed android apk file.
- name - This is prefix of added subtarget (any word).
- input - Path to input android json file: *-deployment-settings.json.
- aliase - Alise for key store.
- keystore - Path of key store.
- keystorePass - Pass of keystore file.
- targetDir - Target directory for output apk file.
**initDeploy** - Create a main deploy target for all addDeploy subtargets. This method need to call before invoiced of all addDeploy methods.
---
## Release
---
**initRelease** - Сreate the general release target for all subtargets addRelease. This method need to call before invoice all addRelease methods.
**addReleaseSnap** (name) - Сreate subtargets for publish snap deployed snap package.
- name - This is prefix of added subtarget (any word).
**addReleaseQif** (name sourceDir targetDir) - Create subtargets for publish the qif package on qif repository.
- name - This is prefix of added subtarget (any word).
- sourceDir - Path to folder with qif template.
- targetDir - Path to target directory.
---
## Dcumentation
---
**initDoc** - Create the general doc target for all subtargets addDoc. This method need to call before invoice all addDoc methods.
**addDoc** (name doxygenFile) - Create subtargets for generate documentation of cpp code.
- name - This is prefix of added subtarget (any word).
- doxygenFile - This is path to doxygen configuration file.
---

4
Docs/ccache.md Normal file
View File

@ -0,0 +1,4 @@
# This is description of cmake module ccache
This module adds support of the ccache.
If you include this cmake file in the main cmakList file then your project will be use the ccache on to the compilator.

12
Docs/tr.md Normal file
View File

@ -0,0 +1,12 @@
# This is description of cmake module TR
This module provides translations functionality.
The tr module contains only prepare QM function.
---
**prepareQM** (name sourceDir ts_files) - This function prepare translations for you projects.
- name - This is a name of the translations target.
- sourceDir - This is root source directory. Update will be scan this dir for prepare translations.
- ts_files - This is list of the supported languages.

View File

@ -6,77 +6,77 @@
#
# This module implementation next cmake cunctions :
# This module implementation next cmake functions :
#
# This library contains 2 methods type it is Addd methods and Init Methods
# All inits method must be invoked befor adds methods. If you change order then some add method will be ignored.
# The library contains 2 methods type it is Added methods and init methods.
# All inits method must be invoked before adds methods. If you change order then some add method will be ignored.
#
# ***Testing***
# addTestsArg( name testExec arg ) // name target for test utiliry of your application
# - name - prefix for taget (any word)
# - testExec - name of tests utility (without extensions)
# - arg - arguments fot testExec
# addTestsArg( name testExec arg ) // Name target for test utility of your application.
# - name - Prefix for target (any word).
# - testExec - Name of tests utility (without extensions).
# - arg - Arguments for testExec.
#
# addTests (name testExec )// name target for test utiliry of your application (without arguments)
# - name - prefix for taget (any word)
# - testExec - name of tests utility (without extensions)
# addTests (name testExec )// Name target for test utility of your application (without arguments).
# - name - Prefix for target (any word).
# - testExec - Name of tests utility (without extensions).
#
# initTests - init main test target for tessting all added tests, this method need to call befor all invoced addTests methods.
# initTests - Init main test target for tessting all added tests, this method need to call before all invoiced addTests methods.
#
#
# *** Deployment ***
# addDeploy(name targets targetDir) // add deploy target for deployed your application via cqtdeployer tool
# - name - this is prefix of added subtarget (any word)
# - targets - this is list of cqtdeployer targets see cqtdeployer help https://github.com/QuasarApp/CQtDeployer/wiki/Options (-bin)
# - targetDir - this is target directory see option targetDir of cqtdeployer help https://github.com/QuasarApp/CQtDeployer/wiki/Options (-targetDir)
# addDeploy(name targets targetDir) // Add deploy target for deployed your application via CQtDeployer tool.
# - name - This is prefix of added subtarget (any word).
# - targets - This is list of CQtDeployer targets see CQtDeployer help https://github.com/QuasarApp/CQtDeployer/wiki/Options (-bin).
# - targetDir - This is target directory see option targetDir of CQtDeployer help https://github.com/QuasarApp/CQtDeployer/wiki/Options (-targetDir).
#
# addDeployFromFile(name) // some as initDeploy but use CQtDeployer.json for configuration.
# - name - this is prefix of added subtarget (any word)
# addDeployFromFile(name) // Some as initDeploy, but use CQtDeployer.json for configuration.
# - name - This is prefix of added subtarget (any word).
#
# addDeployFromCustomFile(name file) // some as initDeploy but use custo path for deployment file for configuration.
# - name - this is prefix of added subtarget (any word)
# - file - this is path to config file of cqtdeployer
# addDeployFromCustomFile(name file) // Some as initDeploy, but use custom path for deployment file for configuration.
# - name - This is prefix of added subtarget (any word).
# - file - This is path to config file of cqtdeployer.
#
# addDeploySnap(name targetDir) // add to deploy step substeps for create a snap package
# - name - this is prefix of added subtarget (any word)
# - targetDir - distanation direcroty for snap files
# addDeploySnap(name targetDir) // Add to deploy step substeps for create a snap package.
# - name - This is prefix of added subtarget (any word).
# - targetDir - Destanation direcroty for snap files.
#
# addDeployQIF(name sourceDir targetDir config) // add to deploy step substeps for create Qt Install FrameWork Installer
# - name - this is prefix of added subtarget (any word)
# - location for created installer
# - sourceDir - path to folder with qif template
# - config - path to config file of qif template
# addDeployQIF(name sourceDir targetDir config) // Add to deploy step substeps for create Qt Install FrameWork Installer.
# - name - This is prefix of added subtarget (any word).
# - location for created installer.
# - sourceDir - Path to folder with qif template.
# - config - Path to config file of qif template.
#
# addDeployAPK(name input aliase keystore keystorePass targetDir) // add subtargets of deploy setep for create signed android apk file
# - name - this is prefix of added subtarget (any word)
# - input - path to input android json file : *-deployment-settings.json
# - aliase - aliase for key store
# - keystore - path of key store
# - keystorePass - pass of keystore file
# - targetDir - target dir for output apk file
# addDeployAPK(name input aliase keystore keystorePass targetDir) // Add subtargets of deploy setep for create signed android apk file.
# - name - This is prefix of added subtarget (any word).
# - input - Path to input android json file : *-deployment-settings.json
# - aliase - Aliase for key store.
# - keystore - Path of key store.
# - keystorePass - Pass of keystore file.
# - targetDir - Target dir for output apk file.
#
# initDeploy() // create a main deploy target fpr all addDeploy subtargets. this method need to call befor invoced of all addDeploy methods
# initDeploy() // Create a main deploy target for all addDeploy subtargets. This method need to call before invoiced of all addDeploy methods.
#
#
# *** Release ***
# initRelease() // create the general release target for all subtargets addRelease. This method need to call befor invoce all addRelease methods.
# initRelease() // Create the general release target for all subtargets addRelease. This method need to call before invoice all addRelease methods.
#
# addReleaseSnap(name) // create subtargets for publish snap deployed snap package
# - name - this is prefix of added subtarget (any word)
# addReleaseSnap(name) // Create subtargets for publish snap deployed snap package.
# - name - This is prefix of added subtarget (any word).
#
# addReleaseQif(name sourceDir targetDir) // create subtargets for publish the qif package on qif repository
# - name - this is prefix of added subtarget (any word)
# - sourceDir - path to folder with qif template
# - targetDir - path to target derictory
# addReleaseQif(name sourceDir targetDir) // Create subtargets for publish the qif package on qif repository.
# - name - This is prefix of added subtarget (any word).
# - sourceDir - Path to folder with qif template.
# - targetDir - Path to target directory.
#
#
# *** Dcumentation ***
# initDoc() // create the general doc target for all subtargets addDoc. This method need to call befor invoce all addDoc methods.
# initDoc() // Create the general doc target for all subtargets addDoc. This method need to call before invoice all addDoc methods.
#
# addDoc(name doxygenFile) // create subtargets for generate documentation of cpp code
# - name - this is prefix of added subtarget (any word)
# - doxygenFile - this is path to doxygen configuration file
# addDoc(name doxygenFile) // Create subtargets for generate documentation of cpp code.
# - name - This is prefix of added subtarget (any word).
# - doxygenFile - This is path to doxygen configuration file.
#
@ -331,7 +331,7 @@ function(addDeploySnap name targetDir)
find_program(SNAPCRAFT_EXE "snapcraft")
if(NOT EXISTS ${SNAPCRAFT_EXE})
message("please install the snapcraft befor deploy this project! Use: sudo snap install snapcraft --classic")
message("please install the snapcraft before deploy this project! Use: sudo snap install snapcraft --classic")
return()
endif(NOT EXISTS ${SNAPCRAFT_EXE})

View File

@ -1,2 +1,9 @@
# CMake
cmake modules for quasarapp projects
# This is description of cmake modules was used in QasarApp project
You can read all the information about the module you are interested in by clicking on the links below:
- [QuasarAppCITargets](Docs/QuasarAppCITargets.md) - Module contains 2 type methods, it is added and init methods.
- [TR](Docs/tr.md) - Module provides translations functionality.
- [ProjectOut](Docs/ProjectOut.md) - Module for configure pathes of the targets.
- [ccache](Docs/ccache.md) - Module for add support of the ccache.