Commit Graph

30468 Commits

Author SHA1 Message Date
Kitware Robot 6c24ca93a6 CMake Nightly Date Stamp 2015-11-21 00:01:09 -05:00
Brad King 5bba0432f4 Merge branch 'release' 2015-11-20 09:00:02 -05:00
Brad King e3dfa3506c Merge branch 'backport-fix-autodef-bigobj-64' into release 2015-11-20 08:57:13 -05:00
Brad King b6f471773d Merge topic 'ninja-symbolic-custom-command'
3477b26f Ninja: Always re-run custom commands that have symbolic dependencies
7d64a059 Ninja: Add 'restat' parameter to custom command generation method
866c75de Ninja: Refactor generation of 'restat' on custom commands
2015-11-20 08:53:17 -05:00
Brad King 7171f64cc1 Merge topic 'fix-autodef-bigobj-64'
65b86612 Merge branch 'backport-fix-autodef-bigobj-64' into fix-autodef-bigobj-64
c7ddc5f4 Fix auto export symbols for Dlls containing /bigobj for 64bit builds.
75004280 Fix auto export symbols for Dlls containing /bigobj for 64bit builds.
2015-11-20 08:53:13 -05:00
Brad King d1f4b6b501 Merge topic 'avoid-divide-by-zero'
f5cd92a8 cmELF: Avoid divide by zero if there are no dynamic section entries
2015-11-20 08:53:10 -05:00
Brad King 67248baaf9 Merge topic 'restore-android-no-versioned-soname'
cdff176f Merge branch 'backport-android-no-versioned-soname' into restore-android-no-versioned-soname
4ba76026 Android: Restore generation of non-versioned soname (#15851)
3aec561a Android: Restore generation of non-versioned soname (#15851)
2015-11-20 08:53:08 -05:00
Brad King 1ccb417d61 Merge topic 'fix-forced-toolchain-dialect'
441dba80 Project: Guess default standard dialect if compiler was forced (#15852)
2015-11-20 08:53:05 -05:00
Brad King 65b8661221 Merge branch 'backport-fix-autodef-bigobj-64' into fix-autodef-bigobj-64 2015-11-20 08:48:30 -05:00
Bill Hoffman c7ddc5f438 Fix auto export symbols for Dlls containing /bigobj for 64bit builds.
This fixes a bug where 64 bit builds with /bigobj incorrectly determined
that the object files were not 64 bit. This manifested itself with
printf type functions showing up as undefined because the leading
underscore was being removed and should not be removed.
2015-11-20 08:43:58 -05:00
Kitware Robot 193987d344 CMake Nightly Date Stamp 2015-11-20 00:01:08 -05:00
Bill Hoffman 75004280af Fix auto export symbols for Dlls containing /bigobj for 64bit builds.
This fixes a bug where 64 bit builds with /bigobj incorrectly determined
that the object files were not 64 bit. This manifested itself with
printf type functions showing up as undefined because the leading
underscore was being removed and should not be removed.
2015-11-19 17:21:03 -05:00
Brad King 3477b26ff6 Ninja: Always re-run custom commands that have symbolic dependencies
If a custom command has a SYMBOLIC output (that is never actually
created) then do not mark the custom command build statement as
'restat'.  Otherwise other custom commands that depend on the symbolic
output may not always re-run because after running the first custom
command Ninja 'restat' will detect that the output timestamp did not
change and skip its dependents.

This was observed with the ExternalProject BUILD_ALWAYS option where
Ninja would not re-run the 'install' step each time 'build' re-runs.
2015-11-19 15:47:41 -05:00
Brad King 7d64a0598d Ninja: Add 'restat' parameter to custom command generation method
Pass 'true' from all call sites to preserve existing behavior.
2015-11-19 15:11:00 -05:00
Brad King 866c75dedd Ninja: Refactor generation of 'restat' on custom commands
Move generation of 'restat = 1' from the CUSTOM_COMMAND rule to every
build statement using it.  This will allow future selection of this
option on a per-custom-command basis.
2015-11-19 14:51:24 -05:00
Brad King 16ba21f79a Merge branch 'avoid-divide-by-zero' into release 2015-11-19 13:20:47 -05:00
Ty Smith f5cd92a826 cmELF: Avoid divide by zero if there are no dynamic section entries 2015-11-19 13:20:21 -05:00
Brad King aa0460b34a Merge branch 'fix-forced-toolchain-dialect' into release 2015-11-19 10:28:22 -05:00
Brad King 441dba8032 Project: Guess default standard dialect if compiler was forced (#15852)
Prior to commit v3.4.0-rc1~71^2 (Project: Determine default language
dialect for the compiler, 2015-09-15) we always guessed the default
language standard dialect based on the compiler version.  This was not
reliable so that commit switched to computing the default language
standard dialect while detecting the compiler id.

When a toolchain file uses CMakeForceCompiler to set the compiler id
then the detection does not occur.  Therefore commit v3.4.0-rc1~54^2
(Project: Don't require computed default dialect if compiler was forced,
2015-09-22) made the lack of detection an error only if the compiler was
not forced.  However, this means that projects using CMakeForceCompiler
no longer even get the guess that we had before so <LANG>_COMPILER does
not work.

Due to the sophistication of CMake's compiler detection logic projects
should be ported away from using CMakeForceCompiler.  In the meantime,
restore a guess of the default language standard dialect when the
compiler is forced.
2015-11-19 10:22:35 -05:00
Brad King e45e503f14 Merge topic 'add-cray-linux-platform'
743fcf1e Cray: Fix static / dynamic detection logic and parse more driver flags
2015-11-19 09:10:29 -05:00
Brad King db952a5817 Merge topic 'FindGTest-avoid-CMP0064'
b5e7b22d FindGTest: Refactor test type checks to avoid cases triggering CMP0064
2015-11-19 09:10:27 -05:00
Brad King 65b9d1f228 Merge topic 'fix-ms-manifest-no-linker'
ca263d1d MSVC: Fix linking with /MANIFEST:NO option
2015-11-19 09:10:23 -05:00
Brad King 59b6d8a81b Merge branch 'backport-android-no-versioned-soname' into release 2015-11-19 08:57:27 -05:00
Brad King cdff176f7e Merge branch 'backport-android-no-versioned-soname' into restore-android-no-versioned-soname 2015-11-19 08:54:54 -05:00
Brad King 4ba760260b Android: Restore generation of non-versioned soname (#15851)
Our check of CMAKE_PLATFORM_NO_VERSIONED_SONAME, originally added by
commit v3.1.0-rc1~416^2 (Add basic Android platform module, 2014-06-06),
was dropped accidentally by commit v3.4.0-rc1~250^2~21
(cmGeneratorTarget: Move GetLibraryNames from cmTarget, 2015-08-04).
Restore the check in the new location of the GetLibraryNames method.
2015-11-19 08:53:55 -05:00
Brad King 3aec561aa2 Android: Restore generation of non-versioned soname (#15851)
Our check of CMAKE_PLATFORM_NO_VERSIONED_SONAME, originally added by
commit v3.1.0-rc1~416^2 (Add basic Android platform module, 2014-06-06),
was dropped accidentally by commit v3.4.0-rc1~250^2~21
(cmGeneratorTarget: Move GetLibraryNames from cmTarget, 2015-08-04).
Restore the check in the new location of the GetLibraryNames method.
2015-11-19 08:52:40 -05:00
Kitware Robot 4e333e3b32 CMake Nightly Date Stamp 2015-11-19 00:01:07 -05:00
Chuck Atkins 743fcf1e89 Cray: Fix static / dynamic detection logic and parse more driver flags 2015-11-18 13:36:00 -05:00
Brad King ce7da2dec4 Merge branch 'FindGTest-avoid-CMP0064' into release 2015-11-18 10:43:56 -05:00
Brad King b5e7b22def FindGTest: Refactor test type checks to avoid cases triggering CMP0064
Update our if() conditions to avoid CMP0064 warnings when `${test_type}`
is equal to `TEST`.

Reported-by: David T. Chen <dchen@mail.nih.gov>
2015-11-18 10:42:55 -05:00
Brad King 96e4a79ab1 Merge topic 'unique_def_symbols'
1c1ace2d De-duplicate symbols listed in generated module definition files
2015-11-18 10:20:07 -05:00
Brad King 79cc14257a Merge branch 'release' 2015-11-18 10:17:55 -05:00
Brad King d6c1860463 Merge topic 'cmake-gui-select-toolset'
2b958a20 cmake-gui: Add option to specify generator toolset
2015-11-18 10:15:28 -05:00
Brad King c1cdf60a00 Merge topic 'fix-compute-default-dialect-lto'
c3dc8935 Make C and C++ default dialect detection robust to advanced optimizations
2015-11-18 10:15:25 -05:00
Brad King 4c66a9011b Merge topic 'oracle-implicit-link-dirs'
6772913f SunOS: Remove obsolete Studio compiler library directories
2015-11-18 10:15:22 -05:00
Brad King e32c903057 Merge branch 'fix-ms-manifest-no-linker' into release 2015-11-18 10:14:14 -05:00
Brad King daa72b253a Merge branch 'fix-compute-default-dialect-lto' into release 2015-11-18 10:14:09 -05:00
Brad King c3dc8935ee Make C and C++ default dialect detection robust to advanced optimizations
In commit v3.4.0-rc1~71^2 (Project: Determine default language dialect
for the compiler, 2015-09-15) we added an "INFO:..." string to the
compiler id detection binary.  The value can be optimized out of the
compiler id binary unless we force it to be included by making the
program behavior depend on it at runtime.  Add references to the value
as we do for the other info strings already.

Gentoo-Issue: https://bugs.gentoo.org/show_bug.cgi?id=565744
2015-11-18 10:12:25 -05:00
Bill Hoffman 1c1ace2db0 De-duplicate symbols listed in generated module definition files
MS tools have a limit on the number of symbols that can be listed
in a `.def` file.  If multiple `.obj` files provide a symbol then
avoid listing it more than once in the generated `.def` file to
avoid counting toward the limit.
2015-11-18 10:02:48 -05:00
Brad King ca263d1d71 MSVC: Fix linking with /MANIFEST:NO option
Refactoring in commit v3.4.0-rc1~74^2~1 (MSVC: Rewrite manifest file
handling with Makefile and Ninja, 2015-09-15) broke handling of this
option.  Fix it and add a test case.
2015-11-18 09:31:56 -05:00
Kitware Robot 3379365e6b CMake Nightly Date Stamp 2015-11-18 00:01:06 -05:00
Robert Dailey 2b958a2027 cmake-gui: Add option to specify generator toolset
The -T parameter to CMake may now be specified through cmake-gui via a
new text field in the first-time configure wizard (below the generator
chooser).

The generator factories specify whether or not they support toolsets.
This information is propagated to the Qt code and used to determine if
the selected generator should also display the optional Toolset widgets.
2015-11-17 10:03:10 -05:00
Kitware Robot eb6036a9a4 CMake Nightly Date Stamp 2015-11-17 00:01:07 -05:00
April Chin 6772913fff SunOS: Remove obsolete Studio compiler library directories
Our CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES setting is no longer needed
because CMAKE_<LANG>_IMPLICIT_LINK_DIRECTORIES is now populated with the
actual implicit link directories for the current toolchain.  The old
values we hard-coded in CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES are not
relevant to modern toolchains, so simply drop them.

Co-Author: Shawn Walker-Salas <shawn.walker@oracle.com>
2015-11-16 10:41:10 -05:00
Brad King 30b0db7bb5 Merge topic 'non-xcode-framework-layout'
f6f03ed4 Add test for OSX/iOS Framework directory structure (#15833)
9f053763 Fix iOS Framework directory structure (#15833)
2015-11-16 09:22:46 -05:00
Brad King 166a61c729 Merge topic 'add-cray-linux-platform'
31d52139 Cray: Added documentation for cross compiling on a Cray
c54a621b Cray: New platform file for Cray Linux Environment and PrgEnv
2015-11-16 09:22:43 -05:00
Brad King 96be53aebd Merge topic 'jacoco_out_of_source'
1db32ffe ctest_coverage: Search for Jacoco files in the binary directory
2015-11-16 09:22:41 -05:00
Zack Galbreath 1db32ffe98 ctest_coverage: Search for Jacoco files in the binary directory
Search for Jacoco coverage files in both the source directory
and the binary directory.
2015-11-16 09:08:42 -05:00
Kitware Robot 64b3df7d1e CMake Nightly Date Stamp 2015-11-16 00:01:05 -05:00
Kitware Robot faf9844449 CMake Nightly Date Stamp 2015-11-15 00:01:05 -05:00