Cory Fields
db9af7e00c
bootstrap: Add support for CXX containing flags
...
Rather than treating the user-provided CXX as a space-separated series of
compilers, treat it as a single command-line fragment which possibly
contains flags.
2023-05-08 17:25:59 -04:00
Cory Fields
2ead798f1d
bootstrap: Add support for CC containing flags
...
Rather than treating the user-provided CC as a space-separated series of
compilers, treat it as a single command-line fragment which possibly
contains flags.
2023-05-08 17:25:55 -04:00
Cory Fields
9a72fed7af
bootstrap: Do not over-quote compiler variables
...
They may contain flags.
2023-05-08 17:22:55 -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
9ef25b08e0
bootstrap: Update for KWSys removal of String.hxx
2023-02-09 10:21:47 -05:00
Brad King
a48d668d18
Merge topic 'update-libuv'
...
23de1675fd libuv: Update CMake-internal buildsystem for 1.44.2
ff82df301c Merge branch 'upstream-libuv' into update-libuv
a23da15596 libuv 2022-07-12 (0c1fa696)
cfe8fd6421 libuv: Update script to get libuv 1.44.2
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !7709
2022-09-27 09:52:55 -04:00
Brad King
23de1675fd
libuv: Update CMake-internal buildsystem for 1.44.2
2022-09-27 09:50:38 -04:00
Brad King
914d21de58
bootstrap: Enable add_compile_definitions command
...
Make the command available to CMake's own CMake code.
2022-09-22 09:23:50 -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
Brad King
fc22ac115e
zlib: Drop old sources to make room for a fresh import
2022-05-26 12:28:21 -04:00
Marc Chevrier
8d7e80cf3d
find_* commands: add control over Windows registry views
...
Fixes : #22775
2022-04-29 22:00:02 +02:00
Marc Chevrier
78dd7d5292
cmRulePlaceholderExpander: add base class for placeholder expansion reuse
2022-02-06 14:32:24 +01:00
Brad King
98c40dd22e
bootstrap: Avoid TOC overflow on AIX powerpc
...
Since commit 5c58a7e4d2 (ppc64: Work around TOC overflow with platform
specific linker flags, 2019-02-27, v3.15.0-rc1~460^2) we use a bigtoc
flag on this platform when building CMake with CMake. Add it to the
bootstrap script too.
2022-01-27 09:58:10 -05:00
Brad King
493d6a66bb
bootstrap: Remove stray indentation
2022-01-27 09:57:33 -05:00
Brad King
65fb29fdfb
libuv: Build unix tcp support during CMake bootstrap
...
Using the real `tcp.c` simplifies `cmake-bootstrap.c`, and its
implementation doesn't seem to require any of the platform-specific
definitions. Also, later it will be needed for `uv_socketpair`.
2021-11-17 06:36:30 -05:00
Kyle Edwards
9b479124cc
install(TARGETS): Add FILE_SET mode
2021-10-27 15:17:23 -04:00
Kyle Edwards
f2a44a8afa
cmTarget: Add cmFileSet and associated properties
2021-10-27 15:17:23 -04:00
Brad King
50b8b509c7
Merge topic 'bootstrap-qt6'
...
6458a32242 bootstrap: Enable cmake_language command to support cmake-gui with Qt 6.2
Acked-by: Kitware Robot <kwrobot@kitware.com >
Reviewed-by: Andrew Maclean <andrew.amaclean@gmail.com >
Merge-request: !6593
2021-10-06 10:29:00 -04:00
Brad King
6458a32242
bootstrap: Enable cmake_language command to support cmake-gui with Qt 6.2
...
Fixes : #22721
2021-10-05 09:48:46 -04:00
Marc Chevrier
cc56dc7468
Rename cmProp in cmValue
2021-09-21 17:14:04 +02:00
Marc Chevrier
e5cd39ca80
cmProp: refactoring: transform alias in class
...
To handle safely the values used by CMake variables and properties,
introduce the class cmProp as a replacement from the simple pointer
to std::string instance.
2021-08-08 16:19:08 +02:00
Brad King
a6b075c3f8
Merge topic 'import-elf'
...
115ff6a347 cmELF: Include the ELF parsing code unconditionally
5dfa3ddbe5 cmELF: Allow building without system ELF headers
0da1540aaa cmELF: Fix check for TagMipsRldMapRel
e21188df8b cmELF: Open file explicitly in binary mode
70cdb36d25 Merge branch 'upstream-elf' into import-elf
7a0a37ca41 elf 2021-06-23 (f13da247)
18038042ed cmelf: Add script to import the FreeBSD ELF headers
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !6240
2021-06-25 07:26:35 -04:00
Alex Richardson
115ff6a347
cmELF: Include the ELF parsing code unconditionally
...
Now that the ELF definitions are provided on all platforms there is no
need to keep the CMake_USE_ELF_PARSER option.
2021-06-24 10:57:51 -04:00
Brad King
a4b6743a3b
bootstrap: Compile with _FILE_OFFSET_BITS=64 on Linux
...
To avoid problems accessing filesystem, explicitly use 64-bit file
offsets in case the compilation model is 32-bit. This change was made
for the main CMake build by commit 5b10f96793 (Linux: Compile with
_FILE_OFFSET_BITS=64 on 32-bit Linux, 2020-09-23, v3.19.0-rc1~112^2),
but conditionally on 32-bit Linux. For bootstrap, just always add the
definition instead of trying to detect the architecture.
Fixes : #22328
2021-06-23 12:46:37 -04:00
Kyle Edwards
ed3633d88c
install(TARGETS): Add RUNTIME_DEPENDENCIES option
2021-06-04 08:52:02 -04:00
Kyle Edwards
f2617cf8e6
Source: Add cmInstallRuntimeDependencySet
2021-06-04 08:52:01 -04:00
Kyle Edwards
df7040a271
install(): Add IMPORTED_RUNTIME_ARTIFACTS mode
2021-05-31 09:02:45 -04:00
Orgad Shaneh
ddcd1469e8
MSYS: Add support for running under MSYS runtime environment
...
Detect MSYS as CYGWIN, with the required adaptations.
2021-04-26 14:27:34 -04:00
Brad King
ec1b6157cb
Update CMake code using KWSys to account for Status return values
...
KWSys as of 2021-04-14 changed the return type of `SystemTools`
operations from `bool` to `Status`. Update our call sites.
This may improve error reporting accuracy in a few places.
2021-04-14 13:14:09 -04:00
Henryk Paluch
5302073010
Help: Add option to generate docs with latexpdf
2021-03-01 15:28:10 -05:00
Issam E. Maghni
11260f6c20
bootstrap: add cmake_ld_flags to include check
2021-02-03 13:36:45 -05:00
Issam E. Maghni
147ba659c1
bootstrap: add cmake_ld_flags to compilers check
2021-01-16 23:48:35 -05:00
Issam E. Maghni
d9a788b356
bootstrap: test -a|o is not POSIX
2020-12-23 13:27:33 -05:00
Brad King
c257c25419
add_custom_{command,target}: Add genex support to OUTPUT and BYPRODUCTS
...
Move rejection of `#`, `<`, and `>` characters in outputs and byproducts
to a generate-time check. This removes the front-end check that
disallowed generator expressions. The generators have already been
updated to handle them.
Fixes : #12877
2020-12-11 08:24:21 -05:00
Marc Chevrier
2c71d051fa
Makefiles Generators: use compiler for dependencies generation
...
Each source compilation generates a dependencies file. These dependencies
files are consolidated in one file per target. This consolidation is done
as part of command 'cmake -E cmake_depends` launched before evaluation of
makefile dependency graph.
The consolidation uses the same approach as `CMake` dependencies management.
Fixes : #21321
2020-11-29 15:25:42 +01:00
Brad King
9493532f80
Merge topic 'cmake-E-cat-binary'
...
f7a5f28318 cmake: Fix '-E cat' command for binary files on Windows
90b39a5209 cmConsoleBuf: Factor out cout/cerr console buffer management
f1fdd15863 clang-format: Fix include block order in ctest.cxx and cpack.cxx
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !5364
2020-10-15 08:10:51 -04:00
Brad King
e98b636e17
Merge topic 'bootstrap-make-smake'
...
8e7ece1416 bootstrap: add smake as known make processors
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !5372
2020-10-14 15:45:10 -04:00
Brad King
9da8009f20
Merge topic 'bootstrap-ninja-samu'
...
f0ac977d3c bootstrap: add samu as known ninja processors
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !5371
2020-10-14 15:44:21 -04:00
Issam E. Maghni
8e7ece1416
bootstrap: add smake as known make processors
...
As found in “Modules/CMakeUnixFindMake.cmake”
2020-10-14 15:29:25 -04:00
Issam E. Maghni
f0ac977d3c
bootstrap: add samu as known ninja processors
...
As found in “Modules/CMakeNinjaFindMake.cmake”
2020-10-14 15:28:50 -04:00
Brad King
90b39a5209
cmConsoleBuf: Factor out cout/cerr console buffer management
2020-10-14 12:08:06 -04:00
Kyle Edwards
596439b1bb
cmCustomCommandGenerator: Add option to transform depfile
2020-10-13 10:18:02 -04:00
Kyle Edwards
b2c14bc774
cmake -E: Add cmake_transform_depfile internal command
2020-10-13 10:18:02 -04:00
Elad Lahav
f9e950d4c5
libuv: Add support for building for QNX within CMake
2020-09-25 11:53:44 -04:00
Marc Chevrier
eb583b0a66
cmake_path command: path management
...
Fixes : #19568 , #20922
2020-09-06 10:52:25 +02:00