Commit Graph

24637 Commits

Author SHA1 Message Date
Brad King 65624c39e3 VS14: Add Visual Studio 14 generator (#14982)
Call the generator "Visual Studio 14" without any year because this
version of VS does not provide a year in the product name.

Copy cmGlobalVisualStudio12Generator to cmGlobalVisualStudio14Generator
and update version numbers accordingly.  Add the VS14 enumeration value.
Teach the platform module Windows-MSVC to set MSVC14 and document the
variable.  Teach module InstallRequiredSystemLibraries to look for the VS
14 runtime libraries.

Teach tests CheckCompilerRelatedVariables, VSExternalInclude, and
RunCMake.GeneratorToolset to treat VS 14 as they do VS 10, 11, and 12.

Co-Author: Pawel Stopinski <diokhan@go2.pl>
2014-06-25 14:51:19 -04:00
Brad King 8635ac2330 Tests/Preprocess: Remove unnecessary VS version tests
Since commit v2.8.12~436^2 (VS 10: Escape ; as %3B in preprocessor
definitions, 2013-04-11) the Tests/Preprocessor/CMakeLists.txt file no
longer uses the PP_VS1XX values, so stop setting them.
2014-06-24 15:38:24 -04:00
Brad King c196b3ca02 Merge topic 'gfortran-compressed-modules'
d90be200 Fortran: Add support for GNU >= 4.9 compressed modules (#14975)
2014-06-24 13:05:10 -04:00
Brad King 24853afa87 Merge topic 'stringapi-crash-cleanup'
c491cb1e Fix some generator crashes on undefined CMAKE_BUILD_TYPE
2014-06-24 13:05:08 -04:00
Brad King 8766f8ef47 Merge topic 'cmake-E-env'
7abd5747 cmake: Add '-E env' command-line tool
2014-06-24 13:05:05 -04:00
Kitware Robot f9cfbedef6 CMake Nightly Date Stamp 2014-06-24 00:01:10 -04:00
Brad King 7abd574798 cmake: Add '-E env' command-line tool
Extend the cmake command-line interface to support

 cmake -E env [--unset=NAME]... [NAME=VALUE]... COMMAND [ARG]...

This will be useful to run processes with modified environments
without using a shell or a full "cmake -P" script to wrap it.

Extend the RunCMake.CommandLine test to cover success and failure cases.

Inspired-by: Jonathan Bohren <jbo@jhu.edu>
2014-06-23 16:47:49 -04:00
Brad King 0474aa4a78 Merge topic 'FindOpenCL-fix-ENV'
d4295539 FindOpenCL: Added missing ENV for each environment variable reference
2014-06-23 10:27:58 -04:00
Brad King fc6fdc9b0b Merge topic 'qthelp-context-fixes'
d107949d Help: Add context to titles in QtHelp.
b5002631 Help: Create proper identifiers for keywords in QtHelp.
2014-06-23 10:27:56 -04:00
Brad King 56c9428c88 Merge topic 'encoding-parse-commandline'
b6b493a4 Encoding: Fix debug asserts parsing command line options with non-ascii chars.
9dc88ee9 Merge topic 'fix-valgrind-in-path'
2014-06-23 10:27:54 -04:00
Brad King ca0cd31a0f Merge topic 'InstallRequiredSystemLibraries-repeat'
15a19c31 InstallRequiredSystemLibraries: Allow repeat use per-config
2014-06-23 10:27:52 -04:00
Matthäus G. Chajdas d429553976 FindOpenCL: Added missing ENV for each environment variable reference
Also add an 'include' path suffix that may appear after the value of
some of the environment variables.
2014-06-23 10:26:52 -04:00
Brad King d90be200ec Fortran: Add support for GNU >= 4.9 compressed modules (#14975)
From the GCC 4.9 release notes for Fortran:

 https://gcc.gnu.org/gcc-4.9/changes.html
 "Module files: The version of the module files (.mod) has been
  incremented; additionally, module files are now compressed."

Teach cmDependsFortran::ModulesDiffer to look for the gzip magic numbers
at the beginning of the module file.  If found, assume the module was
produced by gfortran >= 4.9.  The modules do not appear to contain the
date as earlier versions did so we can compare the content directly
and do not actually need to decompress.
2014-06-23 10:00:27 -04:00
Brad King c491cb1eb4 Fix some generator crashes on undefined CMAKE_BUILD_TYPE
Since commit 84fdc9921 (stringapi: Pass configuration names as strings,
2014-02-09), it is not safe to use GetDefinition("CMAKE_BUILD_TYPE")
without checking the return value.  Use GetSafeDefinition instead so
that a missing definition is treated as an empty string like code paths
did prior to the above commit.

Reported-by: Richard Wirth <richard@califax.de>
2014-06-23 09:43:46 -04:00
Kitware Robot 562d5f576a CMake Nightly Date Stamp 2014-06-23 00:01:06 -04:00
Kitware Robot 7c4d890da3 CMake Nightly Date Stamp 2014-06-22 00:01:07 -04:00
Kitware Robot 17d98786ad CMake Nightly Date Stamp 2014-06-21 00:01:06 -04:00
Kitware Robot aaf7071932 CMake Nightly Date Stamp 2014-06-20 00:01:11 -04:00
Kitware Robot e68a009367 CMake Nightly Date Stamp 2014-06-19 00:01:07 -04:00
Kitware Robot 6af77a2f07 CMake Nightly Date Stamp 2014-06-18 00:01:08 -04:00
Clinton Stimpson b6b493a4ed Encoding: Fix debug asserts parsing command line options with non-ascii chars.
With MSVC, isspace() will assert with non-ascii characters.
2014-06-17 09:26:42 -06:00
Stephen Kelly d107949d21 Help: Add context to titles in QtHelp.
This allows disambiguation of identifiers in Qt Assistant and Creator.
2014-06-17 11:28:00 +02:00
Stephen Kelly b5002631c0 Help: Create proper identifiers for keywords in QtHelp.
This is necessary in order for the QHelpEngineCore::linksForIdentifier API
to work.

 http://doc-snapshot.qt-project.org/qt5-5.3/qhelpenginecore.html#linksForIdentifier

That API is used by QtCreator to enable contextual links to help files.
2014-06-17 11:06:48 +02:00
Kitware Robot 85025ae7c3 CMake Nightly Date Stamp 2014-06-17 00:01:08 -04:00
Brad King 9dc88ee951 Merge topic 'fix-valgrind-in-path'
58cc3c22 Fix ctest to allow valgrind to show up in the path name of a memcheck tool.
2014-06-16 20:24:38 -06:00
Bjoern Thiel 15a19c31e5 InstallRequiredSystemLibraries: Allow repeat use per-config
To be able to include InstallRequiredSystemLibraries more than once
(e.g. to get the Debug and Release libraries separately), clear the
internal library list for non-matching configuration.
2014-06-16 15:36:25 -04:00
Brad King 6b05e03de4 Merge topic 'fix-valgrind-in-path'
58cc3c22 Fix ctest to allow valgrind to show up in the path name of a memcheck tool.
2014-06-16 08:54:50 -04:00
Brad King e2789429aa Merge topic 'features-cleanups'
f0a0f3dc WCDH: Fix compiler id test for compatibility macros.
627ad96b Project: Detect other compilers before detecting Clang.
bc950169 WCDH: Remove noise from generated defines.
eecd93fc Features: Escape the COMPILE_OPTIONS for dialects.
2014-06-16 08:54:48 -04:00
Brad King 0b028c6f0a Merge topic 'ninja-avoid-double-phony'
04377f1b Ninja: Remove CMake includes from explicit depends (#14972)
2014-06-16 08:54:46 -04:00
Brad King 3eb50bbe8c Merge topic 'vs-subdir-sln-depends'
cb67509b VS: Remove unused parameter of WriteTargetConfigurations
790e1677 VS: Fix subproject .sln dependencies on custom targets
5fba44cf VS: Move VS-only API out of cmGlobalGenerator
2014-06-16 08:54:44 -04:00
Brad King 94d1879ba0 Merge topic 'cmake-no-args-output'
de7c2882 cmake,ccmake: Produce shorter output on no arguments (#14973)
2014-06-16 08:54:43 -04:00
Adam Strzelecki 04377f1b31 Ninja: Remove CMake includes from explicit depends (#14972)
It may happen that CMake include is an explicit dependency for some command,
while all CMake includes are set phony in WriteTargetRebuildManifest, this may
lead to duplicate phony generate rules which causes ninja warnings.

We need to remove implicit CMake includes in WriteUnknownExplicitDependencies.

This fixes FindCUDA ninja warnings.
2014-06-16 08:51:38 -04:00
Kitware Robot 8af01cd5e9 CMake Nightly Date Stamp 2014-06-16 00:01:06 -04:00
Kitware Robot 81ff6da63a CMake Nightly Date Stamp 2014-06-15 00:01:06 -04:00
Kitware Robot b1ad4fae8a CMake Nightly Date Stamp 2014-06-14 00:01:14 -04:00
Brad King d7bbfa41f6 Merge topic 'fix-read-after-free'
5b2c2d2f Merge branch 'backport-fix-read-after-free' into fix-read-after-free
23ffb72a cmake: Fix read-after-free while checking command-line arguments
fe44f057 cmake: Fix read-after-free while checking command-line arguments
2014-06-13 15:45:07 -04:00
Brad King 38befe3998 Merge topic 'buildsystem-doc-updates'
20f54602 Help: Link to Object Library docs from add_library
a8153181 Help: Organize add_library command documentation
d8319f0f Help: Update style guide to use section headers for command signatures
50dca471 Help: Organize Binary Targets section of cmake-buildsystem.7
4054534c Help: Mention INTERFACE_SOURCES as settable for INTERFACE libs
2014-06-13 15:45:05 -04:00
Brad King 8be1a711b2 Merge topic 'add_jacoco_coverage_parsing'
558c2190 CTest: Add Jacoco Coverage functionality
2014-06-13 15:45:03 -04:00
Brad King f69501dfe2 Merge topic 'setlocale'
c746b00e Encoding:  Change to only set LC_CTYPE to fix encoding issues with libarchive.
2014-06-13 15:44:59 -04:00
Bill Hoffman 58cc3c22ef Fix ctest to allow valgrind to show up in the path name of a memcheck tool.
For testing purposes CMake creates dummy memory checkers.  The dummy checkers
are in the CMake build tree. Before this change when the path contained the
string valgrind, such as CMake-valgrind, all the checkers were thought to
be valgrind, and this caused tests to fail.
2014-06-13 14:42:43 -04:00
Stephen Kelly f0a0f3dcb4 WCDH: Fix compiler id test for compatibility macros.
Enable the alignment features for Clang.
2014-06-13 18:50:10 +02:00
Stephen Kelly 627ad96bd3 Project: Detect other compilers before detecting Clang.
Commit v2.8.10.1~5^2 (Fix PathScale compiler id for Clang-based
upstream, 2012-11-05) re-ordered the detection logic for PathScale.

Other compiler vendors are also producing Clang-based frontends, so
detect "actual" Clang as one of the last compilers to allow for others
doing the same.

    http://llvm.org/devmtg/2014-04/PDFs/Posters/ClangIntel.pdf
    http://docwiki.embarcadero.com/RADStudio/XE5/en/Clang-based_C%2B%2B_Compilers
2014-06-13 18:50:10 +02:00
Stephen Kelly bc950169c7 WCDH: Remove noise from generated defines.
The DECL part is redundant, and the language part is not needed. The
source language and context already determines the language, so there
is no need to repeat it in the define name.
2014-06-13 18:50:10 +02:00
Stephen Kelly eecd93fcca Features: Escape the COMPILE_OPTIONS for dialects.
Allow for future handling as a list, not a string which may contain
whitespace.
2014-06-13 18:50:10 +02:00
Brad King cb67509b06 VS: Remove unused parameter of WriteTargetConfigurations
The cmGlobalVisualStudio7Generator::WriteTargetConfigurations
'root' parameter is no longer used, so remove it.
2014-06-13 08:57:34 -04:00
Adam Strzelecki de7c2882ff cmake,ccmake: Produce shorter output on no arguments (#14973)
Instead printing complete help cmake/ccmake now prints only Usage section and
extra information how to get more help or start your build.

Implementation Details:

  Usage help type was renamed to Help, and new Usage was introduces that prints
  only command line usage information without any extra details.

  Commands add some extra information when no arguments are passed.
2014-06-13 08:36:43 -04:00
Kitware Robot ba36363121 CMake Nightly Date Stamp 2014-06-13 00:01:07 -04:00
Brad King 20f5460288 Help: Link to Object Library docs from add_library 2014-06-12 13:59:13 -04:00
Brad King a81531817e Help: Organize add_library command documentation
Add a section for each library type signature.  Add a table of contents
at the top for the html builder.
2014-06-12 13:59:00 -04:00
Brad King d8319f0fc9 Help: Update style guide to use section headers for command signatures
In order to be able to link to specific command signatures we need to
use a section header instead of a horizontal separator.
2014-06-12 13:57:36 -04:00