Commit Graph

16636 Commits

Author SHA1 Message Date
Kitware Robot b6acd96f7f CMake Nightly Date Stamp 2014-07-29 00:01:12 -04:00
Brad King 0f06bb52ba Merge topic 'sanitizer_handle_more_pids'
5d40d88e Handle more than one process with sanitizer errors.
2014-07-28 10:35:54 -04:00
Brad King 2699ac5ef7 Merge topic 'fix-re-cmake-with-compiler'
8981513a CMakeDetermineCompiler: Simplify CMAKE_<LANG>_COMPILER default force-cache
731427a6 cmGlobalGenerator: Do not re-add CMAKE_<LANG>_COMPILER
2014-07-28 10:35:53 -04:00
Brad King fd0229e8c5 Merge topic 'fix_qt4_automoc_leak'
0e88b1d6 Fix memory leak of local generator detected by LeakSanitizer.
2014-07-28 10:35:51 -04:00
Brad King 68f4a0ee30 Merge topic 'cpack-ifw-generator'
b9be4d21 Help: Add notes for topic 'cpack-ifw-generator'
73b336c9 CPackIFW: Replace use of strftime with cmTimestamp
44850a26 CPack: Add an "IFW" generator for Qt Framework Installer
2014-07-28 10:35:49 -04:00
Brad King 107db681e3 Merge topic 'vs-escaping'
09164c63 VS: Encode more content correctly in vcxproj files (#15031)
29a0642b VS: Encode mapped flag values in XML project files (#15031)
8fa087ab cmVisualStudioGeneratorOptions: Simplify XML escaping API
1c209ac1 cmIDEOption: Store mapped flag values as a vector<string>
91c93354 cmVisualStudio10TargetGenerator: Remove dupilcate line
2014-07-28 10:35:45 -04:00
Brad King 90f6de8a01 Merge topic 'fix_tar_leaks'
57a2df22 Fix memory leaks in extract tar.
2014-07-28 10:35:44 -04:00
Brad King 9303da53ce Merge topic 'genex-head-sensitive-conditions'
7b743a2e cmTarget: Avoid re-computing head-independent link interfaces
807e4ffe Genex: Track whether an expression depends on the 'head' target
46099b82 cmTarget: Move ComputeLinkImplementation* to internals
438d9c7c cmTarget: Re-order link interface map lookup logic
fe665fdd cmTarget: Refactor link interface map storage
9d13e167 cmTarget: Remove duplicate link interface map
2014-07-28 10:35:42 -04:00
Brad King d128c6c9b3 Merge topic 'target-drop-build-setting-cache'
133cd996 cmTarget: Drop internal cache of build properties
a4d58722 cmTarget: Drop internal cache of link interface usage requirements
2014-07-28 10:35:40 -04:00
Brad King 73b336c9f1 CPackIFW: Replace use of strftime with cmTimestamp
The latter is more portable.
2014-07-28 10:24:03 -04:00
Konstantin Podsvirov 44850a267d CPack: Add an "IFW" generator for Qt Framework Installer
Add support for packaging with the Qt Framework Installer tools:

 http://qt-project.org/doc/qtinstallerframework/index.html

Reviewed-by: Nils Gladitz <nilsgladitz@gmail.com>
2014-07-28 10:24:03 -04:00
Kitware Robot a971de3adf CMake Nightly Date Stamp 2014-07-28 00:01:06 -04:00
Kitware Robot a31b42a46f CMake Nightly Date Stamp 2014-07-27 00:01:06 -04:00
Kitware Robot 06a190b10a CMake Nightly Date Stamp 2014-07-26 00:01:07 -04:00
Kitware Robot 4d7b9375b0 CMake Nightly Date Stamp 2014-07-25 00:01:07 -04:00
Brad King 731427a646 cmGlobalGenerator: Do not re-add CMAKE_<LANG>_COMPILER
The cmGlobalGenerator::ResolveLanguageCompiler method, invoked only by
Makefile generators, contains code originally added by commit v2.4.0~796
(..., add new generators for msys and mingw, 2005-12-22) to compute the
full path to the compiler and save the result back into the cache value.
Since then the CMakeDetermine*Compiler modules have learned to resolve
the full path to the compiler and save it in CMake*Compiler.cmake files
configured in the build tree.  The value of CMAKE_<LANG>_COMPILER in the
cache is now only for reference of what the user originally specified.
The full path is now available in a normal variable of the same name,
and this is used by project code and the generators.

When the user specifies -DCMAKE_<LANG>_COMPILER=name on the command-line
of an existing build tree that uses a Makefile generator, it is first
stored in the cache with an uninitialized type.  Then later when
ResolveLanguageCompiler updates the cache entry and sets the type to
FILEPATH, cmMakefile::AddCacheDefinition does CollapseFullPath on the
"name" and ends up with something like "$PWD/name" which is unlikely to
be correct.  Furthermore, cmMakefile::AddCacheDefinition proceeds to
remove the normal variable of the same name, so the value originally
saved in CMake<LANG>Compiler.cmake is ignored and the generators use the
wrong path to the compiler.

Resolve this by dropping the code from ResolveLanguageCompiler that
touches the cache value of CMAKE_<LANG>_COMPILER.  As explained above it
is no longer needed anyway.
2014-07-24 13:31:14 -04:00
Bill Hoffman 0e88b1d6d9 Fix memory leak of local generator detected by LeakSanitizer. 2014-07-24 11:33:54 -04:00
Bill Hoffman 5d40d88e00 Handle more than one process with sanitizer errors.
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.
2014-07-24 11:25:59 -04:00
Kitware Robot afe21fc3c4 CMake Nightly Date Stamp 2014-07-24 00:01:10 -04:00
Brad King 09164c637b VS: Encode more content correctly in vcxproj files (#15031)
In cmVisualStudio10TargetGenerator, add missing cmVS10EscapeXML
calls around paths to source and object files, custom command
dependencies and outputs, and platform name/version values.
2014-07-23 15:14:47 -04:00
Brad King 29a0642ba7 VS: Encode mapped flag values in XML project files (#15031)
Teach cmVisualStudioGeneratorOptions to encode FlagMap entries
and the FlagString value properly in vcproj/vcxproj XML files.
Update the one existing call site that pre-encoded the value
to not do so.
2014-07-23 15:01:46 -04:00
Brad King 8fa087ab38 cmVisualStudioGeneratorOptions: Simplify XML escaping API
Accept arguments as std::string to avoid c_str() calls.
2014-07-23 14:56:51 -04:00
Brad King 1c209ac165 cmIDEOption: Store mapped flag values as a vector<string>
Some FlagMap entries are ;-lists.  Store values as vector<string> so
that individual values may contain ';' characters.  Delay the
construction of the final ;-list until writing to the VS project file.
With this approach the generated file may contain ;-separated values
that contain encoded ';' characters.
2014-07-23 14:18:53 -04:00
Brad King 91c933546d cmVisualStudio10TargetGenerator: Remove dupilcate line 2014-07-23 13:23:10 -04:00
Bill Hoffman 57a2df224a Fix memory leaks in extract tar. 2014-07-23 11:13:17 -04:00
Brad King fe4e6ed991 Merge topic 'refactor-makerule-path-conversion'
848fab95 cmGlobalVisualStudio7Generator: Remove unused variable
85cea8a7 cmDepends: Refactor object file path conversion
e7ee892b cmLocalGenerator: Fix AddBuildTargetRule object file path conversion
9f92a78b cmLocalGenerator: Rename 'MAKEFILE' to 'MAKERULE'
2014-07-23 09:44:35 -04:00
Brad King 91d21518ae Merge topic 'refactor-generator-startup'
f5c0efdb cmGlobalGenerator: Create a non-virtual 'DoGenerate' method
2014-07-23 09:44:34 -04:00
Kitware Robot 3e3ab2adb4 CMake Nightly Date Stamp 2014-07-23 00:01:09 -04:00
Brad King 848fab9575 cmGlobalVisualStudio7Generator: Remove unused variable 2014-07-22 15:24:57 -04:00
Brad King 85cea8a7af cmDepends: Refactor object file path conversion
Delay conversion of the path to object files (on the left-hand side
of dependencies) until just before they are written.  Also do not
convert the format of paths written to the 'depend.internal' file.
This is consistent with the way the right-hand side of dependencies
are already handled.
2014-07-22 15:24:57 -04:00
Brad King f5c0efdbe4 cmGlobalGenerator: Create a non-virtual 'DoGenerate' method
Make the virtual 'Generate' method protected.  Make 'DoGenerate'
the main entry point to generation.  This gives cmGlobalGenerator
a chance to do some early operations before the individual
generator-specific implementations take over.
2014-07-22 15:05:36 -04:00
Brad King e7ee892b39 cmLocalGenerator: Fix AddBuildTargetRule object file path conversion
The object file list is constructed for a shell, not a Makefile rule.
2014-07-22 12:38:08 -04:00
Brad King 9f92a78be2 cmLocalGenerator: Rename 'MAKEFILE' to 'MAKERULE'
Rename the internal enumeration value for converting paths destined
for use in Makefile rule syntax.
2014-07-22 12:27:57 -04:00
Kitware Robot 08bb09a944 CMake Nightly Date Stamp 2014-07-22 00:01:08 -04:00
Brad King 7b743a2e76 cmTarget: Avoid re-computing head-independent link interfaces 2014-07-21 13:04:04 -04:00
Brad King 807e4ffeef Genex: Track whether an expression depends on the 'head' target 2014-07-21 13:02:22 -04:00
Brad King 46099b82ed cmTarget: Move ComputeLinkImplementation* to internals
There are no external callers, and this will allow the methods to see
the full OptionalLinkImplementation internal structure.
2014-07-21 11:55:56 -04:00
Brad King 438d9c7c82 cmTarget: Re-order link interface map lookup logic
In GetLinkInterface, GetLinkInterfaceLibraries, and
GetImportLinkInterface, lookup the HeadToLinkInterfaceMap for the
current configuration first, and then index it by head target.  In
GetLinkImplementationLibrariesInternal, lookup the
HeadToLinkImplementationMap for the current configuration first, and
then index it by head target.
2014-07-21 11:43:30 -04:00
Brad King fe665fdda8 cmTarget: Refactor link interface map storage
Convert LinkInterfaceMapType and LinkImplMapType to nested maps that
index on configuration first and 'head' target second.
2014-07-21 11:26:10 -04:00
Brad King 9d13e1679f cmTarget: Remove duplicate link interface map
No target is both imported and not imported so we do not need separate
link interface maps for them.
2014-07-21 11:16:45 -04:00
Brad King 133cd996d1 cmTarget: Drop internal cache of build properties
These use a huge amount of memory that accumulates as generation
proceeds.  On the Unix Makefiles generator, only GetIncludeDirectories
and GetCompileDefinitions are even called more than once per target
(once for build files, once for dependency scanning preprocessor info).
Another approach will be needed to avoid duplicate computation in the
cases where it does occur.
2014-07-21 11:00:34 -04:00
Brad King a4d58722a4 cmTarget: Drop internal cache of link interface usage requirements
These use a huge amount of memory that accumulates as generation
proceeds.  On the Unix Makefiles generator, only GetIncludeDirectories
and GetCompileDefinitions are even called more than once per target
(once for build files, once for dependency scanning preprocessor info).
Another approach will be needed to avoid duplicate computation in the
cases where it does occur.
2014-07-21 11:00:33 -04:00
Brad King b86f0e445b Merge topic 'update-kwsys'
6f3e094e Merge branch 'upstream-kwsys' into update-kwsys
d4d1b7f7 KWSys 2014-07-18 (65b36ede)
2014-07-21 10:36:00 -04:00
Kitware Robot 8e018ae44e CMake Nightly Date Stamp 2014-07-21 00:01:11 -04:00
Kitware Robot 6ae98ee18f CMake Nightly Date Stamp 2014-07-20 00:01:10 -04:00
Kitware Robot 18a4310681 CMake Nightly Date Stamp 2014-07-19 00:01:07 -04:00
Brad King 36a8184d40 Merge topic 'dev/target-fastpaths'
a9c9b66c cmTarget: use a hash_map for cmTargets typedef
bcb6dbc1 cmTarget: help the optimizer a bit
679f3dee cmTarget: use hash_set for sets of strings
23d6520d cmTarget: Allow caching of empty genex expansions
cd54f1db cmTarget: Only copy GenEx expansions when necessary
b75fc0e1 cmTarget: Don't set properties on custom targets
66076915 cmTarget: Use static strings for special property names
cebefa71 cmTarget: Sort special property checks
97ce676e cmTarget: Fast path for regular properties
4cfa918a cmTarget: Factor out common code
85242b7d cmTarget: Use else/if trees rather than an if tree
2014-07-18 11:00:29 -04:00
Brad King e27b2c3fa5 Merge topic 'delay-generator-platform'
7a526c35 VS: Delay getting platform name in local generator
e7fdb44b VS: Delay detection of VS 10 Express 64-bit tools
6e176e6d VS: Delay platform definitions until system name is known
d3d9218a VS: Remove unused method from VS 9 generator
eeb60102 VS: Refactor CMAKE_FORCE_*64 platform definitions
ecb34faa Tell generators about CMAKE_SYSTEM_NAME as soon as it is known
2014-07-18 10:57:02 -04:00
Brad King 5a128c8ec9 Merge topic 'vs-MSTool-condition'
7a9909db VS: Make MS-tool-specific options conditional
2014-07-18 10:56:59 -04:00
Brad King 0aa7d9dc10 Merge topic 'encoding-ctest-fixes'
09b2ac38 Encoding:  Fix a few encoding problems with ctest.
2014-07-18 10:56:53 -04:00