Commit Graph

24635 Commits

Author SHA1 Message Date
Brad King 4777e82a0a Merge topic 'dev/refactor-source-depends-in-ninja'
2583eff6 ninja: Factor out custom command order-only depends
18e478a8 ninja: Factor out target-level order-only dependencies
6fa6bedf LocalGenerator: Add a string overload for AppendFlags
01b79c63 ninja: Don't use a stringstream to build an argument list
3c640891 ninja: Use string parameters
2014-05-07 15:04:49 -04:00
Brad King 74dc1a0be6 Merge branch 'desktop-icon' into release 2014-05-07 15:04:15 -04:00
Johannes Huber 0c4c29edf2 cmake-gui: Fix desktop file icon configuration
Drop the icon file extension.  This fixes the desktop file validation
message:

 "CMakeSetup32.png" for key "Icon" in group "Desktop Entry" is an icon
 name with an extension, but there should be no extension as described in
 the Icon Theme Specification if the value is not an absolute path

Applied-by: Rolf Eike Beer <eike@sf-mail.de>
2014-05-07 15:03:05 -04:00
Ben Boeckel 2583eff6fe ninja: Factor out custom command order-only depends
This makes WebKitGTK's CMake build.ninja file go from 165M to 11M and
configure/generate in 5 seconds.
2014-05-07 14:30:31 -04:00
Ben Boeckel 18e478a860 ninja: Factor out target-level order-only dependencies
This reduces ninja file output even more for projects with lots of
libraries with entangled transitive dependencies. ParaView goes from the
previous 58M to about 45M.
2014-05-07 14:30:31 -04:00
Ben Boeckel 6fa6bedf78 LocalGenerator: Add a string overload for AppendFlags 2014-05-07 14:30:31 -04:00
Brad King 2673b9394e Merge branch 'ctest-bad-generator' into release 2014-05-07 11:14:04 -04:00
Brad King 5411128645 ctest_build: Do not crash on bad generator name
If creation of the global generator fails, return early with an error
message instead of trying to use the generator and crashing.

Add a CTestTestBadGenerator test to cover this case.

Reported-by: Mathieu Malaterre <malat@debian.org>
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=747306
2014-05-07 11:02:16 -04:00
Stephen Kelly 4779542157 Fix whitespace in docs. 2014-05-07 16:31:16 +02:00
Brad King ff95e44264 Merge topic 'compiler-id-comment'
c7ddd409 Project: Clarify comment about platform-native compilers.
2014-05-07 09:23:59 -04:00
Brad King 295cf31ca6 Merge topic 'no-assert-missing-objlib'
d648c476 cmTarget: Don't assert on object libraries for configure-time location.
2014-05-07 09:18:35 -04:00
Brad King 080a80457b Merge branch 'release' 2014-05-07 09:17:27 -04:00
Brad King 7690af7354 Merge topic 'backport-kwsys-compile-fix'
8c5b9cf9 KWSys SystemInformation: Include backtrace APIs whenever we use them
2014-05-07 09:15:13 -04:00
Brad King 2e095099ec Merge topic 'osx-iframework'
1bed75a5 OS X: Use -iframework for system framework directories
2014-05-07 09:13:37 -04:00
Brad King 3e2e15eead Merge topic 'xcode-sdkroot'
5dfe9b7d Xcode: Find fallback SDK if one matching the OS version doesn't exist.
2014-05-07 09:13:35 -04:00
Brad King 623fcc2972 Merge topic 'InstallRequiredSystemLibraries-vs12-mfc'
c0a6646d InstallRequiredSystemLibraries: MBCS MFC is optional on VS 12 (#14903)
2014-05-07 09:13:32 -04:00
Brad King b4479ec0b9 Merge topic 'ExternalProject_labels'
93730bb3 ExternalProject: Set FOLDER property to targets
39ef8046 ExternalProject: Set LABELS property to targets
2014-05-07 09:13:30 -04:00
Brad King 139b86b7ed Merge topic 'update-kwsys'
edad0369 Merge branch 'upstream-kwsys' into update-kwsys
397bccba KWSys 2014-05-05 (f3a36760)
2014-05-07 09:13:28 -04:00
Mikołaj Siedlarek 1bed75a590 OS X: Use -iframework for system framework directories
Just like -I flag has its -isystem counterpart which marks an include
directory as a system directory and prevents unwanted warnings, on Apple
systems there is -iframework -- a system directory replacement for -F.
Use this flag to implement include_directories(SYSTEM) for frameworks.
2014-05-07 09:04:48 -04:00
Stephen Kelly 3b59f8b7c6 Project: Refactor C compiler determination into multiple files. 2014-05-07 14:28:36 +02:00
Stephen Kelly 8896501b23 CompilerId: Allow specifying a prefix for preprocessor defines. 2014-05-07 14:00:01 +02:00
Stephen Kelly 23f451bb33 CompilerId: Guard the platform-default compiler code with a parameter. 2014-05-07 14:00:00 +02:00
Stephen Kelly 30a99f5c06 CompilerId: Add option to generate compiler-id-specific defines. 2014-05-07 14:00:00 +02:00
Stephen Kelly 36ed589484 CompilerId: Allow specifying the compiler-specific components to generate. 2014-05-07 14:00:00 +02:00
Stephen Kelly 9a083bce83 Project: Split the compiler id detection into a separate function.
This can be extended with parameters to control the output and re-used
in other contexts.
2014-05-07 14:00:00 +02:00
Stephen Kelly 9d285600d4 Project: Generate the CXX compiler Id test from multiple files.
This will allow sharing of the logic of the order to test compilers in
and the preprocessor macros used to do that and to determine the
version components.
2014-05-07 14:00:00 +02:00
Stephen Kelly c7ddd409fd Project: Clarify comment about platform-native compilers. 2014-05-07 12:48:11 +02:00
Stephen Kelly aa283b6b01 Features: Fix test for GNU 4.8.1. 2014-05-07 12:40:42 +02:00
Stephen Kelly bbfd4cd48f Features: Include the language of the compiler in error messages. 2014-05-07 12:36:22 +02:00
Stephen Kelly 205215fb8a cmTarget: Add CXX_STANDARD_REQUIRED to control decay. 2014-05-07 12:17:49 +02:00
Stephen Kelly 1df2116bfa Features: Decay language flag if requested is not available.
Use the highest standard compile flags available if requested language
version is too new.

This supports use-cases like

 set(CMAKE_CXX_STANDARD 14)

 # Compiled with -std=c++11 with GNU 4.7, which has no -std=c++14
 # or equivalent flag
 add_executable(main main.cpp)

This can be used in combination with preprocessor defines which
communicate the availability of certain language features for
optional use.
2014-05-07 12:17:49 +02:00
Stephen Kelly c4f4dac2d5 Project: Fix exit-on-error with compile feature tests. 2014-05-07 12:16:14 +02:00
Stephen Kelly 5bb7ce724c Project: Use nullary form of main for compile feature tests. 2014-05-07 12:16:13 +02:00
Stephen Kelly 64254e7a74 Project: Remove extern from static string in feature tests. 2014-05-07 12:16:13 +02:00
Stephen Kelly 0d9c99bf04 Help: Fix order of help entries. 2014-05-07 12:16:11 +02:00
Stephen Kelly dc7639bdab Tests: Fix name of cache variable. 2014-05-07 12:15:39 +02:00
Kitware Robot c010e7cc80 CMake Nightly Date Stamp 2014-05-07 00:01:08 -04:00
Brad King d9889e002d Merge branch 'ncurses-tinfo' into release 2014-05-06 15:33:20 -04:00
Mark Wright 1f646c6ce0 FindCurses: Detect and satisfy ncurses dependency on tinfo
When ncurses is built with USE=tinfo we need to find "tinfo" as a
dependency of the main library.  Otherwise 'cbreak' is missing:

  ld: ...: undefined reference to symbol 'cbreak'
  ld: note: 'cbreak' is defined in DSO /lib/libtinfo.so.5 so try adding
            it to the linker command line

See https://bugs.gentoo.org/show_bug.cgi?id=468622 for more information.

Applied-by: Rolf Eike Beer <eike@sf-mail.de>
2014-05-06 15:29:33 -04:00
Mark Wright 0e4a2c7e32 FindCurses: Honor CURSES_NEED_NCURSES when curses is found
Take our CURSES_USE_NCURSES code path when CURSES_NEED_NCURSES is
enabled even if CURSES_CURSES_LIBRARY also happens to be found.

Applied-by: Rolf Eike Beer <eike@sf-mail.de>
2014-05-06 15:29:14 -04:00
Stephen Kelly d648c4766f cmTarget: Don't assert on object libraries for configure-time location.
Commit b8af2011 (cmTarget: Fix listing of source files at
configure-time., 2014-04-13) refactored a GetObjectLibrariesCMP0026
method out of GetLanguages.  In flight, a conditional use of a target
if available was changed to an assert-available.

This code is only used to read the LOCATION property at configure
time, when the link information is incomplete, and not all targets
are defined, so the assert is inappropriate, even though it can lead
to incorrect information being generated.  CMP0026 warns about the
potentially incorrect information anyway.
2014-05-06 21:07:40 +02:00
Brad King 8e767a27d2 Merge topic 'CMAKE_CXX_KNOWN_FEATURES-global-property'
3fdfa5d3 Features: Make CMAKE_CXX_KNOWN_FEATURES a property.
2014-05-06 13:48:42 -04:00
Brad King 58557486db Merge topic 'dont-rewrite-moc-parameter-file'
17c31b8b Qt4: Extend the Qt4Targets test to cover dir and target moc parameters.
6a5bd7f0 Qt4: write moc parameter file only when content has changed
2014-05-06 13:48:40 -04:00
Brad King 4345cf36ac Merge topic 'hpux-compile'
500d83ba CompileFlags: add better selection which aCC version gets -AA +hpxstd98 flags
f347fd12 CompileFlags: Add -AA +hpxstd98 on HP-UX 11.11 with aCC
4ca9b008 CompileFlags: Test for C++ features after selecting flags
2014-05-06 13:48:37 -04:00
Stephen Kelly 17c31b8bd4 Qt4: Extend the Qt4Targets test to cover dir and target moc parameters. 2014-05-06 13:39:45 -04:00
Brad King 9cb4677509 Merge branch 'hpux-compile' into release 2014-05-06 13:29:05 -04:00
Rolf Eike Beer 500d83ba8c CompileFlags: add better selection which aCC version gets -AA +hpxstd98 flags 2014-05-06 13:25:01 -04:00
Rolf Eike Beer f347fd12f3 CompileFlags: Add -AA +hpxstd98 on HP-UX 11.11 with aCC
These flags are needed to enable support for C++98.  Also teach the
'bootstrap' script to add them if necessary.
2014-05-06 13:23:58 -04:00
Rolf Eike Beer 4ca9b0086f CompileFlags: Test for C++ features after selecting flags
Some flags we select may affect availability of C++ features.
2014-05-06 13:23:51 -04:00
Clinton Stimpson 5dfe9b7d5a Xcode: Find fallback SDK if one matching the OS version doesn't exist.
For example if one installs Xcode 4.6 on OS X 10.9, it doesn't contain
a 10.9 SDK, so fallback to the next newest version which, in this case,
happens to be a 10.8 SDK.

This fixes bug #14572.
2014-05-06 09:18:00 -06:00