Commit Graph

34151 Commits

Author SHA1 Message Date
Brad King
f72ba42b7c try_compile: Add policy CMP0067 to honor language standards
Projects use `try_compile` to check if they will be able to compile some
particular source code.  When a language standard variable like
`CMAKE_CXX_STANDARD` is set, then the project intends to compile source
code using a compiler mode for that standard.  Therefore it makes sense
for `try_compile` to use that standard in the test project too.

Unfortunately this was not done when support for the
`CMAKE_CXX_STANDARD` variable was first implemented.  Add a policy to
introduce the improved behavior in a compatible way.

Closes: #16456
2016-12-06 08:58:42 -05:00
Brad King
45aa03b97a try_compile: Add options to specify language standards
Give `try_compile` callers a way to control the `CXX_STANDARD`,
`CXX_STANDARD_REQUIRED`, and `CXX_EXTENSIONS` properties of the
generated test target (or the `C` equivalents) in order to compile a
test source for a particular language standard.

Issue: #16456
2016-12-06 08:58:41 -05:00
Brad King
3bb2051eef try_compile: Stop processing when test build system fails to generate
Failing to generate the build system of the test project is a failure to
compute the result of the test compilation, and so must be treated as
any other CMake Error and stop processing.
2016-12-06 08:58:37 -05:00
Brad King
df7fa47c1b curl: Disable symbol hiding logic in build for CMake
We already disable the code using `HIDES_CURL_PRIVATE_SYMBOLS`, so skip
the code to set it too, thus avoiding unnecessary `message()` calls.
2016-12-06 08:18:33 -05:00
Kitware Robot
d6a1e2b90b CMake Nightly Date Stamp 2016-12-06 00:01:08 -05:00
Brad King
f8a1ba202f Merge branch 'upstream-curl' into update-curl
* upstream-curl:
  curl 2016-11-02 (3c561c65)
2016-12-05 11:50:43 -05:00
Curl Upstream
93cc249f3d curl 2016-11-02 (3c561c65)
Code extracted from:

    https://github.com/curl/curl.git

at commit 3c561c657c2f0e553b19115a506592a8bbd744bc (curl-7_51_0).
2016-12-05 11:39:32 -05:00
Brad King
25d7b1ca9d curl: Update script to get curl 7.51.0 2016-12-05 11:39:12 -05:00
Brad King
41f1125931 Merge topic 'features-c++17'
97c1e569 Help: Add release note for C++ 17 support
85c8e652 Features: Activate C++ 17 support for AppleClang 6.1+
8084f7a6 Features: Activate C++ 17 support for Clang 3.5+
24e29d41 Features: Activate C++ 17 support for GNU 5.1+
ae1a6815 Features: Add infrastructure for C++ 17 language standard
684e4d20 Features: Make feature recording conditions more consistent
2016-12-05 10:56:32 -05:00
Nils Gladitz
1b91e010bc Utilities/Release: Store WiX CMake install location in Windows registry 2016-12-05 16:05:19 +01:00
Brad King
7f307d9ea6 Merge branch 'upstream-KWSys' into update-kwsys
* upstream-KWSys:
  KWSys 2016-12-02 (4967ccc0)
2016-12-05 09:55:34 -05:00
KWSys Upstream
1b50bd3f5c KWSys 2016-12-02 (4967ccc0)
Code extracted from:

    http://public.kitware.com/KWSys.git

at commit 4967ccc054d268c430e73445f3a103e737c5f5f7 (master).

Upstream Shortlog
-----------------

Chuck Atkins (2):
      f1afce25 DynamicLoader: Re-organize preprocessor checks to use if, elif, else
      d94f92f7 DynamicLoader: Expand noop implementation to more platforms

Dāvis Mosāns (2):
      f069db91 Encoding: Fix conversion of strings that contain null bytes
      4967ccc0 ConsoleBuf: Fix output for strings that contain null byte
2016-12-05 09:55:32 -05:00
Brad King
d59010e47f Merge topic 'test-handler-multimap'
1af67b19 cmCTestTestHandler: use multimap
2016-12-05 09:23:33 -05:00
Brad King
76444957c1 Merge topic 'cpack-rpm-user-file-list-with-multiple-directives'
4e4b786e CPack/RPM CPACK_RPM_USER_FILELIST change release note
a5a6f61b CPackRPM now supports multiple directives in CPACK_RPM_USER_FILELIST
2016-12-05 09:23:26 -05:00
Brad King
f6f42b25c8 Merge topic 'src-COMPILE_FLAGS-genex'
5dec0a23 server-mode: Fix per-source COMPILE_FLAGS genex evaluation
2016-12-05 09:23:22 -05:00
Brad King
8ababa140c Merge topic 'asm-splitting'
dd153de4 CMakeDetermineASMCompiler: arg-split ASM* env var like CC
2016-12-05 09:23:14 -05:00
Kitware Robot
a0adef2bed CMake Nightly Date Stamp 2016-12-05 00:01:05 -05:00
Kitware Robot
4660958875 CMake Nightly Date Stamp 2016-12-04 00:01:03 -05:00
Gregor Jasny
0ae4632119 Xcode: Add target property to override explicitFileType 2016-12-04 00:13:51 +01:00
Gregor Jasny
7ecac703ce Xcode: Add target property to override productType 2016-12-04 00:13:08 +01:00
Domen Vrankar
4e4b786e33 CPack/RPM CPACK_RPM_USER_FILELIST change release note 2016-12-03 20:40:29 +01:00
Harry Mallon
a5a6f61be3 CPackRPM now supports multiple directives in CPACK_RPM_USER_FILELIST
* In older version "%dir %attr(-, root, root) foo" would put "%dir foo"
  in the final spec file.
* Also added comment to describe this and advise not not to add trailing
  slashes to directories in USER_FILELIST.
* Includes test in RunCMake CPack which now passes.
2016-12-03 20:39:05 +01:00
Daniel Pfeifer
1af67b199a cmCTestTestHandler: use multimap 2016-12-03 14:54:52 +01:00
Kitware Robot
c45b767a8c CMake Nightly Date Stamp 2016-12-03 00:01:04 -05:00
Brad King
027ce359ff FindOpenGL: Provide imported targets for GL and GLU
Create OpenGL::GL and OpenGL::GLU imported targets using the locations
found.

This feature was originally added by commit v3.1.0-rc1~420^2~2
(FindOpenGL: Provide imported targets for GL and GLU, 2014-05-31) but
had to be reverted by commit v3.1.0-rc3~10^2 (FindOpenGL: Revert support
for imported targets, 2014-12-01) due to issue #15267.  Since then we
added support for `IMPORTED_LIBNAME` to interface libraries, so use it
to handle the case where we have only the library name without an
absolute path.

Inspired-by: Philipp Möller <bootsarehax@googlemail.com>
Closes: #15267
2016-12-02 15:11:49 -05:00
Brad King
97c1e56924 Help: Add release note for C++ 17 support
Closes: #16468
2016-12-02 11:22:47 -05:00
Brad King
85c8e652b1 Features: Activate C++ 17 support for AppleClang 6.1+ 2016-12-02 11:22:47 -05:00
Brad King
8084f7a6c9 Features: Activate C++ 17 support for Clang 3.5+ 2016-12-02 11:22:46 -05:00
Brad King
24e29d4190 Features: Activate C++ 17 support for GNU 5.1+ 2016-12-02 11:22:46 -05:00
Brad King
ae1a6815b6 Features: Add infrastructure for C++ 17 language standard
Issue: #16468
2016-12-02 11:22:46 -05:00
Brad King
684e4d205d Features: Make feature recording conditions more consistent
Condition all calls to `_record_compiler_features_{c,cxx}` on
`_result EQUAL 0` so that adding new language standards later does
not need to update them.  Avoid some duplicate compiler version
checks by conditioning C11 and CXX14 feature recording on the
existence of `CMAKE_{C11,CXX14}_STANDARD_COMPILE_OPTION` (whose
setting already used the version check).
2016-12-02 11:22:43 -05:00
Tobias Hunger
5dec0a2328 server-mode: Fix per-source COMPILE_FLAGS genex evaluation
Logic added by commit 1e4bb358 (Add generator expression support to
per-source COMPILE_FLAGS, 2016-10-25) accidentally frees memory before
finishing with it.  Revise the logic to hold the memory long enough.
2016-12-02 10:15:50 -05:00
Michał Górny
dd153de4f0 CMakeDetermineASMCompiler: arg-split ASM* env var like CC
Split the arguments off of the `ASM${ASM_DIALECT}` environment variable
as is done for `CC` and other compiler variables. This fixes using CMake
when `ASM*` is used to pass additional target flags, e.g. when one uses
`ASM=${CC}`.
2016-12-02 10:00:34 -05:00
Brad King
738a182a90 Merge topic 'cmake-gui-T-help'
dde72ee9 cmake-gui: Clarify help string on toolset selection field
2016-12-02 09:54:37 -05:00
Brad King
6d979ecf26 Merge topic 'packaging-qtsdk'
6eb78af2 QtIFW: Packaging as part of the QtSDK
2016-12-02 09:54:34 -05:00
Brad King
46ff507e41 Merge topic 'csharp_compiler_flag_tables'
9b06c226 VS: Add flag tables for C#
2016-12-02 09:54:30 -05:00
Brad King
e9bd298a23 Merge topic 'target_project_type'
66bd8a3c cmVisualStudio10TargetGenerator: Prepare to handle C# projects
2016-12-02 09:54:23 -05:00
Brad King
f7425c2177 Merge topic 'execute_process-encoding'
2ed473b3 execute_process: Add ENCODING option for Windows child process output
2016-12-02 09:54:09 -05:00
Brad King
bd6a269e1a Merge topic 'utf8pipe'
076aef8e Windows: Use UTF-8 for pipes in CMake, CTest and CPack
2016-12-02 09:53:53 -05:00
Kitware Robot
ba946930dd CMake Nightly Date Stamp 2016-12-02 00:01:05 -05:00
Brad King
dde72ee943 cmake-gui: Clarify help string on toolset selection field
The text `-T parameter` may be read as an example value for the field,
but the `-T` part should not be included.  Clarify the wording.

Closes: #16475
2016-12-01 14:27:13 -05:00
Michael Stürmer
9b06c22648 VS: Add flag tables for C#
Add these (currently unused) tables in preparation for `.csproj`
generation support.  Populate the tables for every version with a set of
initial values that work well for me with VS 12 and VS 14.  Later we may
need to generate them more thoroughly from MSBuild `.xml` files.
2016-12-01 16:45:34 +01:00
Michael Stürmer
66bd8a3cf2 cmVisualStudio10TargetGenerator: Prepare to handle C# projects
Generalize some internal infrastructure to prepare for generating
either `.vcxproj` or `.csproj` files.

- Add member string for project file extension
- Add member enum for project type
- Add member flag for in-source build
- Add member flag for managed build
- Rename PathToVcxproj to PathToProjectFile
2016-12-01 10:36:43 -05:00
Brad King
debeb07a40 Merge branch 'release' 2016-12-01 08:51:52 -05:00
Brad King
a178a0d7a6 Merge topic 'cmake-ifw-root-component'
d07d24b8 QtIFW: Configurable root component
2016-12-01 08:51:03 -05:00
Brad King
7108d4b73d Merge topic 'compile-pdb-default'
a4da6fa7 Ninja,Makefile: Name static library compile PDB files as VS does
2016-12-01 08:51:00 -05:00
Brad King
36588f7b16 Merge topic 'pgi-macos-flags'
571721c5 PGI: Pass macOS-specific link flags directly to linker
2016-12-01 08:50:55 -05:00
Brad King
5e36feebd4 Merge topic 'vs-Zc-inline'
418afd5b VS: Add v140 flag table entries for `-Zc:inline[-]`
315d44f7 VS: Add v141 flag table entry for `-Zc:inline-`
2016-12-01 08:50:46 -05:00
Brad King
23a63d2024 Merge topic 'cmake-server-pad-arguments'
28e891f0 server-mode: Do not ignore the first cacheArgument on configure
2016-12-01 08:50:41 -05:00
Brad King
75f2a1e459 Merge topic 'VS_DEBUGGER_WORKING_DIRECTORY'
163e8018 VS: Add target property VS_DEBUGGER_WORKING_DIRECTORY
2016-12-01 08:50:30 -05:00