Commit Graph

5358 Commits

Author SHA1 Message Date
Stephen Kelly ded30405b2 Features: Don't record for AppleClang
Features are currently recorded accidentally for all versions of
AppleClang > 3.4 (I have no idea how that relates to upstream
Clang). Presumably that version has the features which are
accidentally recorded, but in the future features will be
recorded initially for only AppleClang >= 5.1, which would
appear as a feature regression.

Commit v3.1.0-rc1~635^2~11 (Don't load Clang-CXX from
AppleClang-CXX., 2013-11-11) ajusted the logic for the CXX
language.  Make a similar change for the C language.
2014-11-12 23:20:36 +01:00
Brad King 41b4fb997b Merge branch 'ExternalProject-check-hash-before-download' into release 2014-11-10 11:29:21 -05:00
Brad King ee7405a6db ExternalProject: Restore logic to not download already-existing file
The change in commit v3.1.0-rc1~85^2 (ExternalProject: Fix download
retry logic, 2014-09-13) dropped the file(DOWNLOAD) EXPECTED_HASH
argument.  This prevents file(DOWNLOAD) from skipping the download if
the output file already exists with the proper hash.  Restore this check
with explicit code in the download script.

Reported-by: Ruslan Baratov <ruslan_baratov@yahoo.com>
2014-11-10 11:26:52 -05:00
Brad King a970f7d478 Merge branch 'xcode-ios-compiler-id' into release 2014-11-07 16:48:38 -05:00
Brad King 7f89552a8f Xcode: Fix compiler path detection for iOS tools on Xcode <= 5.0 (#15237)
Since commit v3.1.0-rc1~1^2~1 (Xcode: Fix compiler id detection for iOS
tools, 2014-10-22) our compiler id detection project sets the product
type to 'com.apple.product-type.bundle.unit-test'.  This causes the Ld
command line on which we match the path to the compiler to have a
'CompilerIdC.xctest/' component.  The commit updated our regex to match
this, but placed it before the extra './' component that Xcode 5.0 and
below produce.  Xcode <= 5.0 prints '/./CompilerIdC.xctest/', so switch
the order of the two components in the regex to match it.
2014-11-07 16:29:51 -05:00
Brad King 06c3b7a822 Merge branch 'doc-cleanup-xrefs' into release 2014-11-07 11:45:27 -05:00
Brad King 4c8c442d7c Help: Fix broken cross-references reported by 'nitpicky' option
Enable the Sphinx 'nitpicky' option and fix the resulting warnings about
dangling references.
2014-11-07 11:41:21 -05:00
Brad King 3dfc856b79 Merge branch 'doc-formatting' into release 2014-11-07 11:02:45 -05:00
Brad King f0ca3ef0a3 Help: Wrap long lines in pre-formatted documentation blocks
Help format the blocks better for display without a wide screen.
2014-11-07 10:59:09 -05:00
Brad King b71399a189 Merge branch 'release-doc-formatting' into release 2014-11-07 10:20:58 -05:00
Brad King 20c5f4fbd9 Modules: Wrap long lines in pre-formatted documentation blocks
Help format the blocks better for display without a wide screen.
2014-11-06 14:52:26 -05:00
Brad King 6c4aa388a5 FindProtobuf: Cleanup reStructuredText documentation formatting
Fix the markup to make the documentation format properly.
2014-11-06 14:52:24 -05:00
Brad King 4cc2d9b3a6 Merge branch 'FindIce-no-envvar-markup' into release 2014-11-03 11:39:13 -05:00
Brad King 01fb3190f2 FindIce: Drop use of :envvar: Sphinx markup
We do not use it elsewhere yet, and do not want to index environment
variables inconsistently.
2014-11-03 10:53:47 -05:00
Brad King 1ee161cf26 Merge branch 'watcom-drop-symfile-option' into release 2014-11-03 09:36:25 -05:00
Brad King a72ff020db Merge branch 'fix-configure_file-COPYONLY' into release 2014-11-03 09:35:34 -05:00
J Decker 6b63942e45 Watcom: Drop symfile linker option
Cleanup of Windows-wcl386.cmake in commit v3.1.0-rc1~693^2 (Watcom:
Cleanup Windows-wcl386 configuration, 2014-04-01) also introduced use of
the 'symfile' link option but did not mention it in the commit message.

There is no way to set the symbol file name of a target, so it is better
to revert that change.  It is easy to run 'wstrip *' if the symbols need
to be stripped, but it is very difficult to get the right names for the
.sym files to install with debug/rel_with_deb_info configurations.
2014-11-03 08:46:48 -05:00
Brad King 4abbb1400d Qt4: Fix configure_file call to use COPYONLY, not COPY_ONLY 2014-10-31 13:20:19 -04:00
Brad King 1e48ea7ab8 Merge branch 'FindCurses-include-CheckLibraryExists' into release 2014-10-29 15:23:57 -04:00
Brad King f11f957949 FindCurses: Include CheckLibraryExists before using it (#15220)
Include the module at the top unconditionally so that all code paths can
use it.
2014-10-28 08:53:28 -04:00
Brad King 9c4551f274 Merge branch 'xcode-ios-compiler-id' into release 2014-10-22 16:49:14 -04:00
Brad King 7d8879bb8d Merge branch 'doc-line-lengths' into release 2014-10-22 16:49:09 -04:00
Brad King 58b2d760ee Modules: Format documentation to avoid over-long preformatted lines
Convert several preformatted code block literals that enumerate lists of
options or variables to use reST definition lists instead.  Manually
wrap other long lines in code blocks.
2014-10-22 15:52:31 -04:00
Brad King f18dbfee5c Merge branch 'FindHg-no-cygwin-hg-on-windows' into release 2014-10-22 13:39:33 -04:00
Brad King dae2bddf5a Merge branch 'cuda-rpath-osx' into release 2014-10-22 13:39:27 -04:00
Brad King 7303a96776 Merge branch 'fix-OSX-bundle-rpaths-and-Qt5' into release 2014-10-22 13:39:22 -04:00
Brad King ed997de4f2 FindHg: Do not use cygwin hg on Windows
The cygwin hg client is a text file with a '#!/bin/python" line.
This cannot run on Windows.
2014-10-22 10:52:08 -04:00
Clinton Stimpson 59814cb430 FindCUDA: Remove rpath logic outdated by CMake's own @rpath support
Otherwise binaries end up with two copies of the same value and the OS X
install_name_tool may corrupt them.
2014-10-22 10:50:15 -04:00
Brad King b91020f659 Xcode: Fix compiler id detection when code signing is required
The iOS product type 'com.apple.package-type.bundle.unit-test' requires
code signing on Xcode 6.  Other iOS target types do too.  Until CMake
learns to add the CODE_SIGN_IDENTITY build attribute itself, toolchain
files can set CMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY to tell the Xcode
generator to add the attribute.  Teach CMakeDetermineCompilerId to
recognize this variable and add the CODE_SIGN_IDENTITY build attribute
to the compiler id project.
2014-10-22 10:16:07 -04:00
Brad King c48f6e1229 Xcode: Fix compiler id detection for iOS tools (#15214)
Since commit 0cce556b (Xcode: Use sysroot and deployment target to
identify compiler, 2014-04-29) our compiler id detection project uses
the target platform SDK in case Xcode selects a different compiler based
on it.  Now the compiler id project actually compiles with the target
compiler and SDK when cross-compiling.

The iOS tools do not support the 'com.apple.product-type.tool' product
type we use in our compiler id detection project.  When targeting
iPhone, use product type 'com.apple.product-type.bundle.unit-test'
instead.
2014-10-22 10:16:07 -04:00
Adam Strzelecki 41564ff289 BundleUtilities: Ensure framework symlinks and Info.plist exist
This restores Qt SDK 4.8 and OS X >= 10.6.5 codesign compatibility
improving embedding frameworks using correct bundle layout described at:

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

1. If Versions/VERSION/Resources/Info.plist is missing, well known
   incorrect locations are checked for Info.plist and Info.plist is
   copied from there, otherwise codesign will fail.

2. Root framework symlinks to binary and Resources are restored to
   point inside Versions/Current, otherwise Qt 4.8 looking for
   Resources/ in framework root will fail.
2014-10-21 11:42:30 -04:00
Peter Wu 384d3ce720 CheckStructHasMember: avoid breakage on -Wall -Werror (#15203)
With CMAKE_C_FLAGS='-Wall -Werror', this test breaks due to
-Werror=unused-value. Fix this by ignoring the return value.
2014-10-13 07:57:05 -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
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
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
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 26a8b64f7d Merge topic 'FindLATEX-cross-compile-ps2pdf14'
63262434 FindLATEX: Search for ps2pdf14 even on Windows (#15198)
2014-10-08 10:48:10 -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 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 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 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
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
Brad King e0fef85c7a Merge topic 'FindThreads-macro'
94a061d3 FindThreads: use a macro for the repetitive thread library checks
2014-10-06 09:41:16 -04:00