| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 5abfde6cb8a1ae0b2825797eab6c2e9842eb7c49.
The behaviors associated with implicit pulldown on variable lookup
seriously conflict with the optimizations made in these commits.
Basically, since values were copied upon variable lookup, not just on
PARENT_SCOPE, coupled with PARENT_SCOPE's behavior based on whether the
variable is in the current scope or not causes serious problems with not
storing a value for every variable at every scope.
The commit changed behavior of the following example, among other cases:
function(test_set)
set(blah "value2")
message("before PARENT_SCOPE blah=${blah}")
set(blah ${blah} PARENT_SCOPE)
message("after PARENT_SCOPE blah=${blah}")
endfunction()
set(blah value1)
test_set()
message("in parent scope, blah=${blah}")
Reported-by: Alex Merry <alex.merry@kde.org>
Reported-by: Ben Cooksley <bcooksley@kde.org>
|
|
|
|
|
| |
When looking up scopes, it is faster to not store the lookup locally to
keep the maps smaller and avoid extra allocations and rebalancing.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
86be733f cmGeneratorExpression: Add workaround for Borland compiler
3495ab0a tests: update unused variable test expected output
2a1b2d84 backtrace: Convert to local paths in IssueMessage
a0829205 genex: remove the need for backtraces
efc20569 cmake: remove dummy backtraces for IssueMessage
d46c650d cmMakefile: return a backtrace
|
| | |
|
| |
| |
| |
| |
| | |
This is the only place we care show the FilePath to the user, so defer
the expensive relative path calculation until here.
|
| |
| |
| |
| |
| | |
Rather than making dummy backtraces and passing them around, just make
backtraces optional.
|
| | |
|
| |
| |
| |
| |
| | |
This allows backtraces to be fully controlled by the makefile rather
than externally (and makes changing how they are manipulated easier).
|
|\ \
| | |
| | |
| | |
| | | |
887532f0 CTest: Fix combined inclusive/exclusive label regular expressions
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
23dc6aa1 Xcode: Fix single-configuration generation for version 1.5
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In commit 84fdc992 (stringapi: Pass configuration names as strings,
2014-02-09) a few code paths for the Xcode 1.5 single-configuration
generator were not updated to use an empty configuration name instead of
a NULL pointer when no configuration is specified in CMAKE_BUILD_TYPE.
Fix them now.
|
|\ \ \ \
| |_|/ /
|/| | |
| | | |
| | | | |
8256ccb7 Add OBJECT_FILE_DIR rule placeholder for compilation lines
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Some compilers do not offer an option to specify the path to the object
file, but rather only to the directory in which to place the object
file. See issue 14876 for some examples. Add a new OBJECT_FILE_DIR
placeholder to specify the directory containing the object file for the
current compilation. This may differ from the main target OBJECT_DIR
when the object corresponds to a source in a subdirectory.
|
| |/
|/| |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
528e8af1 Allow a toolchain file to specify a generator toolset
98afb454 VS: Split user- and generator-provided PlatformToolset
3e9f6e36 Xcode: Rename internal variable {Platform => Generator}Toolset
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Delay use of CMAKE_GENERATOR_TOOLSET until the CMakeSystem.cmake
file has been configured and loaded during the first project() or
enable_language() command. This gives the toolchain file named by
CMAKE_TOOLCHAIN_FILE a chance to set CMAKE_GENERATOR_TOOLSET. This
point is still early enough to set the generator toolset prior to
the initialization of any languages that might use the toolset.
The cmake::GeneratorToolset member variable remains an indication
of what was specified by the -T option or loaded from the cache.
It does not need to be updated based on the toolchain file setting.
The cmMakefile::TryCompile can still pass cmake::GeneratorToolset
into the inner instance because the try-compiled project will do
platform and language initialization using the CMakeSystem module
configured for the outer project.
Extend the RunCMake.GeneratorToolset test with cases that use a
toolchain file to set CMAKE_GENERATOR_TOOLSET.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Divide the cmGlobalVisualStudio10Generator "PlatformToolset" member into
two members representing the generator-selected default toolset and the
user-specified CMAKE_GENERATOR_TOOLSET value. Prefer the user-specified
value, if any, and then fall back to the generator-selected default.
|
| | |
| | |
| | |
| | | |
The latter matches with CMAKE_GENERATOR_TOOLSET better.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
6446eb09 CTest: Added option description for --output-on-failure
|
| | | |
| | | |
| | | |
| | | | |
Without it the option list is cut short after --debug.
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
50daf239 CTest: Generalize Cobertura coverage format handling
a2822d30 CTest: Rename coverage implementation for "Python" to "Cobertura"
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Add support for Cobertura coverage files written by Java.
Add a test which uses the report from a Java run of Cobertura to calculate coverage.
In the documentation of CTEST_COVERAGE_COMMAND, give a sample .sh file to merge
the Cobertura .ser files and generate the XML report from the merged file.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The coverage.py tool writes out an XML that conforms to the Cobertura
Coverage tool standard. Rename the cmParsePythonCoverage files to
instead be cmParseCoberturaCoverage.
|
|\ \ \ \ \
| |_|_|_|/
|/| | | |
| | | | |
| | | | | |
730e3862 Encoding: Add setlocale() to applications.
|
| | | | |
| | | | |
| | | | |
| | | | | |
See also bug #14934 where chinese characters could not be used with cpack.
|
| |_|_|/
|/| | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
44e2923f cmake: Fix --build crash on bad CMAKE_GENERATOR in cache
|
| | |_|/
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
If we fail to create the generator named by CMAKE_GENERATOR, exit
with an error message instead of crashing. While at it, fix the
wording of the error message when CMAKE_GENERATOR is not set.
Extend the RunCMake.CommandLine test with cases covering the
"cmake --build" option when the named directory does not provide
a CMakeCache.txt with a valid CMAKE_GENERATOR.
|
| |_|/
|/| | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
889f2fd8 Simplify and clarify credit text and link
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Use the name "Kitware" rather than "Kitware, Inc." to simplify the text.
Provide a CMake-specific URL.
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | | |
8da0a75b Simplify and clarify credit text and link
|
| |/ /
| | |
| | |
| | |
| | | |
Use the name "Kitware" rather than "Kitware, Inc." to simplify the text.
Provide a CMake-specific URL.
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
60a981ea Features: Enable compiler extensions by default.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Compilers enable their extensions by default, and disabling them
implicitly can lead to results which are surprising or non-obvious
to debug.
http://public.kitware.com/pipermail/cmake-developers/2014-May/010575.html
http://thread.gmane.org/gmane.comp.programming.tools.cmake.devel/10214
https://www.mail-archive.com/cmake-developers@cmake.org/msg10116.html
(Compiler feature extensions by default, 29 May 2014)
|
| | | | |
|
| | | | |
|
| | | | |
|
|\ \ \ \
| |_|_|/
|/| | |
| | | |
| | | | |
fb2fa476 Genex: Clarify error message on use with non-binary targets (#14899).
|
| | | | |
|
| |/ /
|/| | |
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
c4af46b4 add_custom_command: Normalize OUTPUT and DEPENDS paths.
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
While tracing dependencies of a target, cmTargetTraceDependencies
follows sources by full path to determine if the source is to be
produced by a custom command. Commit 4959f341 (cmSourceFileLocation:
Collapse full path for directory comparisons., 2014-03-27) changed
the storage of target sources to be in the form of a normalized
path instead of an unnormalized path.
The path is followed by looking it up in a mapping via
cmMakefile::GetSourceFileWithOutput to acquire an appropriate
cmSourceFile. The mapping is populated with the OUTPUT components
of add_custom_command invocations, however it is populated with
unnormalized paths. This means that the tracing logic does not
find appropriate cmSourceFiles, and does not generate appropriate
build rules for the generated sources.
Normalize the paths in the OUTPUT components of add_custom_command
to resolve this.
The paths in the DEPENDS component of add_custom_command are also
not normalized, leading to the same problem again. Normalize the
depends paths after generator evaluation and expansion.
|
|\ \ \
| | | |
| | | |
| | | |
| | | | |
b684ce58 VS: Use lower-case boolean values in VS 7-9 (#14927)
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | | |
The VS 7-9 IDEs parse .vcproj file boolean values in lower or upper
case. The .NET XML parsing chokes on anything but "true", "false", "0",
"1". Teach our generators to use lower-case names since they will work
for both parsers. Our VS >= 10 flag tables already use lower-case.
|