Commit Graph

25019 Commits

Author SHA1 Message Date
Brad King 15fb102278 VS: Refactor handling of resx headers
Move generation of the ClInclude element to WriteHeaderSource.
2014-07-29 15:06:30 -04:00
Brad King c2ef6d238a VS: Refactor handling of "header" sources in VS >= 10
Create a WriteHeaderSource method to handle writing of sources
classified by cmGeneratorTarget as header files.  This will be
useful to add special VS-specific handling for some headers.
2014-07-29 15:06:28 -04:00
Brad King 2df389115e VS: Refactor handling of "extra" sources in VS >= 10
Create a WriteExtraSource method to handle writing of sources not
classified by cmGeneratorTarget for any particular purpose.  This
will be useful to add special VS-specific handling for some sources.
2014-07-29 15:06:26 -04:00
Brad King 143b40051a VS: Convert 'WriteSource' tool argument to std::string 2014-07-29 15:06:24 -04:00
Brad King 38065563b6 Merge topic 'vs10-system-hook'
e58f9753 VS: Add a hook to adapt to SystemName and SystemVersion
d0dd28fa VS: Save system name and version in global generator members
2014-07-29 08:52:24 -04:00
Brad King 104a4cb783 Merge topic 'vs10-comment-typo'
99e14a38 cmGlobalVisualStudio10Generator: Fix typo KHLM => HKLM
2014-07-29 08:52:23 -04:00
Brad King 8cd83e0b71 Merge topic 'windows-ce-cleanup'
7079f33d WindowsCE: Drop unused Platform/WindowsCE-MSVC module
05373f7e WindowsCE: Refactor setting of "WINCE"
1acde6b0 MSVC: Use STREQUAL to check for WindowsCE
2014-07-29 08:52:21 -04:00
Brad King b5728f555d Merge topic 'fix-qthelp-windows'
9e5e7e71 Help: Fix QtHelp commands on Windows
2014-07-29 08:52:19 -04:00
Brad King 05d064fec3 Merge topic 'xcode-6-librarian-flags'
608cf814 Xcode: Fix static library creation for Xcode 6 (#15038)
2014-07-29 08:52:17 -04:00
Brad King 99a9034759 Merge topic 'doc-tll-flags'
8c03f157 Help: Clarify target_link_libraries treatment of flags (#15034)
2014-07-29 08:52:15 -04:00
Brad King e8698861c6 Merge topic 'osx-no-sysroot-for-deployment'
5b4faeef OS X: Allow deployment target with "/" sysroot (#15040)
2014-07-29 08:52:13 -04:00
Brad King 35746899a3 Merge topic 'FindQt4-more-plugins'
4b5052b0 FindQt4: Add nativewifi and qtga plugins
2014-07-29 08:52:11 -04:00
Brad King 4d574ee3a1 Merge topic 'add-liblzma'
65a0ea45 Help: Add notes for topic 'add-liblzma'
8436d181 CMake: Enable use of liblzma in libarchive (#14504)
73eab246 liblzma: Avoid defining a 'restrict' macro
90e7a4d4 liblzma: Disable warnings to avoid changing 3rd party code
c20b4502 liblzma: Port to VS 6, 7.0
7a92eddb liblzma: Port from C99 to C89/90
b2a07ca4 liblzma: Add CMake build system
d44ad161 liblzma: Remove unused Makefile.* files
a53caea3 liblzma: Add README-CMake.txt
133d42fe Merge branch 'liblzma-upstream' into add-liblzma
c289e634 liblzma 5.0.5-gb69900ed (reduced)
8510533f liblzma: Add .gitattributes to ignore whitespace checks
2014-07-29 08:52:08 -04:00
Brad King 65a0ea456d Help: Add notes for topic 'add-liblzma' 2014-07-29 08:45:36 -04:00
Daniel Pfeifer 8436d18115 CMake: Enable use of liblzma in libarchive (#14504)
Build liblzma as part of CMake or find one on the system.  Modify our
port of libarchive to use the liblzma configured for use with CMake.
2014-07-29 08:45:36 -04:00
Brad King 73eab246fb liblzma: Avoid defining a 'restrict' macro
Any "#define restrict ..." line may conflict with MSVC header files
that use "__declspec(restrict)".  Define our own LZMA_RESTRICT macro
in "Utilities/cmliblzma/config.h.in" and transform liblzma code to
use it:

 git grep -lE '\<restrict\>' Utilities/cmliblzma/liblzma |
   xargs sed -i 's/\<restrict\>/LZMA_RESTRICT/g'
2014-07-29 08:45:36 -04:00
Brad King 90e7a4d41f liblzma: Disable warnings to avoid changing 3rd party code 2014-07-29 08:45:36 -04:00
Daniel Pfeifer c20b45027e liblzma: Port to VS 6, 7.0
Also remove use of MSVC intrinsic.
2014-07-29 08:45:36 -04:00
Daniel Pfeifer 7a92eddbcb liblzma: Port from C99 to C89/90
Remove use of designated initializers and declarations of variables
after statements.  Leave "//" comments as-is for now.
2014-07-29 08:44:36 -04:00
Kitware Robot b6acd96f7f CMake Nightly Date Stamp 2014-07-29 00:01:12 -04:00
Brad King e58f97531a VS: Add a hook to adapt to SystemName and SystemVersion
Add a virtual cmGlobalVisualStudio10Generator::InitializeSystem method
called from SetSystemName once the SystemName and SystemVersion members
have been populated.  This will give VS version-specific generators a
chance to recognize and adapt to the target system.
2014-07-28 16:26:00 -04:00
Brad King d0dd28fa92 VS: Save system name and version in global generator members
Add to cmGlobalVisualStudio10Generator members for SystemName and
SystemVersion and populate them in SetSystemName.
2014-07-28 16:25:08 -04:00
Gilles Khouzam 99e14a3865 cmGlobalVisualStudio10Generator: Fix typo KHLM => HKLM 2014-07-28 16:23:54 -04:00
Brad King 7079f33d6a WindowsCE: Drop unused Platform/WindowsCE-MSVC module
This module was created to mirror Platform/Windows-MSVC.cmake, but this
is not necessary because nothing includes "Platform/<os>-<id>.cmake"
directly.  The Platform/Windows-MSVC module is only a helper for the
Platform/Windows-MSVC-<lang> modules.
2014-07-28 16:21:50 -04:00
Brad King 05373f7ea7 WindowsCE: Refactor setting of "WINCE"
Move it to the Platform/Windows module since it is independent of the
compiler used.  While at it, remove redundant "WIN32" setting from
Platform/Windows-MSVC since Plaform/Windows already sets its.
2014-07-28 16:21:47 -04:00
Brad King 1acde6b003 MSVC: Use STREQUAL to check for WindowsCE
In the Platform/Windows-MSVC module it is not necessary to use MATCHES
because we are comparing against an exact string.
2014-07-28 16:21:45 -04:00
Nils Gladitz 9e5e7e71c5 Help: Fix QtHelp commands on Windows
Explicitly invoke python script through the interpreter since
windows does not act on hashbangs.
Use the found qcollectiongenerator executable rather than what
happens to be in PATH.
2014-07-28 21:07:53 +02:00
Brad King 608cf8149c Xcode: Fix static library creation for Xcode 6 (#15038)
Xcode 6 introduced an 'OTHER_LIBTOOLFLAGS' setting for the "Other
Librarian Flags" of a static library.  Now 'OTHER_LDFLAGS' are ignored.
Teach the Xcode generator to choose the correct name for the build
setting based on the type of target and the version of Xcode.

Inspired-by: Jamie Kirkpatrick <jkp@spotify.com>
2014-07-28 13:06:33 -04:00
Brad King 8c03f15776 Help: Clarify target_link_libraries treatment of flags (#15034)
Explain that link flags should not be used in transitive contexts.
2014-07-28 12:45:06 -04:00
Brad King f188845237 Merge branch 'release' 2014-07-28 10:46:18 -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 95c47f6d37 Merge topic 'FindImageMagick-arch-include-dir'
1342e022 FindImageMagick: Provide per-component include dirs (#15007)
6f5581c1 FindImageMagick: Find arch include dir (#15007)
2014-07-28 10:35:47 -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 b9be4d2177 Help: Add notes for topic 'cpack-ifw-generator' 2014-07-28 10:24:03 -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
Jeremy Huddleston 5b4faeefe3 OS X: Allow deployment target with "/" sysroot (#15040)
Allow the combination

 -DCMAKE_OSX_DEPLOYMENT_TARGET="10.8" -DCMAKE_OSX_SYSROOT="/"

to work.  Treat the "/" sysroot as targeting the current OS X version.
2014-07-28 09:52:21 -04:00
Mathieu MARACHE 4b5052b0cd FindQt4: Add nativewifi and qtga plugins
While at it, update QT_QTGUI_PLUGINS to use QT_IMAGEFORMATS_PLUGINS
instead of duplicating the list.
2014-07-28 09:39:23 -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 8981513a81 CMakeDetermineCompiler: Simplify CMAKE_<LANG>_COMPILER default force-cache
If find_program does not find CMAKE_<LANG>_COMPILER, use set_property()
to force the value to be that of CMAKE_<LANG>_COMPILER_INIT instead of
set().  This allows us to set the value without re-specifying the type
and documentation, thus preserving what find_program set.
2014-07-24 13:37: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