| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
The backtrace will soon not be implemented in terms of a stack of
cmListFileContext objects. Keep the cmListFileContext in the API
for convenience for now.
|
| |
|
|
|
|
|
|
| |
This should be much faster. In the context where it is used the
line comparison should be sufficient, removing the need to compare
files at all.
|
|
|
|
|
| |
Move wrapping existing code from cmMakefile, and simplify the
implementation there.
|
|
|
|
|
| |
It is written, but not read since commit v2.4.0~575 (ENH: Since list file
cache does not make much sense any more ..., 2006-02-07).
|
|
|
|
| |
All compilers hosting CMake support the std class.
|
|
|
|
|
| |
CMake 3.0 is the last release to require to be able to build with
Borland.
|
|
|
|
|
| |
Check if a file path is a directory before opening it. Extend the
RunCMake.CommandLine test with a case running "cmake -P" on a directory.
|
|
|
|
|
| |
This is the only place we care show the FilePath to the user, so defer
the expensive relative path calculation until here.
|
|
|
|
|
|
| |
Use the clang RemoveCStrCalls tool to automatically migrate the
code. This was only run on linux, so does not have any positive or
negative effect on other platforms.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Teach the CMake language parser to recognize Lua-style "long bracket"
arguments. These start with two '[' separated by zero or more '='
characters e.g. "[[" or "[=[" or "[==[". They end with two ']'
separated by the same number of '=' as the opening bracket. There is no
nesting of brackets of the same level (number of '='). No escapes,
variable expansion, or other processing is performed on the content
between such brackets so they always represent exactly one argument.
Also teach CMake to parse and ignore "long comment" syntax. A long
comment starts with "#" immediately followed by an opening long bracket.
It ends at the matching close long bracket.
Teach the RunCMake.Syntax test to cover long bracket and long comment
cases.
|
|
|
|
|
|
| |
Teach the lexer to read a UTF-8, UTF-16 BE/LE, or UTF-32 BE/LE
Byte-Order-Mark from the start of a file if any is present. Report an
error on files using UTF-16 or UTF-32 and accept a UTF-8 or missing BOM.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Our Git commit hooks disallow modification or addition of lines with
trailing whitespace. Wipe out all remnants of trailing whitespace
everywhere except third-party code.
Run the following shell code:
git ls-files -z -- \
bootstrap doxygen.config '*.readme' \
'*.c' '*.cmake' '*.cpp' '*.cxx' \
'*.el' '*.f' '*.f90' '*.h' '*.in' '*.in.l' '*.java' \
'*.mm' '*.pike' '*.py' '*.txt' '*.vim' |
egrep -z -v '^(Utilities/cm|Source/(kwsys|CursesDialog/form)/)' |
egrep -z -v '^(Modules/CPack\..*\.in)' |
xargs -0 sed -i 's/ \+$//'
|
|
|
|
|
|
|
| |
This converts the CMake license to a pure 3-clause OSI-approved BSD
License. We drop the previous license clause requiring modified
versions to be plainly marked. We also update the CMake copyright to
cover the full development time range.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
EXPORT_LIBRARY_DEPENDENCIES()
to help with debugging later on. The same should be done in the import
target files (but I didn't have time to do it yet).
STYLE: fix line length in cmListFileCache.cxx
Alex
|
|
|
|
|
|
|
|
| |
- Message for missing cmake_minimum_required is not issued
until the end of processing the top CMakeLists.txt file
- During processing a cmake_policy command may set behavior
- OLD behavior is to silently ignore the problem
- NEW behavior is to issue an error instead of a warning
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- Update policy CMP0000 to require use of the command
cmake_minimum_required and not cmake_policy
so there is only one way to avoid it.
- Explicitly specify the line users should add.
- Reference policy CMP0000 only at the end.
- Fix policy CMP0000 documentation to not suggest
use of the cmake_policy command.
|
|
|
|
|
|
|
|
|
|
| |
- Add cmListFileBacktrace to record stack traces
- Move main IssueMessage method to the cmake class instance
(make the backtrace an explicit argument)
- Change cmMakefile::IssueMessage to construct a backtrace
and call the cmake instance version
- Record a backtrace at the point a target is created
(useful later for messages issued by generators)
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Remove CMP_0001 (no slash in target name) and restore
old CMAKE_BACKWARDS_COMPATIBILITY check for it
- Replace all checks of CMAKE_BACKWARDS_COMPATIBILITY
with cmLocalGenerator::NeedBackwardsCompatibility calls
- Create new CMP_0001 to determine whether or not
CMAKE_BACKWARDS_COMPATIBILITY is used.
(old = use, new = ignore)
- Show CMAKE_BACKWARDS_COMPATIBILITY in cache only when
CMP_0001 is set to OLD or WARN
- Update documentation of cmake_policy and cmake_minimum_required
to indicate their relationship and the 2.4 version boundary
- When no cmake policy version is set in top level makefile
implicitly call cmake_policy(VERSION 2.4) which restores
CMAKE_BACKWARDS_COMPATIBILITY and other 2.4 compatibility
- Fix tests MakeClean and Preprocess to call
cmake_policy(VERSION 2.6) because they depend on new policies
|
|
|
|
| |
CMAKE_BACKWARDS_COMPATIBILITY and CMAKE_MINIMUM_REQUIRED
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Add cmMakefile methods IssueError and IssueWarning
- Maintain an explicit call stack in cmMakefile
- Include context/call-stack info in messages
- Nested errors now unwind the call stack
- Use new mechanism for policy warnings and errors
- Improve policy error message
- Include cmExecutionStatus pointer in call stack
so that errors deeper in the C++ stack under
a command invocation will become errors for the
command
|
| |
|
| |
|
| |
|
|
|
|
| |
BACKWARDS_COMPATIBILITY and extend the documentaiton quite a bit
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
proper list file parsing), and it actually adds unnecessary complications and make ctest scripting not work, take it out
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
to enable a language without modifing cmake source code
|
|
|
|
| |
CMAKE_CURRENT_LIST_LINE that evaluate to the file name and line number in which they appear. This implements the feature request from bug 1012.
|
|
|
|
| |
place of the old hand-coded parser for CMake listfiles.
|
|
|
|
| |
# in a non-quoted argument. Improved parsing speed by not compiling regular expressions on blank lines.
|