Brad King
d811d86fd7
FileAPI: Add "configureLog" object kind
...
Provide clients with a way to get a known set of configure log event
versions.
Issue: #23200
2022-12-17 08:52:04 -05:00
Matthew Woehlke
746c776caf
ConfigureLog: Add infrastructure for structured configure event logging
...
Add infrastructure for a "configure log". Use YAML for a balance of
machine- and human-readability to records details of configure-time
events in a structured format.
Teach the RunCMake test framework to support matching the configure log.
Issue: #23200
2022-12-16 10:11:37 -05:00
Ben Boeckel
3fc2de5c74
cmDyndepCollation: factor out writing C++ module info from Ninja
...
To facilitate other generators being able to build C++20 modules, start
pulling out collator logic into a generator-agnostic location.
This commit starts by factoring out the information written to the
"target depend info" object consumed during the build to handle writing
out export and installation scripts expected during those steps.
2022-11-30 10:53:45 -05:00
Alex Turbov
74b735dea8
cmDocumentation: char*[][2] → cmDocumentationEntry[N]
...
Use fixed size arrays of `cmDocumentationEntry` items instead of
open arrays of two `char` pointers when describe program options
help screens.
Also, drop `const char*[][2]` overloads of methods of
`cmDocumentation` and `cmDocumentationSection` classes in the sake
of generic (template) appenders introduced earlier.
2022-11-17 16:37:11 +04:00
Brad King
440822fa5c
Source: Fix regression causing CMakeLib sources to be compiled repeatedly
...
In commit 4ff8604604 (Build: Do not use variables for sources lists,
2022-08-21) the sources of `CMakeLib` were accidentally made PUBLIC.
This causes them to be compiled again in all consuming targets.
Make the sources PRIVATE instead.
2022-10-05 12:51:44 -04:00
Kyle Edwards
e316812884
CMakePresets.json: Add workflow presets to schema
2022-09-26 10:53:28 -04:00
Alex Turbov
9629be8080
Build: Use CMAKE_CURRENT_XXX_DIR instead of top dirs
2022-09-22 10:21:39 -04:00
Alex Turbov
e6fb5a1feb
Build: Sort linked libraries list of CMakeLib
2022-09-22 10:21:39 -04:00
Alex Turbov
aa7290e8dc
Build: Use imported target Threads::Threads instead of variable
2022-09-22 10:21:39 -04:00
Alex Turbov
df8ad72ffa
Build: Use imported target kwiml::kwiml instead of variables
2022-09-22 10:21:39 -04:00
Alex Turbov
eeebf31e54
Build: Use imported target LibRHash::LibRHash instead of variables
2022-09-22 10:21:39 -04:00
Alex Turbov
08be01a181
Build: Use imported target LibUV::LibUV instead of variables
2022-09-22 10:21:38 -04:00
Alex Turbov
ddac6dcbe8
Build: Use imported target JsonCpp::JsonCpp instead of variables
2022-09-22 10:21:38 -04:00
Alex Turbov
ac76c53d33
Build: Use imported target CURL::libcurl instead of variables
2022-09-22 10:21:38 -04:00
Alex Turbov
1f5d9c5299
Build: Use imported target LibArchive::LibArchive instead of variables
2022-09-22 10:21:38 -04:00
Alex Turbov
9cdf5a6779
Build: Use imported target EXPAT::EXPAT instead of variables
2022-09-22 10:21:38 -04:00
Alex Turbov
2be5a7de4e
Build: Use imported target ZLIB::ZLIB instead of variables
2022-09-22 10:20:30 -04:00
Alex Turbov
4c6a47c6b6
Build: Extract CMAKE_BUILD_UTILITIES macro into a separate include
...
The macro was one time used with the comment "Simply to improve readability...".
The result file doesn't have a macro anymore and just included into
the root `CMakeLists.txt`.
2022-09-22 09:24:49 -04:00
Alex Turbov
20b9808f90
Build: Use cmstd target instead of variable CMAKE_STD_LIBRARY
2022-09-22 09:24:49 -04:00
Alex Turbov
35ad2c6e5f
Build: Replace foreach with 2 set calls
2022-09-22 09:24:49 -04:00
Alex Turbov
98e8b1755b
Build: Move HAVE_CoreServices to cmCPackConfigure.h
2022-09-22 09:24:49 -04:00
Alex Turbov
7df955315b
Build: Add ENABLE_BUILD_FREEBSD_PKG to cmCPackConfigure.h
2022-09-22 09:24:49 -04:00
Alex Turbov
626136ad4d
Build: Use imported LibUUID::LibUUID target instead of variables
...
Also, simplify preprocessor condition to enable WIX CPack generator.
2022-09-22 09:24:48 -04:00
Alex Turbov
89a1e1c1be
Build: Link w/ OBJECT library is OK since 3.12
2022-09-22 09:24:48 -04:00
Alex Turbov
3b32a1a820
Build: Introduce ManifestLib interface library
...
… instead of `MANIFEST_FILE` variable.
2022-09-22 09:24:48 -04:00
Alex Turbov
a392df50b3
Build: Move KWSYS_ENCODING_DEFAULT_CODEPAGE to the config header
2022-09-22 09:24:48 -04:00
Alex Turbov
94bc776ec2
Style: Builtin commands in lower case
2022-09-22 09:24:48 -04:00
Alex Turbov
83491ddd43
Build: add_definitions() → add_compile_definitions()
2022-09-22 09:24:48 -04:00
Alex Turbov
1bcacccce9
Build: Move STAT_HAS_ST_MTIM, STAT_HAS_ST_MTIMESPEC to config file
2022-09-22 09:24:47 -04:00
Alex Turbov
324d13b25d
Build: Move CURL_CA_BUNDLE and CURL_CA_PATH to config header
2022-09-22 09:24:47 -04:00
Alex Turbov
ae174f0dea
Build: Move CMAKE_USE_WMAKE definition to cmConfigure.cmake.h.in
2022-09-22 09:24:47 -04:00
Alex Turbov
9a24c648eb
Build: Fix target_link_libraries to use link interface keywords
2022-09-22 09:24:47 -04:00
Alex Turbov
d5336ed714
Build: include_directories() → target_include_directories()
2022-09-22 09:24:47 -04:00
Alex Turbov
4ff8604604
Build: Do not use variables for sources lists
...
Instead use `add_library()` with unconditionally compiled sources and
conditional `target_sources()` with extra sources to compile.
2022-09-22 09:24:47 -04:00
Alex Turbov
0aed435b35
Build: Simplify configure_file() calls
2022-09-22 09:24:47 -04:00
Alex Turbov
dd28d76203
CMakeLists: Remove redundant spaces around CMake command calls
2022-09-22 09:24:46 -04:00
Alex Turbov
a509602699
Build: Modernize some foreach calls to use IN LISTS/IN ITEMS
2022-09-22 09:24:46 -04:00
Kyle Edwards
b699610df4
cmCMakePresetsGraph: Add package presets
2022-08-31 10:18:01 -04:00
Marc Chevrier
44a2f3f332
Add new flow-control commands for variables and policies scopes management
...
Add block() and endblock() commands offering the capability to create
new scopes for variables and/or policies.
Fixes : #20171
2022-08-22 16:25:53 +02:00
Ben Boeckel
29118091dc
install: support CXX_MODULES_BMI installation bits
2022-07-06 10:15:23 -04:00
Ben Boeckel
02d0f0e752
cmCxxModuleMapper: add source to handle module mapper contents
...
This will allow all generators to share an implementation for actually
writing out the module map formats.
2022-06-16 10:28:34 -04:00
Ben Boeckel
fb289dfcd9
cmExperimental: add a mechanism for experimental CMake features
2022-06-14 19:27:30 -04:00
Craig Scott
2aa83fa15b
Dependency providers: Add find_package and FetchContent support
...
Fixes : #22619
2022-05-25 08:46:18 +10:00
Craig Scott
c150f89f4d
CPack: Remove the deprecated PackageMaker generator
...
This CPack generator has been deprecated since commit 7bf187499f
(CPack: Deprecate PackageMaker generator, 2020-01-31).
Fixes : #23344
2022-05-05 08:36:44 +10:00
Marc Chevrier
769f25aa3c
cmWindowsRegistry: enhance unicode conversions
2022-04-29 16:51:17 +02:00
Marc Chevrier
17ff86547e
cmake_host_system_information: query windows registry
...
Fixes : #21240 , #23367
2022-04-13 08:59:08 -04:00
Brad King
11cc728e75
cmConstStack: Factor out of cmListFileBacktrace
...
This presents value semantics for a stack of constant values.
Internally it shares ownership to avoid copies. Previously
this was implemented by `cmListFileBacktrace` explicitly,
but the approach can be re-used for other kinds of stacks.
2022-04-02 05:55:31 -04:00
Marc Chevrier
78dd7d5292
cmRulePlaceholderExpander: add base class for placeholder expansion reuse
2022-02-06 14:32:24 +01:00
Carsten Rudolph
193b8fca52
cmBuildOptions: Split build arguments into separate object.
2022-01-22 06:35:38 -05:00
Brad King
39eabc17c4
Merge topic 'cmake-presets-include'
...
26a5512c0f CMakePresets: Add include field
a239f23a98 Refactor: Generalize file graph in CMakePresets
84d440caac Refactor: Split JSON processing into configure, build, and test presets
fd6ea2f67f Refactor: Rename cmCMakePresetsFile to cmCMakePresetsGraph
Acked-by: Kitware Robot <kwrobot@kitware.com >
Tested-by: buildbot <buildbot@kitware.com >
Merge-request: !6829
2022-01-10 17:12:03 -05:00