ae2f_docs
Core.cmake.hpp
Go to the documentation of this file.
1#include "cmake.hpp"
2
3namespace ___DOC_CMAKE {
4 /// @brief
5 /// When activated, it would generate project with the deaders of cmake utility functions.
6 ///
7 /// Default value is ON.
9
10 /// @brief
11 /// Activating this flag will cause all libraries built as shared libraries.
13
14 /// @brief When activated, it would generate test projects
16
17 /// @brief Pre-defined library prefix.
18 /// @warning Note that value is auto-generated.
19 CACHE STRING ae2f_LIBPREFIX = ae2f_IS_SHARED ? "SHARED" : "STATIC";
20
21 /// @brief The root project source directory.
22 CACHE STRING ae2f_ProjRoot = "${CMAKE_CURRENT_SOURCE_DIR}";
23
24 /// @brief The root binary directory.
25 CACHE STRING ae2f_BinRoot = "${CMAKE_CURRENT_BINARY_DIR}";
26
27 /// @brief
28 /// Set the structure pack for pre-defined structures from interfaces.
29 ///
30 /// If it is set to zero, default structure pack will be preserved.
31 ///
32 /// Default value is 0.
33 constexpr unsigned int ae2f_packcount = 0;
34
35 /// @brief
36 /// Pre-defined global float type. \n
37 /// It is set to float as default.
38 using ae2f_float = float;
39
40 /// @brief
41 /// Makes a Library installable.
42 ///
43 /// @param prm_TarName
44 /// Library name you want.
45 ///
46 /// @param prm_TarPrefix
47 /// [STATIC | SHARED | INTERFACE]
48 ///
49 /// @param prm_includeDir
50 /// The include directory relative to the project CMakeLists.txt
51 ///
52 /// @param prm_namespace
53 /// Namespace (or header root directory after include)
54 ///
55 /// @param ...
56 /// The sources for the project.
58 param prm_TarName,
59 param prm_TarPreFix,
60 param prm_includeDir,
61 param prm_namespace,
62 ...
63 );
64
65 /// @brief
66 /// Iterates a directory `prm_TestSourcesDir` and
67 /// Make a test case for every source.
68 ///
69 /// @param prm_LibName
70 /// Base Library name
71 ///
72 /// @param prm_TestSourcesDir
73 /// A directory where the stand-alone test codes locate. \n
74 /// Every sources under that directory must be stand-alone, which means it must not depends on another memory, function, etc.
75 ///
76 /// @param ...
77 /// Additional Libraries if you want
78 ///
79 /// @see ___DOC_CMAKE::ae2f_TEST
81 param prm_LibName,
82 param prm_TestSourcesDir,
83 ...
84 );
85
86 /// @brief
87 /// Generate an interface project for document code for cmake utility functions. \n
88 /// Available when ___DOC_CMAKE::ae2f_DOC is ON.
89 ///
90 /// @param prm_TarName
91 /// Library name you want.
92 ///
93 /// @param prm_includeDir
94 /// Where the documents exist
95 /// The include directory relative to the project CMakeLists.txt
96 ///
97 /// @param prm_namespace
98 /// Namespace (or header root directory after include)
99 ///
100 /// @param ...
101 /// The past documents name
102 /// @see ___DOC_CMAKE::ae2f_CoreLibTent
103 /// @see ___DOC_CMAKE::ae2f_DOC
105 param prm_TarName,
106 param prm_includeDir,
107 param prm_namespace,
108 ...
109 );
110
111 /// @brief
112 /// It will try to fetch the cmake project ae2f-Core like project for Local and Github. \n
113 /// @see ___DOC_CMAKE::ae2f_LibDirGlob is the given path to check. \n
114 ///
115 /// Once the project is in given directory, it will not try to fetch it from internet.
116 /// @param prm_AuthorName
117 /// Author name
118 /// @param prm_TarName
119 /// Target name must be the repository's name.
120 /// @param prm_TagName
121 /// Tag name
123 param prm_AuthorName,
124 param prm_TarName,
125 param prm_TagName
126 );
127}
#define STRING
Definition cmake.hpp:7
#define function
Definition cmake.hpp:9
#define OFF
Definition cmake.hpp:4
#define CACHE
Definition cmake.hpp:6
#define param
Definition cmake.hpp:10
#define ON
Definition cmake.hpp:5
#define option
Definition cmake.hpp:8
CACHE STRING ae2f_BinRoot
The root binary directory.
constexpr unsigned int ae2f_packcount
Set the structure pack for pre-defined structures from interfaces.
float ae2f_float
Pre-defined global float type. It is set to float as default.
option ae2f_DOC
When activated, it would generate project with the deaders of cmake utility functions.
Definition Core.cmake.hpp:8
CACHE STRING ae2f_LIBPREFIX
Pre-defined library prefix.
function ae2f_CoreLibTent(param prm_TarName, param prm_TarPreFix, param prm_includeDir, param prm_namespace,...)
Makes a Library installable.
function ae2f_CoreTestTent(param prm_LibName, param prm_TestSourcesDir,...)
Iterates a directory prm_TestSourcesDir and Make a test case for every source.
function ae2f_CoreUtilityDocTent(param prm_TarName, param prm_includeDir, param prm_namespace,...)
Generate an interface project for document code for cmake utility functions. Available when ___DOC_C...
option ae2f_IS_SHARED
Activating this flag will cause all libraries built as shared libraries.
option ae2f_TEST
When activated, it would generate test projects.
function ae2f_CoreLibFetch(param prm_AuthorName, param prm_TarName, param prm_TagName)
It will try to fetch the cmake project ae2f-Core like project for Local and Github....
CACHE STRING ae2f_ProjRoot
The root project source directory.