Commit Graph

33156 Commits

Author SHA1 Message Date
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 d6b708482f CMakeVersion.cmake: set(VAR "${VAR}…")string(APPEND VAR "…") 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 a67c9f9756 cmake.version.manifest: Replace tabs with spaces 2022-09-22 09:24:46 -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
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
Kitware Robot cca1b333be CMake Nightly Date Stamp 2022-09-22 00:01:10 -04:00
Matthew Woehlke aac542f2f1 try_run: Remove PROJECT support
Remove PROJECT support from try_run; it was never tested, has never been
documented, and it's unclear how it should even work (since CMake
wouldn't know what executable to run).
2022-09-21 15:38:06 -04:00
Marc Chevrier 0bd3efffbc Genex LINK_LIBRARY: Add support for framework with postfix 2022-09-21 16:14:36 +02:00
Brad King ef1d34b20d Merge topic 'parse-large-int'
8fc822e13a file: Avoid strange istringstream crash in cmake.org binaries on Alpine Linux
31f158e4c8 cmStringAlgorithms: Add functions to parse strings to long long integers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7698
2022-09-21 10:12:11 -04:00
Brad King 3e20442246 Merge topic 'parse-large-int' into release-3.24
8fc822e13a file: Avoid strange istringstream crash in cmake.org binaries on Alpine Linux
31f158e4c8 cmStringAlgorithms: Add functions to parse strings to long long integers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7698
2022-09-21 10:12:10 -04:00
Brad King a50346c1d0 Merge topic 'swift-mix-cxx'
f6ff19cc9d Tests: Add mixed Swift+CXX source test case
399343486f Tests: Add swift compiler version to test check
a9509cec7e Ninja: Fix mixed Swift/CXX library target generation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7679
2022-09-21 08:19:05 -04:00
Kitware Robot 4930c36252 CMake Nightly Date Stamp 2022-09-21 00:01:17 -04:00
Brad King 8fc822e13a file: Avoid strange istringstream crash in cmake.org binaries on Alpine Linux
Somehow using `istringstream` and `operator >>` to parse an integer
crashes on Alpine Linux, at least when compiled with the settings we use
for the official `cmake.org` Linux binaries.  Since commit fd0c285b12
(file: Fix types of the OFFSET and LIMIT arguments, 2022-01-04,
v3.23.0-rc1~133^2), this causes the `file(READ)` command to crash when
parsing its `LIMIT` or `OFFSET` argument.  Parse the input string with
our dedicated helper to avoid the crash.

Fixes: #23872
2022-09-20 12:00:08 -04:00
Brad King 31f158e4c8 cmStringAlgorithms: Add functions to parse strings to long long integers 2022-09-20 12:00:08 -04:00
Brad King b15ddc766c Merge topic 'try_compile-more-consistent-errors'
30a234d275 try_compile: Improve error message consistency

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7696
2022-09-20 08:54:22 -04:00
Kitware Robot 245f6ad0f3 CMake Nightly Date Stamp 2022-09-20 00:01:15 -04:00
Brad King f485e2c65b Merge topic 'env-tls-certs'
10bf34a2d9 cmCurl: Honor OpenSSL certificate environment variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7670
2022-09-19 10:21:22 -04:00
Brad King 33f314764d Merge topic 'improve-try_compile-arg-error'
f976800577 try_compile: More useful error if insufficient arguments

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7682
2022-09-19 10:17:02 -04:00
Kitware Robot 40af69a106 CMake Nightly Date Stamp 2022-09-19 00:01:23 -04:00
Kitware Robot 9bdeaa79e2 CMake Nightly Date Stamp 2022-09-18 00:01:11 -04:00
Kitware Robot c364068a81 CMake Nightly Date Stamp 2022-09-17 00:01:16 -04:00
Matthew Woehlke 30a234d275 try_compile: Improve error message consistency
Tweak some error messages from try_compile (and try_run) to be more
consistent with each other.
2022-09-16 15:29:35 -04:00
Evan Wilde a9509cec7e Ninja: Fix mixed Swift/CXX library target generation
With how things were before, mixed Swift/C++ libraries would result in a
broken ninja file.  `cpp.cpp.o` was emitted by the compiler, but was
also being included in the `linkBuild.Outputs` list, so it was being
emitted by multiple targets.

The fix checks that the source language is Swift before adding it to the
list of additional outputs. If it is Swift, this isn't a problem. If it
isn't Swift, we don't include it in the list of outputs.

On the other side, the C++ file was also being passed as a source file,
which the Swift compiler can't compile. So we add the C++ object file as
an explicit dependency and the object file is then added to the list of
Swift sources.
2022-09-16 10:41:39 -04:00
Brad King 3436858697 Merge topic 'try_compile-new-project-signature'
56ae40cc59 try_compile: Add PROJECT keyword-dispatched signature

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7677
2022-09-16 10:26:27 -04:00
Brad King ed8e860998 Merge topic 'xcode-lib-dirs'
d4cc39842e Xcode: Do not append per-config suffixes to library search paths

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7672
2022-09-16 10:25:14 -04:00
Kyle Edwards 24ee97edf5 Merge topic 'cmake-presets-package-clear'
ec8b67918c cmCMakePresetsGraph: Clear package presets in ClearPresets()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7688
2022-09-16 09:51:50 -04:00
Kyle Edwards a638dff7b3 Merge topic 'cmake-presets-list-error-message'
e7087308ce cmake --list-presets: List package as a valid option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7684
2022-09-16 09:51:13 -04:00
Maxim Cournoyer 10bf34a2d9 cmCurl: Honor OpenSSL certificate environment variables
Honor the OpenSSL environment variables used to specify the location of
the TLS certificates, as specified in the `curl(1)` man page.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2022-09-16 09:40:28 -04:00
Kitware Robot cabba23ab2 CMake Nightly Date Stamp 2022-09-16 00:01:22 -04:00
Kyle Edwards ec8b67918c cmCMakePresetsGraph: Clear package presets in ClearPresets() 2022-09-15 16:36:43 -04:00
Kyle Edwards e7087308ce cmake --list-presets: List package as a valid option 2022-09-15 14:50:55 -04:00
Matthew Woehlke f976800577 try_compile: More useful error if insufficient arguments
Tweak try_compile and try_run to give a more informative error (rather
than "unknown error") when given an insufficient number of arguments.
2022-09-15 13:34:30 -04:00
Mikko Sivulainen d4cc39842e Xcode: Do not append per-config suffixes to library search paths
Add policy `CMP0142` to remove the automatic addition of the
`$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)` suffix in a compatible way.

Fixes: #21757
2022-09-15 10:27:23 -04:00
Brad King 3c6d2c0213 Merge topic 'export-ios-app-layout'
d26c520f4b export: Fix IMPORTED_LOCATION of iOS flat app bundles

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7676
2022-09-15 09:08:43 -04:00
Brad King 2b91a96633 Merge topic 'link-framework-with-multi-config-postfix'
fc06450ff4 Apple: Fix regression when linking a framework with postfix

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7675
2022-09-15 09:04:49 -04:00
Kitware Robot 9b22e036d1 CMake Nightly Date Stamp 2022-09-15 00:01:21 -04:00
Matthew Woehlke 56ae40cc59 try_compile: Add PROJECT keyword-dispatched signature
Introduce a new signature for the project flavor of try_compile (and
try_run) which removes the `bindir` argument and adds a required PROJECT
tag. This is similar to the SOURCES flavor added by commit aa9220d3
(try_compile: Add keyword-dispatched signature, 2022-09-02).
2022-09-14 16:35:50 -04:00
Marc Chevrier fc06450ff4 Apple: Fix regression when linking a framework with postfix
Fix a regression caused by commit 40178f3c90 (cmGlobalGenerator: Add
helper to split framework path, 2022-02-10, v3.24.0-rc1~661^2~1).

Fixes: #23961
2022-09-14 14:55:27 -04:00
Harry Mallon d26c520f4b export: Fix IMPORTED_LOCATION of iOS flat app bundles
iOS/tvOS app bundles are flat and do not include the `Contents/MacOS/`
layers, so they should not be in the `IMPORTED_LOCATION`.  Use the same
logic that commit 34f5ef564a (iOS: Fix App Bundle layout, 2015-12-10,
v3.5.0-rc1~129^2~1) added for the installation layout.

Fixes: #23963
2022-09-14 14:49:05 -04:00
Brad King c3e68020d6 Merge topic 'MsvcDebugInformationFormatAbstraction'
a858466aac MSVC: Add test for debug information format
0e96a20478 MSVC: Add abstraction for debug information format
d4c8111da4 Clang/Windows: Clarify name of internal runtime library flags variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7606
2022-09-14 09:21:27 -04:00
Glen Chung 0e96a20478 MSVC: Add abstraction for debug information format
Replace our hard-coded default for `/Zi` with a first-class abstraction
to select the debug information format an enumeration of logical
names.  We've long hesitated to do this because the idea of "debug
information format" touches on related concepts on several platforms.
Avoid that scope creep by simply defining an abstraction that applies
only when targeting the MSVC ABI on Windows.

Removing the old default flag requires a policy because existing
projects may rely on string processing to edit them and choose a
runtime library under the old behavior.  Add policy CMP0141 to
provide compatibility.

Fixes: #10189
2022-09-14 09:12:47 -04:00