| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
These provide more detailed information about how the test project was
configured.
Issue: #23200
|
|
|
|
|
| |
Do not accept a double-quote in the `try_compile` work directory to
ensure we do not match more than the field value.
|
|\
| |
| |
| |
| |
| |
| | |
faa950a155 try_compile: Run native build tool with verbose output
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8095
|
| |
| |
| |
| |
| |
| | |
Make the compiler command lines visible in the configure log.
Issue: #23200
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| | |
5f0c5ec49b cmake: Print configure/generate time
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !8083
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Replace old-style `file(APPEND .../CMake{Output,Error}.log)` logging
with calls to `message(CONFIGURE_LOG)` to record the steps in the
`CMakeConfigureLog.yaml` configure log instead.
Issue: #23200
|
|/
|
|
| |
These log files will soon go away, so avoid using them in tests.
|
|
|
|
|
|
|
|
| |
Many `try_compile` and `try_run` calls occur inside check modules
between `message(CHECK_START)` and `message(CHECK_{PASS,FAIL})` pairs.
Add a field to configure log entries to report this context.
Issue: #23200
|
| |
|
|
|
|
| |
Issue: #23200
|
| |
|
|
|
|
|
|
|
|
| |
In order to support multiple log versions without buffering the
entire log, move versioning to the level of individual events.
Multiple versions of an event may then be logged consecutively.
Issue: #23200
|
|
|
|
|
|
| |
Add configure log events for `try_compile` and `try_run` results.
Issue: #23200
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
80fc564dd7 try_compile: Restore COPY_FILE with CMAKE_TRY_COMPILE_CONFIGURATION
Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Robert Maynard <robertjmaynard@gmail.com>
Merge-request: !7948
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since commit 0c141b0393 (try_compile: Record output location instead of
reverse computing it, 2022-08-31, v3.25.0-rc1~154^2) we always look for
the "Debug" configuration's output binary from the test project.
Restore looking for the `CMAKE_TRY_COMPILE_CONFIGURATION`.
Fixes: #24180
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
90287792b6 Tests: Avoid running C++11 test on GNU < 4.7
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7821
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
50e90e2828 try_compile: Honor CMP0128 setting in test project
Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Merge-request: !7803
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Detect the compiler id, version, and default standard level
in the test's inspection step rather than passing it all in
from the host CMake build's results. This avoids repeating
details not known to older versions of CMake, and shortens
the code.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
CMake itself does not enable the OBJC/OBJCXX languages, so the
`CMAKE_OBJ{C,CXX}_STANDARD_DEFAULT` variables are never defined.
Detect them inside the test instead.
|
|\ \ \ \
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | | |
90287792b6 Tests: Avoid running C++11 test on GNU < 4.7
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7821
|
| | |/
| |/|
| | |
| | |
| | |
| | | |
The test added in commit 50e90e2828 (try_compile: Honor CMP0128 setting
in test project, 2022-10-18, v3.25.0-rc2~4^2) requires that the compiler
support C++11 mode, so do not run it on GNU compilers that are too old.
|
|\ \ \
| |/ /
| | /
| |/
|/|
| |
| |
| | |
50e90e2828 try_compile: Honor CMP0128 setting in test project
Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Merge-request: !7803
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some projects pass a raw `-std=` flag to the compiler in the
`try_compile` project. If they do not set CMP0128 to NEW,
we should not append a `-std=` flag where we did not before
the policy was added.
Fixes: #24063
|
| |
| |
| |
| |
| |
| |
| |
| | |
When `--debug-trycompile` is enabled, issue a log (with trace) for every
`try_compile` noting what directory is being used for the compilation.
This will make it easier to find the corresponding artifacts.
Closes: #24022
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Change the SOURCE_FROM_ARG keyword to try_compile to SOURCE_FROM_CONTENT
(which we can do because it was recently added and hasn't been in a
release yet). The new name should be clearer as to what it does, and
also more consistent with the CONTENT arguments to some other commands.
Also, fix a typo in an error message.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | | |
30a234d275 try_compile: Improve error message consistency
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !7696
|
| | |
| | |
| | |
| | |
| | | |
Tweak some error messages from try_compile (and try_run) to be more
consistent with each other.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Add a brief documentation blurb to the try_compile and try_run test sets
on writing tests for both "old" and "new" signatures.
|
|\ \ \ \
| |_|/ /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| |/ /
| | |
| | |
| | |
| | | |
Tweak try_compile and try_run to give a more informative error (rather
than "unknown error") when given an insufficient number of arguments.
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | | |
56ae40cc59 try_compile: Add PROJECT keyword-dispatched signature
Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7677
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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).
|
|/ /
| |
| |
| |
| |
| | |
Fix the tests added by commit 0c141b03 (try_compile: Record output
location instead of reverse computing it, 2022-08-31), which were added
as old-and-new-signature tests but only used the old signature.
|
| |
| |
| |
| | |
Fixes #23887, #23942, #20163, #18288
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Introduce a new signature for try_compile (and try_run) which removes
the `bindir` argument and requires the SOURCES tag. This will eventually
allow us to add other ways of providing sources, but also allows us to
change the behavior without breaking compatibility.
The old signature uses a special, but non-unique temporary location
inside the specified `bindir`, which conventionally is just the
project's build directory. The new signature unconditionally uses the a
unique temporary directory which is unconditionally within the project's
build directory (which is no longer separately specified). This ensures
that successive runs do not overwrite previous runs, will simplify
debugging, and should also, eventually, allow us to execute multiple
trials in parallel.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Modify cmCoreTryCompile to only recognize try_run arguments when
actually parsing try_run. (The old behavior was to recognize try_run
arguments for try_compile also and then complain.)
This has a small chance that a try_run keyword will be consumed as part
of a multi-valued keyword argument. However, this behavior is more
consistent with other commands, as we don't normally treat keywords as
universally reserved. Also, the code is noticeably simplified.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
If the bindir is not an absolute path, other errors occur later.
Fail early with a clear error in this case.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
C++ modules have two variants which are of importance to CMake:
- `CXX_MODULES`: interface modules (those using `export module M;`,
`export module M:part;`, or `module M:internal_part;`)
- `CXX_MODULE_HEADER_UNITS`: importable header units
Creating C++ modules or partitions are *not* supported in any other
source listing. This is because the source files must be installed (so
their scope matters), but not part of usage requirements (what it means
for a module source to be injected into a consumer is not clear at this
moment). Due to the way `FILE_SET` works with scopes, they are a perfect
fit as long as `INTERFACE` is not allowed (which it is not).
|
| |
| |
| |
| |
| |
| |
| | |
Add a `CMAKE_TRY_COMPILE_NO_PLATFORM_VARIABLES` variable to tell
`try_compile` not to pass platform variables to the test project.
Issue: #23219
|
|/
|
|
|
|
|
|
|
| |
Add policy CMP0137 to propagate both our builtin variables and those
listed by `CMAKE_TRY_COMPILE_PLATFORM_VARIABLES` to `try_compile`
whole-project builds.
Inspired-by: Alexander Neumann <Alexander.Neumann@hamburg.de>
Fixes: #23219
|
|\
| |
| |
| |
| |
| |
| |
| | |
5b1ed2a646 try_compile: Do not use CMAKE_BUILD_TYPE or CMAKE_CONFIGURATION_TYPES env vars
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !6755
|