Jannik Alber
1d6db66179
CPack: Add Inno Setup generator
2023-04-28 09:33:28 -04:00
Craig Scott
e245b4df75
Merge topic 'automoc-macro-names'
...
c5c3aff1f5
Autogen: Add INTERFACE_AUTOMOC_MACRO_NAMES target property
69cf9700e6
Autogen: Defer setup until Generate step
7cecb6353e
cmGeneratorTarget: Factor out EvaluatedTargetProperty infrastructure
2daba01ddf
cmGeneratorTarget: Avoid incidental include-what-you-use warning
850b4d990c
IWYU: Add mapping for 'std::remove_reference<Defer &>::type'
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8391
2023-04-10 18:06:06 -04:00
Orkun Tokdemir
7cecb6353e
cmGeneratorTarget: Factor out EvaluatedTargetProperty infrastructure
...
Make it available outside the `cmGeneratorTarget` implementation.
In particular, we will later use it in `cmQtAutoGenInitializer`.
2023-04-05 16:12:15 -04:00
Marc Chevrier
9f60f19ee9
cmList: CMake list implementation
...
Fixes : #24548
2023-04-05 17:54:55 +02:00
Brad King
4901fdb201
Merge topic 'presets-json-errors'
...
19305afd8a
presets: Improve JSON parser and error messages
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !8290
2023-03-30 08:51:18 -04:00
Martin Duffy
19305afd8a
presets: Improve JSON parser and error messages
2023-03-29 10:41:19 -04:00
Brad King
49167cf68f
Source: Adjust stack sizes and recursion limits to work together
...
Adjust `CMake_DEFAULT_RECURSION_LIMIT` and/or the process stack size on
each platform to pass the `RunCMake.MaxRecursionDepth` test's "default"
cases.
2023-03-13 11:50:21 -04:00
Brad King
9504cef8c4
Tests: Allow RunCMake.MaxRecursionDepth to test public-facing default limit
...
Previously we compiled in a smaller default limit during nightly testing
and CI builds, so we were not testing the same default limit that
end-users will see. Instead, set the limit during testing using an
environment variable so that we can unset it when testing the default
limit in `RunCMake.MaxRecursionDepth`.
2023-03-13 11:49:56 -04:00
Brad King
c68ebee9c2
cmake: Reduce default recursion depth when compiling for Windows ARM64
...
On Windows ARM64 the stack frames are large enough (at least in Debug
builds) that CMake language recursion to depth 1000 overflows the stack.
Reduce the limit for this compiler.
Suggested-by: Bill Hoffman <bill.hoffman@kitware.com>
2023-03-08 11:56:44 -05:00
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