16226 Commits

Author SHA1 Message Date
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
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
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
2e095099ec Merge topic 'osx-iframework'
1bed75a5 OS X: Use -iframework for system framework directories
2014-05-07 09:13:37 -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
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
Kitware Robot
c010e7cc80 CMake Nightly Date Stamp 2014-05-07 00:01:08 -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
8c5b9cf915 KWSys SystemInformation: Include backtrace APIs whenever we use them
Include execinfo.h, cxxabi.h, and dlfcn.h under the same conditions
under which we use the APIs from them.  Move their inclusion out of
OS-specific blocks.
2014-05-06 10:05:01 -04:00
Brad King
edad036971 Merge branch 'upstream-kwsys' into update-kwsys 2014-05-06 08:46:59 -04:00
Kitware Robot
f410c03142 CMake Nightly Date Stamp 2014-05-06 00:01:08 -04:00
Kitware Robot
1aed32faae CMake Nightly Date Stamp 2014-05-05 00:01:06 -04:00
Kitware Robot
f16fdc0263 CMake Nightly Date Stamp 2014-05-04 00:01:09 -04:00
Kitware Robot
33696e8331 CMake Nightly Date Stamp 2014-05-03 00:01:07 -04:00
Ben Boeckel
01b79c6385 ninja: Don't use a stringstream to build an argument list
Streams are expensive to construct (looks like some locale-related
stuff), so use strings instead.
2014-05-02 13:22:19 -04:00
Ben Boeckel
3c64089117 ninja: Use string parameters 2014-05-02 13:05:44 -04:00
Stephen Kelly
3fdfa5d3fc Features: Make CMAKE_CXX_KNOWN_FEATURES a property.
As a 'built-in' variable it imposes a cost on all variable lookups
and it is expected to be rarely used.
2014-05-02 10:18:16 +02:00
Kitware Robot
2615185418 CMake Nightly Date Stamp 2014-05-02 00:01:07 -04:00
Brad King
ecdc1985e3 Merge topic 'file-generate-if-different'
42e1cd13 file(GENERATE): Only write the file if content is different.
2014-05-01 09:11:23 -04:00
Kitware Robot
849d869223 CMake Nightly Date Stamp 2014-05-01 00:01:12 -04:00
Brad King
d41adb440f Merge topic 'osx-init-early'
bbc358c3 Merge branch 'master' into osx-init-early
0cce556b Xcode: Use sysroot and deployment target to identify compiler
0200d0a9 OS X: Factor a Darwin-Initialize module out of Platform/Darwin
416761e3 Add platform-specific initialization step when enabling languages
2014-04-30 09:42:02 -04:00
Brad King
8535d4cf5d Merge topic 'cxx98-features'
a36b957f Features: Add cxx_template_template_parameters.
2014-04-30 09:42:00 -04:00
Stephen Kelly
42e1cd137c file(GENERATE): Only write the file if content is different.
No policy is used to control this behavior for now.
2014-04-30 15:18:13 +02:00
Kitware Robot
b0e955f129 CMake Nightly Date Stamp 2014-04-30 00:01:07 -04:00
Ben Boeckel
3f51752264 StoreMatches: Minor cleanups 2014-04-29 16:00:06 -04:00
Ben Boeckel
ef62fbad55 ClearMatches: Store match variable names statically
Constructing the names and then turning them into a std::string is
non-negligible in performance testing.
2014-04-29 16:00:05 -04:00
Ben Boeckel
f718b30a95 ClearMatches: Only clear matches which were actually set
ClearMatches was clearing many variables which were never set in the
first place. Instead, store how many matches were made last time and
only clear those. It is moved to the cmMakefile class since it is a
common utility used by multiple commands.
2014-04-29 16:00:05 -04:00
Brad King
1b5fac4695 Merge topic 'doc-full-help'
478356e6 Restore --help-full option to output all help manuals
2014-04-29 09:58:46 -04:00
Brad King
bbc358c3fc Merge branch 'master' into osx-init-early
Resolve conflict in Source/cmGlobalGenerator.cxx by integrating
changes from both sides.
2014-04-29 09:36:55 -04:00
Brad King
416761e35c Add platform-specific initialization step when enabling languages
Create a Modules/CMakeSystemSpecificInitialize.cmake module loaded after
CMakeSystem.cmake but before per-language initialization.  Use it to
load an optional Platform/<os>-Initialize.cmake module.  This will be
useful to do per-platform initialization that does not depend on the
language and use the results when enabling specific languages.
2014-04-29 09:36:14 -04:00
Kitware Robot
c51d07d439 CMake Nightly Date Stamp 2014-04-29 00:01:08 -04:00
Ben Boeckel
77b3796581 cmSourceFile: Take a string 2014-04-28 21:43:40 -04:00
Ben Boeckel
7b8a990424 perf: Cache the language property string 2014-04-28 21:43:39 -04:00
Ben Boeckel
10baf00f3d cmSourceFile: Cache the isUiFile check
The filename extension call is expensive, so cache the .ui check.
2014-04-28 21:43:39 -04:00
Ben Boeckel
14e7a8ae1c cmSourceFileLocation: Return a string reference 2014-04-28 21:43:27 -04:00
Ben Boeckel
b4cb543e0c cmSourceFileLocation: Save some string copies 2014-04-28 21:43:27 -04:00
Ben Boeckel
e8e1f3a19f cmSourceFileLocation: Simplify logic in Matches 2014-04-28 21:43:26 -04:00
Ben Boeckel
5554910ec2 cmSourceFileLocation: Avoid string allocation in extension checking
The substr call was causing excess allocations. Swap the cheaper
character check to be before the longer string comparison, now using the
prefix checking function.
2014-04-28 21:43:09 -04:00
Kitware Robot
bb1c41a085 CMake Nightly Date Stamp 2014-04-28 00:01:10 -04:00
Kitware Robot
c8b76d58bd CMake Nightly Date Stamp 2014-04-27 00:01:09 -04:00
Kitware Robot
415b75ff37 CMake Nightly Date Stamp 2014-04-26 00:01:06 -04:00
Brad King
478356e6d9 Restore --help-full option to output all help manuals
This option was removed during conversion to the reStructuredText
documentation.  Restore it.  Process documentation starting at
Help/index.rst so that all manuals are included in the output.
2014-04-25 08:41:31 -04:00
Kitware Robot
041dfea55b CMake Nightly Date Stamp 2014-04-25 00:01:10 -04:00
Brad King
9b8685f7d0 Merge topic 'aix-streams'
817db64c fix compile error on AIX/gcc-2.9 because of unknown std::stringstream
2014-04-24 09:24:55 -04:00
Kitware Robot
533d10e48c CMake Nightly Date Stamp 2014-04-24 00:01:10 -04:00