Commit Graph

9748 Commits

Author SHA1 Message Date
Brad King cadcb6a5f0 Merge topic 'try_compile-no-cache'
09b3051524 try_compile: Add NO_CACHE option (also try_run)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7723
2022-09-29 07:59:02 -04:00
Brad King 9c9c7d68cb Merge topic 'compiler-tests'
f891a75d5c Tests: Test CMakeTest*Compiler.cmake fallbacks

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7722
2022-09-29 07:50:54 -04:00
Matthew Woehlke 09b3051524 try_compile: Add NO_CACHE option (also try_run)
Add NO_CACHE option to try_compile and try_run, which places the results
in regular, rather than cache, variables.

Issue: #22799
2022-09-28 13:41:11 -04:00
Brad King 43a0206dad Merge topic 'vs11-deprecate'
6c1337cb79 Deprecate Visual Studio 11 2012 generator
5faf145a5b Tests: Drop unused files from RunCMake.CommandLine

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7720
2022-09-28 10:40:32 -04:00
Brad King b9968f3006 Merge topic 'cmake-presets-workflow'
374d82bbcd cmake: Add --workflow mode
e316812884 CMakePresets.json: Add workflow presets to schema

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7711
2022-09-28 10:38:41 -04:00
Matthew Woehlke f891a75d5c Tests: Test CMakeTest*Compiler.cmake fallbacks
Add tests that explicitly test the fallback tests of the modules which
test for a functional [Obj]C[xx] compiler, bypassing the ABI tests.
Due to the ABI test short-circuiting added by commit 1d21dd0f7c
(enable_language: Assume compiler works if ABI detection compiles,
2020-05-25, v3.18.0-rc1~93^2), this logic is likely not getting tested
otherwise.
2022-09-28 10:27:31 -04:00
Brad King 6c1337cb79 Deprecate Visual Studio 11 2012 generator
Update documentation to mark the generator deprecated.  Add a warning at
the end of generation plus an option to turn off the warning.
2022-09-27 11:45:50 -04:00
Brad King 5faf145a5b Tests: Drop unused files from RunCMake.CommandLine
Remove files missed by commit 8d6f015d59 (Drop Visual Studio 10 2010
generator, 2022-09-26).
2022-09-27 11:45:29 -04:00
Kyle Edwards 374d82bbcd cmake: Add --workflow mode
Fixes: #23118
2022-09-27 11:09:06 -04:00
Brad King 164a156c7c Merge topic 'remove-vs10-generator'
8d6f015d59 Drop Visual Studio 10 2010 generator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7718
2022-09-27 10:32:11 -04:00
Brad King 50b668ddc8 Merge topic 'add_subdirectory_system'
2eb30a7036 add_subdirectory: Add SYSTEM option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7399
2022-09-27 10:28:49 -04:00
Brad King 120945587f Merge topic 'ctest_ninja_full_output'
65260d6c1e ctest: only report make-level errors when no others are found

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7710
2022-09-27 10:20:30 -04:00
Brad King 8d6f015d59 Drop Visual Studio 10 2010 generator
This generator has been deprecated since CMake 3.22.  Remove it.
2022-09-26 15:43:04 -04:00
Da Quexian 2eb30a7036 add_subdirectory: Add SYSTEM option
Fixes: #22401
Signed-off-by: Da Quexian <daquexian566@gmail.com>
2022-09-26 10:56:54 -04:00
Zack Galbreath 65260d6c1e ctest: only report make-level errors when no others are found
In commit ab9ad2a6a0 (ctest: report make-level errors to CDash when
using launchers, 2020-09-24, v3.19.0-rc1~84^2~1) we taught CTest to
capture and report errors from the build command when using launchers.

This had the unintended side effect of reporting a separate build error containing
the full build output when the build command returns non-zero. To fix this problem,
we now only report build command errors from CTest launchers when no other
more specific build errors are found.

Fixes: #23991
2022-09-26 09:40:58 -04:00
Brad King d497b06ee9 Merge topic 'cmake-presets-package-more-doc-fixes'
33b1338a92 Tests: Add test for --list-presets=all
4328deb618 Tests: Add test for cpack --list-presets
e909384062 Help: Add package preset to example presets file
16a24b0ab0 Help: List packagePresets field in cmake-presets.7

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7707
2022-09-26 09:38:54 -04:00
Kyle Edwards 33b1338a92 Tests: Add test for --list-presets=all 2022-09-23 10:20:03 -04:00
Kyle Edwards 4328deb618 Tests: Add test for cpack --list-presets 2022-09-23 09:40:14 -04:00
Brad King 98aef0929f Merge topic 'try_compile-source-from'
611d801790 try_compile: Add SOURCE_FROM_FILE
a04eaf6742 Tests: Clean up and simplify TryCompile tests
cb14ae2b87 try_compile: Add SOURCE_FROM_{ARG,VAR}

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7700
2022-09-23 08:52:13 -04:00
Brad King 87b9a31489 Merge topic 'modernize-build-self'
9629be8080 Build: Use `CMAKE_CURRENT_XXX_DIR` instead of top dirs
e6fb5a1feb Build: Sort linked libraries list of `CMakeLib`
aa7290e8dc Build: Use imported target `Threads::Threads` instead of variable
df8ad72ffa Build: Use imported target `kwiml::kwiml` instead of variables
eeebf31e54 Build: Use imported target `LibRHash::LibRHash` instead of variables
08be01a181 Build: Use imported target `LibUV::LibUV` instead of variables
ddac6dcbe8 Build: Use imported target `JsonCpp::JsonCpp` instead of variables
ac76c53d33 Build: Use imported target `CURL::libcurl` instead of variables
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7570
2022-09-23 08:46:08 -04:00
Brad King 4281f6ac34 Merge topic 'cdo-consider-dots'
df377a22dd CMakeDependentOption: allow in depends the use of .

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7701
2022-09-23 08:45:11 -04:00
Matthew Woehlke 611d801790 try_compile: Add SOURCE_FROM_FILE
Add ability to copy try_compile (and try_run) source files from
arbitrary locations into the operation directory. This is included for
the sake of completion and consolidation, although use cases which
actually require this may be rare.
2022-09-22 14:56:50 -04:00
Matthew Woehlke a04eaf6742 Tests: Clean up and simplify TryCompile tests
Add and use some additional helper macros to simplify repetitive checks.
Use existing macros in more places. Tweak macros to improve output in
case of failure.
2022-09-22 14:56:50 -04:00
Matthew Woehlke cb14ae2b87 try_compile: Add SOURCE_FROM_{ARG,VAR}
Add ability to "feed" try_compile (and try_run) sources more directly,
either from literal content, or from a CMake variable which contains
literal content. This saves the user from needing a separate step to
write the content to a file, and allows for the sources to only exist in
the scratch directory.
2022-09-22 13:33:27 -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
Vicente Adolfo Bolea Sanchez df377a22dd CMakeDependentOption: allow in depends the use of . 2022-09-21 13:19:45 -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
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
Evan Wilde f6ff19cc9d Tests: Add mixed Swift+CXX source test case
This test ensures we can configure and build mixed source binaries. The
test configures, but fails to verify due to multiple targets emitting
the `lib.c.o` and `lib.cpp.o` outputs. Both the clang build step and the
swift link step report that they emit the `lib.c.o` and `lib.cpp.o`
outputs. The `.o`'s are emitted by clang, not by swift.
2022-09-19 11:37:48 -07:00
Evan Wilde 399343486f Tests: Add swift compiler version to test check
Include the swift compiler version in the set of exported variables from
CheckSwift.cmake for Swift related tests.
2022-09-19 11:37:48 -07:00
Brad King ea792d5812 Merge topic 'add-try_compile-test-documentation'
e933fccc7e Tests: document try_{compile,run} old/new signature testing

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7681
2022-09-19 10:18:04 -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
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
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
Brad King 95d54eef45 Merge topic 'fphsa-no-version-var'
07f0a78874 FPHSA: Fix regression when VERSION_VAR is missing

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7680
2022-09-16 10:23:50 -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
Matthew Woehlke e933fccc7e Tests: document try_{compile,run} old/new signature testing
Add a brief documentation blurb to the try_compile and try_run test sets
on writing tests for both "old" and "new" signatures.
2022-09-15 12:32:38 -04:00
Brad King 07f0a78874 FPHSA: Fix regression when VERSION_VAR is missing
If a package is found but FPHSA is called by the find module without a
`VERSION_VAR`, and the `find_package` call specifies a version, we have
previously accepted the package as found.  This was accidentally
regressed by commit 8f50f135ae (FPHSA: Improve error message when
VERSION_VAR is empty or has been unset(), 2022-08-01).  Restore it and
add a test case.
2022-09-15 11:00:02 -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 b178311c63 Merge topic 'fix-try_compile-tests'
4ecbf1f938 Tests: Fix recently added tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7678
2022-09-15 09:07:04 -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
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