| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| | |
704830ae Help: Add notes for topic 'CMakePackageConfigHelpers-INSTALL_PREFIX'
e3007c92 CMakePackageConfigHelpers: Add unit tests for INSTALL_PREFIX option
d057bf85 CMakePackageConfigHelpers: Add INSTALL_PREFIX option
f3dd116c CMakePackageConfigHelpers: restructure documentation and document commands
64eca30d CMakePackageConfigHelpers: Remove unused variable
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When $<TARGET_PROPERTY> names a build property like COMPILE_DEFINITIONS
but not the usage requirement (INTERFACE_) version of it, the value
should be that used to build the target. It should not be influenced by
a dependent 'head' target like usage requirements are.
Extend the CompileDefinitions test with a case covering the corrected
behavior.
Reviewed-by: Stephen Kelly <steveire@gmail.com>
|
|/
|
|
| |
Support extraction of UTF-8 strings.
|
|\
| |
| |
| |
| | |
b2282631 cmTarget: Do not mistake a preceding error for a CMP0049 failure
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
After calls to ProcessSourceItemCMP0049, check for an empty return
string to detect a failure instead of trusting GetErrorOccuredFlag.
The latter could have been left from a preceding non-fatal error.
Extend the RunCMake.Configure test to cover a case that exposed this
problem.
|
|\ \
| |/
|/|
| |
| |
| | |
f86850ef Genex: Implement generator expressions for target PDB files.
028ad318 Genex: Simplify filesytem artifact code
|
| | |
|
|/
|
|
|
|
| |
Since the Sanitizers write out one log file per process, a single
test might have more than one log file. This commit allows ctest
to read all of the log files found for a particual test.
|
|\
| |
| |
| |
| | |
f7d62cac Fix leak and address sanitizer tests to be able to run with real tools.
|
| |
| |
| |
| |
| |
| |
| | |
When running CMake under Leak or Address Sanitizer tools, the fake reporting
would get picked up by the outer CMake and reported as leaks and address
failures on the CMake dashboard. This commit makes sure the test only
reports simulated errors when asked to.
|
|\ \
| | |
| | |
| | |
| | | |
fb95f820 Tests: Set policies in 'complex' tests
|
| |/
| |
| |
| |
| |
| | |
These tests cover the OLD behavior of some policies. Set them to
OLD to avoid warnings in the test output. Leave a comment that
explains why this is done here but not recommended in general.
|
|\ \
| |/
|/|
| |
| | |
80ee17d8 Tests/CTestTestMemcheck: Tolerate malloc guard in BC output
|
| | |
|
|\ \
| | |
| | |
| | |
| | | |
3526478c Tests: Activate tests accidentally excluded from Xcode
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The generator name is "Xcode", not "XCode". Fix this typo. Explicitly
exclude the SubDirSpaces test on Xcode because it does not work. Also
tell the RunCMake.File_Generate test when Xcode is not multi-config so
it can exlcude the OutputConflict case.
Inspired-by: Daniele E. Domenichelli <daniele.domenichelli@iit.it>
|
|\ \ \
| |_|/
|/| |
| | |
| | | |
09b2ac38 Encoding: Fix a few encoding problems with ctest.
|
| |/
| |
| |
| |
| | |
This also fixes some test failures on Windows when the
name of the build directory contains non-ascii characters.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Callers of cmTarget::GetLinkImplementationClosure are interested in the
set of targets whose interface properties propagate to the current
target. This excludes targets guarded by $<LINK_ONLY>.
Teach the CompatibleInterface test to cover suppression of interface
compatibility tests with $<LINK_ONLY>. Although this is not recommended
in practice, it is a way of covering the above behavior.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Previously this generator expression was used internally by the
target_link_libraries command to honor private linking requirements of
static libraries in their INTERFACE_LINK_LIBRARIES. Remove the check
that limits $<LINK_ONLY> to this use case to make it available for
project code to use too.
|
|/
|
|
|
|
| |
This adds support for memory and leak sanitizers. This is built into
clang and gcc 4.8 and new compilers. It is activated with a -f switch
during compile.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix cmTarget::GetSourceFiles to set EvaluateForBuildsystem on the
$<TARGET_PROPERTY:...,INTERFACE_SOURCES> generator expression so that
the $<TARGET_OBJECTS> generator expression is allowed within an
INTERFACE_SOURCES value.
Extend the InterfaceLibrary test to cover this case. Extend the
RunCMake.TargetObjects test to cover failure of $<TARGET_OBJECTS>
when used through $<TARGET_PROPERTY:...,INTERFACE_SOURCES> in a
non-buildsystem context.
|
|\
| |
| |
| |
| |
| | |
7c80ce6f Help: Add notes for topic 'thread-sanitizer'
49948f72 ctest_memcheck: Add support for ThreadSanitizer
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This commit adds support for ThreadSanitizer to ctest. ThreadSanitizer
is part of the clang compiler and also gcc 4.8 and later. You have to
compile the code with special flags. Then your code gets the the
ThreadSanitizer ability built into it. To pass options to the
ThreadSanitizer you use an environment variable. This commit teaches
ctest to parse the output from ThreadSanitizer and send it to CDash.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Loosen this restriction on OBJECT libraries to allow source files of any
name to be generated by custom commands or listed for reference in IDE
projects so long as they would not affect linking of a normal library.
Update the rejection message to be more specific about the looser
restriction.
Extend the ObjectLibrary test to cover a ".cmake" file generated by a
custom command in an OBJECT library.
|
| |
| |
| |
| | |
The add_custom_command DEPENDS option needs a full path.
|
|/
|
|
|
| |
We now have a generic way to add -fPIC without explicitly modifying
CMAKE_C_FLAGS, so use it.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
93790506 cmTarget: Simplify INTERFACE_INCLUDE_DIRECTORIES usage requirement lookup
b5b098eb cmTarget: Simplify CMP0027 logic in processIncludeDirectories
5e07dcf7 cmTarget: Add to LinkImplementation whether each library was a genex
f77b384c cmTarget: Simplify INTERFACE_COMPILE_FEATURES usage requirement lookup
61ef8daa cmTarget: Simplify INTERFACE_COMPILE_DEFINITIONS usage requirement lookup
d9586f83 cmTarget: Simplify INTERFACE_COMPILE_OPTIONS usage requirement lookup
3156275b cmTarget: Simplify INTERFACE_SOURCES usage requirement lookup
363cd33e cmTarget: Add method to add usage requirements from linked interfaces
251e835b cmTarget: Add to LinkImplementation a backtrace for each library
848c8ccf cmTarget: Refactor LinkImplementation to allow more information
f85ccf23 cmGeneratorExpressionEvaluator: Shorten some long lines
82e91e34 cmComputeLinkDepends: Convert AddLinkEntries to a template
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use the AddInterfaceEntries helper to avoid duplication. In
TargetPropertyEntry, replace the TargetName string member with a
reference to the full cmLinkImplItem that produced the entry. This is
possible because the cmLinkImplItem is available in AddInterfaceEntries
(it was not available in GetIncludeDirectories). Having the full
cmLinkImplItem allows processIncludeDirectories to implement CMP0027 OLD
behavior without repeating the target name lookup.
Update the RunCMake.CompatibleInterface test DebugProperties case
expected output for the new order of the messages.
|
| |
| |
| |
| | |
Use the AddInterfaceEntries helper to avoid duplication.
|
|\ \
| | |
| | |
| | |
| | | |
92af3664 Tests: split the ExternalProject test
|
| |/
| |
| |
| |
| |
| |
| |
| | |
Move the subtests that test with local projects into their own test. The reason
is that on slower or crowded machines the test may reach the limit of 25
minutes and therefore fail while it would pass if it was given enough time.
The split is roughly 3:1 with regard to the execution time, with the new
ExternalProjectLocal test being the faster one.
|
|\ \
| | |
| | |
| | |
| | | |
b47c125f WCDH: Ensure that the prefix argument to the macro is valid.
|
| |/
| |
| |
| |
| | |
The prefix must be a C-identifier because it is written as the
prefix of preprocessor macros and possibly structs.
|
|/
|
|
|
|
| |
Print the "timeout correctly killed" message using message(STATUS) so
that 'ctest -S' puts it in the same pipe as the rest of the test command
handler output. This ensures it shows up in the same order every time.
|
|\
| |
| |
| |
| | |
7269e69f ExternalProject test: remove unused file
|
| | |
|
|\ \
| | |
| | |
| | |
| | | |
5217ad26 CTestTestMemcheck: do not search for compilers
|
| |/ |
|
|\ \
| | |
| | |
| | |
| | | |
902c9063 Tests: Use add_test(NAME) signature in add_test_macro
|
| |/
| |
| |
| | |
This will allow generator expressions to be used in test arguments.
|
|\ \
| | |
| | |
| | |
| | |
| | | |
65aa5442 Target: Return null when a transitive property is not defined.
61ce6547 Genex: Fix stack overflow in transitive property evaluation.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Commit v2.8.11~156^2~2 (Expand includes and defines transitively
in 'external' genexes., 2013-02-13) introduced a recursive loop
and a stack overflow during evaluation of a link implementation
which depends on a transitive property, such as
add_library(empty1 ...)
add_library(empty2 ...)
target_link_libraries(empty1
PRIVATE
$<$<STREQUAL:$<TARGET_PROPERTY:INCLUDE_DIRECTORIES>,/foo/bar>:empty2>
)
There is no use-case for code like that currently, but it should not
cause a stack overflow.
Avoid the recursion by reporting an error early if a case like this
is found.
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A library or executable target that consists only of a reference to an
object library may have no sources to compile or custom commands to run.
The command in the target is the link (or archive) command. Add missing
order-only dependencies to link commands so that target ordering
dependencies are satisfied for it without depending on an intermediate
compilation rule.
Extend the ObjectLibrary test to cover this case.
Co-Author: Brad King <brad.king@kitware.com>
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
9998d78d Tests: Speed up RunCMake.include_directories test
6eee5d74 Tests: Drop broken and now unused RunCMake_TEST_FILE option
f0f15b93 Tests: Refactor RunCMake.include_directories to drop RunCMake_TEST_FILE
8707814e Tests: Refactor RunCMake.File_Generate to drop RunCMake_TEST_FILE
|
| | |
| | |
| | |
| | |
| | |
| | | |
Remove unnecessary language initializations. Change the main
CMakeLists.txt project() call to specify NONE. Use enable_language(CXX)
instead of project() in cases that need it to avoid enabling C too.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We cannot use -DRunCMake_TEST=${RunCMake_TEST_FILE} because test cases
use project(${RunCMake_TEST}) and the project name cannot be a path to a
file. The parent and grandparent commits removed the only uses of the
option. Drop it now.
|
| | |
| | |
| | |
| | |
| | | |
Drop use of RunCMake_TEST_FILE and pass the test file in through a
definition in RunCMake_TEST_OPTIONS.
|
| |/
| |
| |
| |
| | |
Drop use of RunCMake_TEST_FILE and pass the test file in through a
definition in RunCMake_TEST_OPTIONS.
|