Commit Graph

25555 Commits

Author SHA1 Message Date
Kitware Robot 54ff77dc62 CMake Nightly Date Stamp 2014-10-14 00:01:08 -04:00
Brad King 4d23b600e0 Merge topic 'doc-3.1-relnotes'
856ee6be Help: Organize 3.1 release notes
52842820 Help: Consolidate 3.1 release notes
2014-10-13 08:21:07 -04:00
Brad King cea13d5536 Merge topic 'fix-ninja-rc-include-flags'
f4c5eade Ninja: Fix RC include directories regression
2014-10-13 08:21:04 -04:00
Brad King f4c5eade78 Ninja: Fix RC include directories regression
Changes in commit b9aa5041 (cmLocalGenerator: Simplify GetIncludeFlags
output formatting, 2014-03-04) caused Windows Resource Compiler include
directories to be computed as relative paths in the Ninja generator.
This breaks the cmcldeps handling of include paths.  The reason for the
regression is that several cmLocalGenerator::GetIncludeFlags callers
treated the fourth "bool forResponseFile" argument as if it controlled
whether include directories were a full path.  It actually did control
that by accident until the above commit.

Add an explicit "bool forceFullPaths" argument to GetIncludeFlags
and thread the value through ConvertToIncludeReference as needed.
Update GetIncludeFlags call sites that really wanted to control the
forResponseFile setting to be aware of the new argument.  Extend the
VSResource test to cover this case.
2014-10-13 08:20:05 -04:00
Kitware Robot c11a342e65 CMake Nightly Date Stamp 2014-10-13 00:01:07 -04:00
Kitware Robot 96579778d1 CMake Nightly Date Stamp 2014-10-12 00:01:07 -04:00
Kitware Robot 8189d53127 CMake Nightly Date Stamp 2014-10-11 00:01:15 -04:00
Brad King 856ee6be66 Help: Organize 3.1 release notes
Add section headers similar to the 3.0 release notes and move each
individual bullet into an appropriate section.  Highlight the new VS
generator capabilities for Windows Phone, Windows Store, and NVIDIA
Nsight Tegra with dedicated subsections.
2014-10-10 15:55:25 -04:00
Brad King 5284282023 Help: Consolidate 3.1 release notes
Move all development release notes into a new version-specific document:

 tail -q -n +3 Help/release/dev/* > Help/release/3.1.0.rst
 git rm -- Help/release/dev/*

except the sample topic:

 git checkout HEAD -- Help/release/dev/0-sample-topic.rst

Reference the new document from the release notes index document.
Add a title and intro sentence to the new document by hand.
2014-10-10 15:15:51 -04:00
Brad King a7b9b571b3 Merge topic 'note-link-libraries-genex'
8bd81981 Help: Add note about restoring pre-3.0 link libraries genex behavior
2014-10-10 15:09:06 -04:00
Brad King 26bffa6e74 Merge topic 'fix-OSX-bundle-rpaths-and-Qt5'
631fadea Help: Add notes for topic 'fix-OSX-bundle-rpaths-and-Qt5'
50e261dd OSX: Warn when attempting to change runtime paths on OS X 10.5
9b98fd52 cmake-gui: Make sure we bundle Qt5 Cocoa platform plugin
83a06bb4 BundleUtilities: Framework codesign Resources/Info.plist & Current
f7df82ac BundleUtilities: Resolve & replace @rpath placeholders
14bc686f GetPrerequisites: Make sure dyld placeholders are prefixes
6c313797 BundleUtilities: Use find on UNIX for fast executable lookup
2014-10-10 10:55:44 -04:00
Brad King 8bd81981ad Help: Add note about restoring pre-3.0 link libraries genex behavior 2014-10-10 10:48:05 -04:00
Brad King 631fadeae9 Help: Add notes for topic 'fix-OSX-bundle-rpaths-and-Qt5' 2014-10-10 10:23:52 -04:00
Clinton Stimpson 50e261ddb6 OSX: Warn when attempting to change runtime paths on OS X 10.5
Even though 10.5 supports @rpath, the support is not complete
enough for CMake.  For instance, install_name_tool doesn't support
adding and removing rpaths.

Also modifying BundleUtilities test to remove an undesirable cmake
generated runtime path.  The intent was to build with the install
rpath as is done with the other cases in this test.
2014-10-10 10:17:27 -04:00
Adam Strzelecki 9b98fd528d cmake-gui: Make sure we bundle Qt5 Cocoa platform plugin
Otherwise CMake.app bundle will not run when using Qt5.
2014-10-10 10:17:18 -04:00
Adam Strzelecki 83a06bb4ab BundleUtilities: Framework codesign Resources/Info.plist & Current
We need to ensure copied framework has proper layout with Resources/Info.plist
present next to versioned binary and Current symlink in Versions:

https://developer.apple.com/library/mac/technotes/tn2206

https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/FrameworkAnatomy.html

If Resources/ is not present we may try to copy Contents/Info.plist if present
to embedded Resources/Info.plist. This is a case of Qt5 that has
obsolete/invalid framework layout (see QTBUG-38511).
2014-10-10 10:17:04 -04:00
Adam Strzelecki f7df82acaa BundleUtilities: Resolve & replace @rpath placeholders
This is done by gathering LC_RPATH commands for main bundle executable and
using it for @rpath lookup in dependent frameworks.

All functions that need to carry rpaths to now take optional <rpaths> argument.

This enabled apps using @rpath to be bundled correctly, which will be necessary
for upcoming Qt 5.4 that will use @rpath for all frameworks.

Check that install_name_tool has -delete_rpath before using it.
Otherwise it will fail with Xcode 3.x on 10.5 which has no -delete_rpath
option for install_name_tool command, that was first introduced in 10.6
SDK, even that 10.5 supports LC_RPATH and @rpath.
2014-10-10 10:16:24 -04:00
Adam Strzelecki 14bc686fff GetPrerequisites: Make sure dyld placeholders are prefixes
Mac OS X dyld placeholders should be always prefixes, otherwise this can lead
to some undefined behavior.
2014-10-10 10:16:15 -04:00
Adam Strzelecki 6c31379741 BundleUtilities: Use find on UNIX for fast executable lookup
It makes whole executable process quicker on UNIX, especially for large bundles
containing many files, since using find narrows results to only files having
executable flags then all further tests follow.

Since find ... -perm +0111 is not clearly POSIX compliant and some Linux
versions refuse it, it is better to use longer but portable:

   find ... -perm \( -perm -0100 -o -perm -0010 -o -perm -0001 \)
2014-10-10 10:15:56 -04:00
Kitware Robot 5ab9aa62fe CMake Nightly Date Stamp 2014-10-10 00:01:09 -04:00
Brad King c0a4f59160 Merge topic 'FindThreads_overhaul'
b7e5c5a2 FindThreads: introduce THREADS_PREFER_PTHREAD_FLAG (#14767)
bcb0e387 FindThreads: introduce an imported target to link to
46368edd FindThreads: move checking of the -pthread compiler flag into a macro
2014-10-09 16:12:06 -04:00
Brad King 6b135a6c29 Merge topic 'doc-drop-dart'
b8aa0cdf Help: Replace 'Dart' with 'CDash' in ctest.1 manual
2014-10-09 16:12:04 -04:00
Brad King 4c02746372 Merge topic 'ninja-phony-rules-only-in-build-tree'
de8e534b Ninja: Limit custom command side-effects to build folder
2014-10-09 16:12:01 -04:00
Kitware Robot a358448d3e CMake Nightly Date Stamp 2014-10-09 00:01:08 -04:00
Rolf Eike Beer b7e5c5a23a FindThreads: introduce THREADS_PREFER_PTHREAD_FLAG (#14767) 2014-10-08 17:57:34 +02:00
Timo Rothenpieler bcb0e3872b FindThreads: introduce an imported target to link to
This not only holds the library, but can also hold compiler flags needed, e.g.
the -pthread flag preferred by gcc on some platforms. There was no clean way
to get that compiler flag from the module until now.
2014-10-08 17:57:34 +02:00
Brad King b3cbb9e188 Merge topic 'FPHSA_exact_version'
ba907f7d FPHSA: fix when requested or found version is exactly 0
4f9bf446 FPHSA: when EXACT version match is requested only compare the components given
2014-10-08 10:48:14 -04:00
Brad King ec941fc04b Merge topic 'ctest-memcheck-sanitizers'
e0e75a72 Help: Add notes for topic 'ctest-memcheck-sanitizers'
7345a1f7 tests: Add a test for ctest_memcheck MemorySanitizer
0c6330da ctest_memcheck: Add support for MemorySanitizer msan
9ba8bf12 tests: add a test for ctest_memcheck UndefinedBehaviorSanitizer
816c100a ctest_memcheck: Add support for UndefinedBehaviorSanitizer ubsan
b67ef537 ctest_memcheck: Order sanitizer type code consistently
f48a2968 Tests: Organize CTestTestMemcheck inner test code
2014-10-08 10:48:12 -04:00
Brad King 26a8b64f7d Merge topic 'FindLATEX-cross-compile-ps2pdf14'
63262434 FindLATEX: Search for ps2pdf14 even on Windows (#15198)
2014-10-08 10:48:10 -04:00
Brad King b8aa0cdf9b Help: Replace 'Dart' with 'CDash' in ctest.1 manual
The modern dashboard server is CDash, not Dart, so update the manual
to talk about CTest as a CDash client.  Also drop documentation for
a Dart2-specific option.
2014-10-08 09:58:30 -04:00
Brad King de8e534b41 Ninja: Limit custom command side-effects to build folder
Revert commit 7243c951 (Ninja: Don't limit custom cmd side-effects to
build folder, 2014-06-27) because it causes every custom command
dependency in the source tree to get a phony rule.  For large projects
these rules get too big for Ninja to handle efficiently.  While the
original change addressed a valid concern, it did not seem to occur
regularly in practice because well-behaved projects generate their
side-effects only in the build tree.  Until we support explicit
specification of side-effects (CMake issue #14963), we will have to use
this as a middle-ground.
2014-10-08 08:50:15 -04:00
Kitware Robot 734580a8db CMake Nightly Date Stamp 2014-10-08 00:01:08 -04:00
Rolf Eike Beer ba907f7dc2 FPHSA: fix when requested or found version is exactly 0
Until now it was checked with "if(VAR)", which will be false in case "0" is the
content of the variable.
2014-10-07 23:14:46 +02:00
Rolf Eike Beer 4f9bf4468b FPHSA: when EXACT version match is requested only compare the components given
Given that you have a foobar that identifies itself as 1.2.3 from now on a

  find_package(foobar 1.2 EXACT)

will succeed, as 1.2.3 will now be considered as being 1.2. Until now this was
only the case for version 1.2.0.
2014-10-07 23:14:45 +02:00
Brad King e0e75a7201 Help: Add notes for topic 'ctest-memcheck-sanitizers'
Consolidate earlier sanitizer notes.
2014-10-07 15:27:34 -04:00
Bill Hoffman 7345a1f71d tests: Add a test for ctest_memcheck MemorySanitizer 2014-10-07 15:27:34 -04:00
Bill Hoffman 0c6330da38 ctest_memcheck: Add support for MemorySanitizer msan 2014-10-07 15:27:34 -04:00
Ben Boeckel 9ba8bf123c tests: add a test for ctest_memcheck UndefinedBehaviorSanitizer 2014-10-07 15:27:34 -04:00
Ben Boeckel 816c100ae2 ctest_memcheck: Add support for UndefinedBehaviorSanitizer ubsan
UBSan instruments a build and logs messages on any undefined behavior
instances.
2014-10-07 15:27:34 -04:00
Brad King b67ef537d4 ctest_memcheck: Order sanitizer type code consistently
Use alphabetic order everywhere we enumerate the sanitizer types.
2014-10-07 15:27:33 -04:00
Brad King f48a2968aa Tests: Organize CTestTestMemcheck inner test code
Update some whitespace and add comment dividers.
2014-10-07 15:27:33 -04:00
Brad King fa56eb56b9 Merge topic 'ctest-memcheck-sanitizers'
f25e431d tests: set sanitizer options properly
f0661bf3 tests: fix copy/paste from tsan -> asan comments
ca9cc25c ctest: add support for additional sanitizer options
0b9ffffc ctest: update documentation for CTEST_MEMORYCHECK_TYPE
2014-10-07 14:45:26 -04:00
Brad King 36c7f66206 Merge topic 'fix-ninja-rsp-var-duplication'
71da30ca Ninja: Fix variable duplication in RSP rules
2014-10-07 14:12:20 -04:00
Brad King 68abbdbd8a Merge topic 'FindBoost-CMP0054'
c9300464 FindBoost: Avoid if() quoted auto-dereference
2014-10-07 14:12:18 -04:00
Brad King 1ed0379f79 Merge topic 'cpack-ifw-updates'
ed9684a2 CPackIFW: Added support for multiple repositories
f9f74874 CPackIFW: Search algorithm update
2014-10-07 14:12:16 -04:00
Brad King a7a80da0a0 Merge topic 'encoding-fstream'
42e39bb3 Fix a few more places to use cmsys::[io]fstream instead of std::fstream.
2014-10-07 14:12:14 -04:00
Brad King 63262434bf FindLATEX: Search for ps2pdf14 even on Windows (#15198)
When cross-compiling from Linux to Windows the tool on the host
does not have a .bat extension.
2014-10-07 09:41:52 -04:00
Kitware Robot b8f194732f CMake Nightly Date Stamp 2014-10-07 00:01:08 -04:00
Nils Gladitz 71da30cae0 Ninja: Fix variable duplication in RSP rules
Stream clear() resets stream state but does not actually clear its content.
2014-10-06 22:29:09 +02:00
Rolf Eike Beer 46368eddfd FindThreads: move checking of the -pthread compiler flag into a macro
This allows a following commit to introduce a switch to prefer that check over
searching for the explicit library names without breaking backward
compatibility.
2014-10-06 21:30:09 +02:00