Commit Graph

29858 Commits

Author SHA1 Message Date
Brad King e3dfa3506c Merge branch 'backport-fix-autodef-bigobj-64' into release 2015-11-20 08:57:13 -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
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 59b6d8a81b Merge branch 'backport-android-no-versioned-soname' into release 2015-11-19 08:57:27 -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
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 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
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
Brad King 60859b93db Merge branch 'cray-fortran-version' into release 2015-11-12 11:13:06 -05:00
Brad King 09f754f040 Cray: Implement Fortran compiler version detection (#15845)
We already recognize the Cray Fortran compiler id.  Extract the version
number using the same predefined macros we already use for Cray C and
C++ compilers.
2015-11-12 10:56:23 -05:00
Brad King b4a2ada297 CMake 3.4.0 2015-11-12 09:09:08 -05:00
Brad King bab8f83cac Merge branch 'fix-install-rules' into release 2015-11-09 09:38:16 -05:00
Stephen Kelly 9103d8ace3 Install: Move SetHaveInstallRule to a more-obvious place
The moved-from location checks for the existence of whether certain
generators are needed for any target in a loop, rather than whether
the current target has an install rule.

This was introduced in commit v3.4.0-rc1~275^2~3 (cmInstallCommand: Move
the SetHaveInstallRule invocation., 2015-07-28).  Move the
SetHaveInstallRule call to a more-obvious place where the
cmInstallTargetGenerator is constructed.
2015-11-08 13:56:11 +01:00
Brad King bc4b6aa68d CMake 3.4.0-rc3 2015-11-02 09:12:44 -05:00
Brad King 1dcaadc515 Merge branch 'doc-apple-info-plist-properties' into release 2015-10-30 09:14:57 -04:00
Brad King 9a7f042a95 Help: Document target properties setting Info.plist fields (#15820)
Format the documentation of MACOSX_{BUNDLE,FRAMEWORK}_INFO_PLIST and
specify for each property what field in the Info.plist file it sets.
2015-10-30 09:09:40 -04:00
Brad King 1178b53662 Merge branch 'fix-find_program-regression' into release 2015-10-30 08:38:13 -04:00
Brad King 31e6571cca find_program: Fix regression in finding an already-known path
Changes in commit v3.4.0-rc1~124^2~1 (cmFindProgramCommand: Re-implement
search using more flexible approach, 2015-09-01) did not preserve the
behavior of looking for the given name with no search path at all.
Fix this and add a test case covering finding an absolute path with
no search directories.
2015-10-30 07:40:46 -04:00
Brad King 1227ea38e5 Merge branch 'intel-fortran-2016' into release 2015-10-29 09:04:05 -04:00
Brad King 81dbab6e08 Merge branch 'backport-revert-autorcc-qt-5.1' into release 2015-10-29 09:03:44 -04:00
Brad King e41c1be543 Merge branch 'vs-resw-files' into release 2015-10-29 09:03:30 -04:00
Andrew Shaitorov 77dde5cb1f VS: Add support for `.resw` files (#15811)
These are used on the WinRT & WinPhone platforms.  Build them using the
`PRIResource` tool.
2015-10-28 15:19:21 -04:00
Brad King b935db3a11 Revert "cmQtAutoGenerators: Fix rcc invocation for Qt 5.0 and 5.1 (#15644)"
This reverts commit 9a271e1323.  The
`-list` option is not documented and may be removed in future Qt
versions.  Fixing this correctly will require detecting the availability
of `--list` or `-list` based on the `rcc` version found.  For now we
choose to support the documented option that will be supported in future
Qt versions.
2015-10-27 16:30:20 -04:00
Brad King 77be366c58 Intel: Recognize MSVC version for Intel Fortran 2016 (#15809) 2015-10-26 13:02:37 -04:00
Brad King c7c8c2c5e8 Merge branch 'cpack-deb-fakeroot-removal' into release 2015-10-23 11:00:18 -04:00
Raffi Enficiaud 66178ae5a0 CPackDEB: Use proper compression scheme for control.tar.gz
Changes in commit v3.4.0-rc1~79^2~1 (CPackDeb: use of libarchive and
removal of fakeroot, 2015-09-11) accidentally set the wrong compression
scheme for the `control.tar.gz` file.  Set it explicitly to GZip.
2015-10-23 10:58:43 -04:00
Brad King dfdaf70194 Merge branch 'fix-test-RUN_SERIAL-failure-regression' into release 2015-10-23 10:05:00 -04:00
Brad King e61973e1ab CTest: Fix regression in handling of a RUN_SERIAL test that fails
Refactoring in commit v3.4.0-rc1~390^2~1 (cmCTestMultiProcessHandler:
Refactor RUN_SERIAL implementation, 2015-06-01) forgot to update a code
path for cleaning up after a failed RUN_SERIAL test.  This causes an
infinite loop after a RUN_SERIAL test fails.  Fix it and add a test.
2015-10-23 09:55:25 -04:00
Brad King 6b518be61b Merge branch 'doc-add_executable-typo' into release 2015-10-22 10:32:28 -04:00
Christopher Dembia 194011b86f Help: Add missing parenthesis in add_executable docs 2015-10-22 10:31:49 -04:00
Brad King 498db9b9bc CMake 3.4.0-rc2 2015-10-21 09:26:43 -04:00
Brad King 2ad1fed8ee Merge branch 'fix-CMP0054-elseif-warning' into release 2015-10-21 09:05:57 -04:00
Brad King 779b6ac4f8 Merge branch 'doc-file-GLOB-no-order' into release 2015-10-21 08:53:30 -04:00
Ruslan Baratov 5a208f834e Help: Document that file(GLOB*) order is undefined
Since this command use 'readdir' under the hood the order of list is
undefined:
* http://stackoverflow.com/questions/8977441/does-readdir-guarantee-an-order
2015-10-21 08:51:54 -04:00
Stephen Kelly d6a03b475e cmIfCommand: Issue CMP0054 warning with appropriate context. (#15802)
Commit v3.4.0-rc1~494^2~4 (cmMakefile: Add API for elseif to create
backtrace., 2015-05-29) removed the use of cmMakefileCall to push/pop
execution context in favor of a new way to create backtraces.

However, a call to cmMakefile::GetExecutionContext is still invoked to
issue a contextual CMP0054 warning through cmConditionEvaluator.  As
the elseif is not part of the call stack, this resulted in trying to
access an empty vector.

Avoid the attempt at getting execution context when evaluating elseif by
constructing a context and backtrace on behalf of the cmConditionEvaluator
in all cases.
2015-10-20 23:40:12 +02:00
Brad King 22bfb39dea Merge branch 'doc-add_test-requirements' into release 2015-10-19 11:45:11 -04:00
Brad King f19d6a2c95 Help: Document add_test expectations of test command (#15798) 2015-10-19 11:07:01 -04:00
Brad King 7d94947a68 Merge branch 'ExternalProject-fix-git-version' into release 2015-10-15 09:41:04 -04:00
Brad King c9e0173e6f ExternalProject: Always use CMake builtin FindGit (#15791)
Unset CMAKE_MODULE_PATH before calling find_package(Git) to ensure we do
not get a project-provided FindGit module that may not provide the
GIT_VERSION_STRING that we need.  We do not need to restore the value
explicitly because this occurs inside the _ep_add_download_command
function call scope.
2015-10-15 09:35:43 -04:00
Brad King 4cd52dc551 ExternalProject: Fix Git version report in error message (#15791)
Refactoring in commit v3.4.0-rc1~77^2~1 (ExternalProject: Use
GIT_VERSION_STRING instead of custom method, 2015-09-17) forgot
to update the variable name used in an error message.
2015-10-15 09:00:23 -04:00
Brad King be616c189d Merge branch 'doc-INCLUDES-relnote' into release 2015-10-13 11:53:46 -04:00
Brad King 609a8921e7 Help: Add release note about compile rule placeholder changes (#15787)
The change made by commit v3.4.0-rc1~342^2 (Factor an <INCLUDES>
placeholder out of <FLAGS> in rule variables, 2015-07-13) affects an
internal interface.  Since it is commonly used by projects anyway, add a
release note covering the change in placeholders.
2015-10-13 11:44:59 -04:00
Brad King f13030cb5b Merge branch 'xcode-adjust-deployment-to-host-version' into release 2015-10-12 15:51:15 -04:00
Gregor Jasny 24aafbde11 Xcode: Adjust deployment target SDK version to host version
If the automatically selected SDK is newer than the host OS version
and no deployment version has been set then adjust the deployment
version to the host OS version. Otherwise the user won't be able to
launch the executables on the build host.

This is for example a problem on a MacOSX 10.10 host with Xcode 7
which only provides a MacOSX10.11 SDK.
2015-10-12 15:31:10 -04:00