Commit Graph

26925 Commits

Author SHA1 Message Date
Stephen Kelly fb3487a997 Features: Fix C90 feature detection.
This bug caused c_function_prototypes to not be recorded at configure
time when compiling with -std=gnu99 or similar. In the case of feature
recording, that was not a problem, because the logic in
CMakeDetermineCompileFeatures.cmake currently assumes that a feature
present for an earlier standard is present for a later standard.

However, the detection strings are also used in WriteCompilerDetectionHeader,
so the feature macro has been defined to '0' when using a later language
dialect.

Fix that by not checking the existence of the __STDC_VERSION__ macro at
all when detecting C90 features.
2015-02-04 18:38:21 -05:00
Stephen Kelly 6027798a30 Features: Allow setting standard dialect below the default.
If the requested standard dialect is older than the default dialect
then we must use a flag because we cannot decay to a newer standard.
2015-02-04 18:36:36 -05:00
Stephen Kelly 9d767810e1 Features: Populate CMAKE_<LANG>_STANDARD_DEFAULT only for supported compilers.
If no compiler feature information is known for a given compiler
version, do not set a language standard default either.  The two
settings must be recorded consistently.
2015-02-04 18:29:53 -05:00
Stephen Kelly 72537e4436 Features: Add dialect compile flags only if default is known.
The CMAKE_<LANG>_STANDARD_DEFAULT variable indicates whether the
compiler has any notion of standard levels and that CMake knows
about them.  If no language standard levels are available, skip
all logic to attempt to add a flag for the level.

Also fail with an internal error if a bad default value is set.
2015-02-04 18:28:07 -05:00
Stephen Kelly 82c9d6868b AppleClang: Remove redundant UNIX condition. 2015-02-04 18:28:06 -05:00
Brad King 219797e4be Help: Revise try_compile and try_run documentation (#15358)
Rewrite the documentation using better reStructuredText markup
constructs.  Clarify interaction of options like LINK_LIBRARIES and
CMAKE_FLAGS.
2015-02-04 16:06:13 -05:00
Stephen Kelly f9839c491e Help: Document build targets automatically added to console pool. 2015-02-04 21:52:13 +01:00
Stephen Kelly 44d6f3ce08 Help: Add some cross-linking. 2015-02-04 21:52:00 +01:00
Brad King ecaee7caca CPack: Fix NSIS default 64-bit Windows install directory (#14211)
When targeting Windows with a 64-bit architecture, use "$PROGRAMFILES64"
to get the Program Files folder.  Use CMAKE_SIZEOF_VOID_P to check for
the architecture size instead of CMAKE_CL_64 because the latter is not
defined for all compilers.

Inspired-by: Hugh Sorby <h.sorby@auckland.ac.nz>
Inspired-by: İsmail Dönmez <ismail@donmez.ws>
2015-02-04 15:11:10 -05:00
Brad King 44100adc6c CMake 3.1.2 2015-02-04 13:58:33 -05:00
Brad King eef9a47617 Merge branch 'release-3.1' 2015-02-04 12:30:58 -05:00
Brad King f560fdddd1 Merge topic 'fix-default-install-config'
dea42d92 install: Fix regression in default configuration selection
2015-02-04 12:30:17 -05:00
Brad King ff90f49d18 Merge topic 'fix-msvc-linker-flags-typo'
467f5bcc MSVC: Fix initialization of RelWithDebInfo shared library link flags (#15385)
2015-02-04 12:30:14 -05:00
Brad King be072d3fe1 Merge topic 'Qt-AUTOUIC-file-origin'
2fed8e17 QtAutogen: Issue error message with origin file (#15342).
2015-02-04 12:30:12 -05:00
Brad King 8f82004368 Merge topic 'CTestCoverageCollectGCOV-refinements'
809a5a5e Help: Add notes for topic 'CTestCoverageCollectGCOV-refinements'
03c0812c CTestCoverageCollectGCOV: Fix handling of international characters
8caa4e72 CTestCoverageCollectGCOV: Add test case
5c828cc8 CTestCoverageCollectGCOV: Allow custom flags to gcov
30cb628e CTestCoverageCollectGCOV: Fix handling of large file counts
2015-02-04 12:30:10 -05:00
Brad King 809a5a5e23 Help: Add notes for topic 'CTestCoverageCollectGCOV-refinements' 2015-02-04 12:21:52 -05:00
Kitware Robot 5f37785717 CMake Nightly Date Stamp 2015-02-04 00:01:09 -05:00
Stephen Kelly 2fed8e173c QtAutogen: Issue error message with origin file (#15342). 2015-02-03 22:52:17 +01:00
Brad King e6afd9500d Merge branch 'fix-msvc-linker-flags-typo' into release-3.1 2015-02-03 13:51:33 -05:00
Brad King 467f5bcc6e MSVC: Fix initialization of RelWithDebInfo shared library link flags (#15385)
Initialize CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT from the value
of CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT rather than the one for
the DEBUG configuration.  This typo has been present since the logic was
first added in  commit 36db45082e (ENH: fix up several problems with new
stuff, 2002-11-11).

Reported-by: Gunnar Roth <gunnar.roth@gmx.de>
2015-02-03 13:41:21 -05:00
Brad King fdb0799d75 Merge branch 'fix-default-install-config' into release-3.1 2015-02-03 13:23:57 -05:00
Ben Boeckel dea42d9296 install: Fix regression in default configuration selection
The refactoring in commit v3.1.0-rc1~812^2~16 (stringapi: Pass
configuration names as strings, 2014-02-09) broke the code path in
cmLocalGenerator::GenerateInstallRules that intends to pick a default
install configuration for multi-config generators.  Fix the logic to
select an empty default configuration only when using a single-config
generator whose CMAKE_BUILD_TYPE is not set.

Inspired-by: Roman Wüger <roman.wueger@gmx.at>
Reported-by: NoRulez <norulez@me.com>
2015-02-03 13:05:47 -05:00
Brad King 03c0812c41 CTestCoverageCollectGCOV: Fix handling of international characters
When loading the list of target support directories, read the file
with UTF-8 encoding since that is what CMake writes into the file.
This allows us to support international characters in the path to
the build tree containing the target support directories.
2015-02-03 10:40:58 -05:00
Bill Hoffman 8caa4e72ab CTestCoverageCollectGCOV: Add test case 2015-02-03 10:40:58 -05:00
Bill Hoffman 5c828cc89b CTestCoverageCollectGCOV: Allow custom flags to gcov
Add a GCOV_OPTIONS option to allow specification of custom flags.  In
ctest_coverage gcov support, if you set CTEST_COVERAGE_EXTRA_FLAGS, they
get put on the command line before the -o.  In this case we remove the
-b and replace it with GCOV_OPTIONS.  All other arguments remain the
same.
2015-02-03 10:40:58 -05:00
Bill Hoffman 30cb628ecb CTestCoverageCollectGCOV: Fix handling of large file counts
Use the --files-from option to tar to handle lots of files.
2015-02-03 10:40:53 -05:00
Brad King aec11372a5 Merge topic 'rpm_multi_prefix'
3ec02547 CPackRPM: Allow multiple path relocation prefixes for one package
2015-02-03 09:46:21 -05:00
Brad King 99e3650e66 Merge topic 'make-NOTPARALLEL-not-PHONY'
3cec0c75 Makefile: Generate .NOTPARALLEL without .PHONY (#14312)
2015-02-03 09:46:20 -05:00
Brad King 1acf36241f Merge topic 'GNU-5-CXX14'
68b5b23b Features: Update GNU 5.0 C++14 features.
2015-02-03 09:46:18 -05:00
Kitware Robot 460f7bcb7d CMake Nightly Date Stamp 2015-02-03 00:01:08 -05:00
Kitware Robot cf38f68685 CMake Nightly Date Stamp 2015-02-02 00:01:07 -05:00
Kitware Robot 8d69764d06 CMake Nightly Date Stamp 2015-02-01 00:01:08 -05:00
Stephen Kelly 68b5b23b3b Features: Update GNU 5.0 C++14 features.
Trunk already has these features and they are listed in the status
page.  Also confirmed manually by running trunk.
2015-01-31 21:16:12 +01:00
Kitware Robot 83ae27dcd1 CMake Nightly Date Stamp 2015-01-31 00:01:16 -05:00
Brad King a01f81b906 Merge topic 'ctest_submmit-CDASH_UPLOAD-encode-url'
18e3771a ctest_submit: Escape URL components in CDASH_UPLOAD mode
2015-01-30 10:39:12 -05:00
Bill Hoffman 18e3771ac7 ctest_submit: Escape URL components in CDASH_UPLOAD mode
Call curl_easy_escape on arguments sent to CDash upload.
2015-01-30 10:36:38 -05:00
Brad King 36a1ef43da Merge branch 'release-3.1' 2015-01-30 10:24:55 -05:00
Brad King 37662ea4bf Merge branch 'backport-fix-cpack-symlink-create-dir' into release-3.1 2015-01-30 10:24:21 -05:00
Brad King edc9ff9422 Merge topic 'feature-record-msvc'
d3489bdb Features: Record for MSVC 2010-2015
3228fc50 Features: Define meaning for no language standard default
2015-01-30 10:23:10 -05:00
Brad King db4b9fe256 Merge topic 'fix-cpack-symlink-create-dir'
55e68bc9 Merge branch 'backport-fix-cpack-symlink-create-dir' into fix-cpack-symlink-create-dir
4dc5acee CPack: Fix packaging of source tarballs with symbolic links
81221b80 CPack: Fix packaging of source tarballs with symbolic links
2015-01-30 10:23:07 -05:00
Brad King 85fe9400cd Merge topic 'ninja-msvc-only-C-and-CXX'
8a93d3ea Ninja: Use "deps = msvc" only for C and CXX (#15253)
2015-01-30 10:23:05 -05:00
Brad King e62e04f3bb Merge topic 'vs-windows-store-default-language'
500794b0 VS: Set default language in generated Windows Phone and Store projects
4c5574a1 VS: Add missing newlines to .vcxproj generation
2015-01-30 10:23:03 -05:00
Brad King fa5f566776 Merge topic 'build-require-libarchive-3'
3526daf5 Require libarchive 3.0.0 or later
2015-01-30 10:23:01 -05:00
Brad King 55e68bc99e Merge branch 'backport-fix-cpack-symlink-create-dir' into fix-cpack-symlink-create-dir
Resolve conflict in Source/CPack/cmCPackGenerator.cxx with our side.
2015-01-30 10:09:37 -05:00
Bill Hoffman 4dc5acee63 CPack: Fix packaging of source tarballs with symbolic links
When staging the package installation, if the first file in a directory
happens to be a symbolic link, make sure we create the directory before
trying to create the link.
2015-01-30 10:08:12 -05:00
Bill Hoffman 81221b80e2 CPack: Fix packaging of source tarballs with symbolic links
When staging the package installation, if the first file in a directory
happens to be a symbolic link, make sure we create the directory before
trying to create the link.
2015-01-30 10:06:09 -05:00
Robert Maynard d3489bdb0b Features: Record for MSVC 2010-2015
Also, in WCDH add MSVC Compatibility for cxx_align{of,as}.

Co-Author: Stephen Kelly <steveire@gmail.com>
Co-Author: Brad King <brad.king@kitware.com>
2015-01-30 09:57:33 -05:00
Brad King 3cec0c75f7 Makefile: Generate .NOTPARALLEL without .PHONY (#14312)
In commit v3.0.0-rc1~222^2 (Makefile: Allow "gmake target1 target2 -j",
2013-12-18) we added generation of a .NOTPARALLEL rule and told the
generator it is "symbolic" because the file will never be created.
This causes ".PHONY" to be used.  However, "clearmake" does not support
parsing of .PHONY specifically for .NOTPARALLEL, so simply drop it.
This should not affect the role of the .NOTPARALLEL rule for GNU make.
2015-01-30 09:50:09 -05:00
Kitware Robot dea1631a8f CMake Nightly Date Stamp 2015-01-30 00:01:10 -05:00
Brad King 8a93d3ea18 Ninja: Use "deps = msvc" only for C and CXX (#15253)
The "/showIncludes" flag is only available with MS C and C++ compilers,
and on compilers that "simulate" them (like Intel for Windows).  Fix our
logic to choose this type only for MS tools with these languages.  All
other cases need to use "deps = gcc" and define DEP_FILE in the build
rule.
2015-01-29 15:34:24 -05:00