| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is useful for cases like:
add_test(NAME mytest COMMAND mydriver $<TARGET_FILE:myexe>)
set_tests_properties(mytest PROPERTIES
REQUIRED_FILES "$<TARGET_FILE:myexe>"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/$<CONFIGURATION>"
)
In this example we require the actual test executable to exist to
run the test in addition to the test driver at argv[0]. Also the
$<CONFIGURATION> expression improves over \${CTEST_CONFIGURATION_TYPE}
because the latter is not normalized for case-sensitive filesystems.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move property generation from GenerateScriptConfigs to separate copies
in GenerateOldStyle and GenerateScriptForConfig. This causes the
per-config tests generated for the add_test(NAME) signature to each get
their own test properties. This will allow us to later change the
property values based on the test configuration.
While at it, generate lower-case CMake code (e.g. set_tests_properties).
Inspired-by: Ben Boeckel <mathstuf@gmail.com>
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| | |
9040ec9 Do not warn about left paren not separated by a space
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since commit 58e52416 (Warn about arguments not separated by whitespace,
2013-02-16) we warn about arguments not separated by spaces. Loosen the
warning to not complain about left parens not separated by spaces from
the preceding token. This is common in code like "if(NOT(X))".
Teach the RunCMake.Syntax test to cover cases of left parens not
separated by spaces and check that no warning appears.
|
|\ \
| | |
| | |
| | |
| | | |
335a127 OS X: Do not default to non-existent deployment target SDK
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Since commit 95f78e08 (OS X: Search for SDK based on deployment target,
2013-08-02) we select the default OS X SDK path to match the deployment
target. Fix this behavior in the case that the matching SDK does not
exist and fall back to the SDK for the current host OS X version.
|
|/ / |
|
|\ \
| | |
| | |
| | |
| | | |
07c16ee Update version introducing CMP0021, CMP0022, and CMP0023
|
|/ /
| |
| |
| | |
These policies will be first released in 2.8.12.
|
|\ \
| | |
| | |
| | |
| | | |
d05a9bd Cygwin: Avoid legacy warnings in RunCMake.* tests
|
| | |
| | |
| | |
| | |
| | |
| | | |
Set the minimum required version of CMake high enough to avoid the
warning for CMAKE_LEGACY_CYGWIN_WIN32. The warning appears on stderr
and breaks the expected output matching.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
36eef30 Genex: Fix segfault when parsing ends with parameter expectation.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The extendResult method expects a non-empty parameters vector, as
assured by the normal case. Avoid calling the method when the parser
finds an incomplete generator expression, but has already entered
the state of expecting to find parameters.
|
| |/ /
|/| | |
|
| | | |
|
| | | |
|
|/ / |
|
| | |
|
|\ \
| | |
| | |
| | |
| | | |
b33c984 Revert "Add compiler target compile options."
|
|/ /
| |
| |
| | |
This reverts commit 2d9ec1dadfdd10043a98d425abb25d0aef117699.
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
b93982f Merge branch 'dev/fix-variable-watch-crash' into cmake-syntax
c50f7ed cmListFileLexer: Modify flex output to avoid Borland warning
bf73264 Warn about unquoted arguments that look like long brackets
58e5241 Warn about arguments not separated by whitespace
e75b69f cmListFileCache: Convert CMake language parser to class
e945949 Add RunCMake.Syntax test cases for command invocation styles
0546484 cmListFileArgument: Generalize 'Quoted' bool to 'Delimeter' enum
28685ad cmListFileLexer: Split normal and legacy unquoted arguments
1eafa3e cmListFileLexer: Fix line number after backslash in string
f3155cd Add RunCMake.Syntax test to cover argument parsing
|
| |\ \
| | |/
| |/|
| | |
| | | |
Resolve conflict in Source/cmVariableWatchCommand.cxx by integrating the
changes from both sides.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Remove the "yyscanner = NULL" assignment from the end of the
yylex_destroy function because Borland warns that the value is never
used.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In the future CMake will introduce Lua-style long bracket syntax.
Warn about unquoted arguments that in the future will be treated
as opening long brackets.
Teach the RunCMake.Syntax test to cover such cases and ensure that the
warning appears.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Teach the lexer to return tokens for whitespace. Teach the parser to
tolerate the space tokens where whitespace is allowed. Also teach the
parser to diagnose and warn about cases of quoted arguments followed
immediately by another argument. This was accidentally allowed
previously, so we only warn.
Update the RunCMake.Syntax test case StringNoSpace expected stderr to
include the warnings.
|
| | |
| | |
| | |
| | |
| | | |
Refactor the parser implementation into a class to make
it easier to extend.
|
| | |
| | |
| | |
| | |
| | | |
Cover commands with whitespace present in allowed combinations.
Also cover command error cases such as two on one line.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Replace the boolean value that indicates whether an argument is unquoted
or quoted with a generalized enumeration of possible argument types.
For now "Quoted" and "Unquoted" remain the only types.
|
| | |
| | |
| | |
| | |
| | | |
Match legacy arguments separately. Add macros to simplify and clarify
matching rules.
|
| | |
| | |
| | |
| | |
| | |
| | | |
If a line inside a string ends in a backslash count the following
newline character as a line increment. Add a test covering this case to
verify that subsequent line numbers are correct.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Test basic unquoted and quoted argument parsing cases including failure
on an unterminated string and an unterminated command invocation. Also
cover arguments not separated by any spaces, which is accidentally
allowed by the current parser.
|
|\ \ \
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
6aa0c21 variable_watch: Add test for watching a variable multiple times
b86e37c variable_watch: Check newValue for NULL
f9bb20f variable_watch: Don't share memory for callbacks
05dad99 variable_watch: Fix a typo in the error message
00ce12a variable_watch: Prevent making extra entries in the watch map
34b397e variable_watch: Allow specifying the data to match in RemoveWatch
e43e207 variable_watch: Match client_data when finding duplicates
0d6acb1 variable_watch: Add a deleter for the client data
fc7c3b4 variable_watch: Store client data as pointers
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
On read access, newValue can be NULL since there is no new value, so use
the empty string instead.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The command itself is owned by the cmMakefile class, but the
cmVariableWatch which holds a pointer to the cmVariableWatchCommand via
the client_data for the callback outlives the cmMakefile class in the Qt
GUI. This means that when the cmMakefile is destroyed, the variable
watch is still in effect, but with a stale pointer.
To fix this, each callback is now a separate entity completely and
doesn't rely on the command which spawned it at all.
An example CMakeLists.txt which demonstrates the issue (only displayed
in cmake-gui, so no tests can be written for it):
set(var 0)
variable_watch(var)
|
| | |
| | |
| | |
| | | |
There was no space between "callback" and the quoted command name.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When removing a watch on a variable, using the operator [] on the
internal map will create an empty watch if the variable doesn't have any
existing watches. Rather than creating this empty structure in the map,
return if there isn't a watch on the variable already.
|
| | |
| | |
| | |
| | |
| | | |
Now that watches are dependent on their client_data when adding, it also
makes sense to allow matching the data for removal.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If a callback has the same data as another call, we don't want to delete
the old callback. This is because if the client_data is the same, it
might get deleted causing the new client_data to be bogus. Now, AddWatch
will return true if it will use the watch, false otherwise. Callers
should check the return value to know whether client_data was adopted by
the watch or not.
|
| | |
| | |
| | |
| | |
| | |
| | | |
The client data is arbitrary and the callback may be called an
unspecified number of times, so the cmVariableWatch must be the one to
delete the client data in the end (if it is needed at all).
|
| | |
| | |
| | |
| | |
| | | |
The STL containers create extra copies which makes keeping track of the
owner of the client data much messier.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
6f9aaad CTest: create one output file per memcheck (#14303)
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The output file used for memory checker runs must be unique for every test run
in parallel, so simply make them unique for every test run. Simply use the test
index to avoid collisions.
|