You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-`ENABLE_INCLUDE_WHAT_YOU_USE`: Enable static analysis with include-what-you-use
94
+
-`ENABLE_USER_LINKER`: Enable a specific linker if available
95
+
-`ENABLE_BUILD_WITH_TIME_TRACE`: Enable `-ftime-trace` to generate time tracing `.json` files on clang
96
+
-`ENABLE_UNITY`: Enable Unity builds of projects
95
97
96
98
It gets the following named parameters that can have different values in front of them:
97
99
@@ -113,7 +115,7 @@ Named String:
113
115
-`VCPKG_DIR`: (Defaults to `~/vcpkg`). You can provide the vcpkg installation directory using this optional parameter.
114
116
If the directory does not exist, it will automatically install vcpkg in this directory.
115
117
116
-
-`VCPKG_URL`: (Defaults to `https://github.com/microsoft/vcpkg.git`). This option allows setting URL of the vcpkg repository. By default, the official vcpkg repository is used.
118
+
-`VCPKG_URL`: (Defaults to `https://github.com/microsoft/vcpkg.git`). This option allows setting the URL of the vcpkg repository. By default, the official vcpkg repository is used.
117
119
118
120
## `target_link_system_libraries` function
119
121
@@ -123,28 +125,28 @@ A very useful function that accepts the same arguments as `target_link_libraries
123
125
124
126
Similar to `target_include_directories`, but it suppresses the warnings. It is useful if you want to include some external directories directly.
125
127
126
-
## Changing the project_options parameters dynamically
128
+
## Changing the project_options dynamically
127
129
128
-
It might be useful to change the test and development options on the fly (e.g., to enable sanitizers when running tests). To do this, you can include the `DynamicOptions.cmake`, which adds `dynamic_project_options`.`dynamic_project_options`provides a recommended set of defaults (all static analysis and runtime analysis enabled for platforms where that is possible) while also providing a high level option `ENABLE_DEVELOPER_MODE` (defaulted to `ON`) which can be turned off for easy use by non-developers.
130
+
During the test and development, it can be useful to change options on the fly. For example, to enable sanitizers when running tests. You can include `DynamicOptions.cmake`, which imports the`dynamic_project_options`function.
129
131
130
-
The goal of the `dynamic_project_options` is to give a safe and well analyzed environment to the developer by default, while simultaneously making it easy for a user of the project to compile while not having to worry about clang-tidy, sanitizers, cppcheck, etc.
132
+
`dynamic_project_options` provides a recommended set of defaults (all static analysis and runtime analysis enabled for platforms where that is possible) while also providing a high-level option `ENABLE_DEVELOPER_MODE` (defaulted to `ON`) which can be turned off for easy use by non-developers.
133
+
134
+
The goal of the `dynamic_project_options` is to give a safe and well-analyzed environment to the developer by default while simultaneously making it easy for a user of the project to compile while not having to worry about clang-tidy, sanitizers, cppcheck, etc.
131
135
132
136
The defaults presented to the user can be modified with
133
137
134
-
*`set(<featurename>_DEFAULT value)` - for user and developer builds
135
-
*`set(<featurename>_USER_DEFAULT value)` - for user builds
136
-
*`set(<featureoptionname>_DEVELOPER_DEFAULT value)` - for developer builds
138
+
-`set(<featurename>_DEFAULT value)` - for user and developer builds
139
+
-`set(<featurename>_USER_DEFAULT value)` - for user builds
140
+
-`set(<featureoptionname>_DEVELOPER_DEFAULT value)` - for developer builds
137
141
138
142
If you need to fix a setting for the sake of a command-line configuration, you can use:
0 commit comments