3296 Commits

Author SHA1 Message Date
Brad King
db02be85a0 VS: Provide the default platform name to project code
The value of `CMAKE_VS_PLATFORM_NAME` is computed by Visual Studio
generators based on `CMAKE_GENERATOR_PLATFORM` or some default.
Prior to the VS 2019 generator, the default was always `Win32`.
However, for the `Visual Studio 16 2019` generator, the default is
based on the host platform.

Store the default in a new `CMAKE_VS_PLATFORM_NAME_DEFAULT` variable for
use by project code.  This is particularly useful in toolchain files
because they are allowed to set `CMAKE_GENERATOR_PLATFORM` and so
`CMAKE_VS_PLATFORM_NAME` is not yet known.  Of course the toolchain file
author knows whether it will set `CMAKE_GENERATOR_PLATFORM`, and if not
then `CMAKE_VS_PLATFORM_NAME_DEFAULT` provides the platform name that
will be used.

Fixes: #19177
2019-04-19 07:46:13 -04:00
Brad King
97c163f5f7 Merge branch 'FindFontconfig-var-case' into release-3.14
Merge-request: !3153
2019-03-27 14:20:53 -04:00
Brad King
a3a1e69f8a FindFontconfig: Convert module variables to camel case
Our documented standard for find module variable names is to match the
case of the find module package name.  This was overlooked when the
module was added by commit 84e7920b3a (FindFontconfig: Add module to
find Fontconfig, 2018-09-27, v3.14.0-rc1~523^2).

The module was released with the upper case names in CMake 3.14.0, so
fix it to have camel case names in 3.14.1.  This is incompatible but
anyone using a given release series should be using the latest patch on
it and we've made breaking fixups on newly released features like this
before.

Reported-by: Christophe Giboudeaux <christophe@krop.fr>
Fixes: #19094
2019-03-26 14:14:09 -04:00
Brad King
ce730e9c22 Help: Clarify policy CMP0082 documentation
The policy documentation added by commit fc8955e889 (add_subdirectory:
Run subdirectory install rules in correct order, 2018-10-02,
v3.14.0-rc1~565^2~1) left out our usual sentence about the policy
providing compatibility.
2019-03-21 08:55:28 -04:00
Brad King
ef10c9a199 Merge branch 'docs-xcode-schemes' into release-3.14
Merge-request: !3066
2019-03-06 09:07:29 -05:00
Craig Scott
d0cb912a28 Help: Remove note that Xcode scheme generator is experimental 2019-03-07 00:04:55 +11:00
Craig Scott
de850fe385 Help: Trivial typo fix for CMAKE_XCODE_GENERATE_SCHEME 2019-03-07 00:04:55 +11:00
Craig Scott
d61a5a20ef Help: Sort lists of (CMAKE_)XCODE_SCHEME_... variables and properties 2019-03-07 00:04:55 +11:00
Brad King
ec79045b0e Merge branch 'docs-install-destinations' into release-3.14
Merge-request: !3052
2019-03-05 11:26:34 -05:00
Brad King
216fff285c Merge branch 'ios-docs' into release-3.14
Merge-request: !3047
2019-03-05 09:46:40 -05:00
Ruslan Baratov
376138fe0c Help: CMAKE_MACOSX_BUNDLE is ON for iOS/tvOS/watchOS 2019-03-05 09:45:50 -05:00
Ruslan Baratov
f7d602b572 Help: Example of tweaking iOS/tvOS/watchOS build
CMAKE_OSX_ARCHITECTURES and CMAKE_OSX_DEPLOYMENT_TARGET variables
can be used to tweak iOS/tvOS/watchOS build
2019-03-05 09:45:50 -05:00
Ruslan Baratov
4a9e2e4f35 Help: find_package with fat iOS libraries 2019-03-05 09:45:50 -05:00
Ruslan Baratov
e427c7c1d8 iOS: Add IOS variable
Since commit 11da882a12 (Apple: Introduce separate system name for iOS,
tvOS, and watchOS, 2018-01-15, v3.14.0-rc1~14^2~1) we support setting
`CMAKE_SYSTEM_NAME` to `iOS`.  Existing iOS toolchain files already
set `IOS` as a short-hand variable, so do the same here.
2019-03-05 09:42:41 -05:00
Craig Scott
a5f79b83c7 Help: clarify DESTINATION and TYPE usage for install() 2019-03-05 21:48:44 +11:00
Brad King
71852e969b Merge branch 'vs2019' into release-3.14
Merge-request: !3044
2019-02-28 13:25:51 -05:00
Brad King
c9a7f3135e Help: Update VS 2019 generator release note for preview 4 2019-02-28 11:05:31 -05:00
Brad King
c2c7b9605c Merge branch 'docs-rpath-origin-apple' into release-3.14
Merge-request: !3020
2019-02-27 07:59:19 -05:00
Brad King
e994e1f9cd Merge branch 'FindOctave-remove' into release-3.14
Merge-request: !3027
2019-02-27 07:57:03 -05:00
Craig Scott
bf10f02441 Help: Fix minor inaccuracies of what BUILD_RPATH_USE_ORIGIN affects 2019-02-27 21:07:36 +11:00
Brad King
7a1f3fe041 FindOctave: Remove module pending further work
The `FindOctave` module added by commit 170bcb6fdc (FindOctave: Add
module to find GNU octave, 2018-11-17, v3.14.0-rc1~283^2) has a few
problems in its implementation that need to be worked out before the
module can be included in a CMake release.  These were missed during
review.  Remove the module for now.  It can be restored later with a
fresh review.

Issue: #18991
2019-02-26 14:12:34 -05:00
Brad King
8455e166a9 Merge branch 'doc-ctest-build-and-test-summary' into release-3.14
Merge-request: !3017
2019-02-26 07:39:11 -05:00
Paul Seyfert
02ba5d57df Help: Fix --build-and-test synopsis in ctest(1)
The synopsis added by commit 9d3aa95ca4 (Help: Divide ctest(1) manual
options into sections, 2017-11-08, v3.11.0-rc1~359^2~2) is missing the
actual `--build-and-test` argument!  Add it now.
2019-02-26 07:37:29 -05:00
Brad King
af000abbba Merge branch 'releasenotes_arch_independent' into release-3.14
Merge-request: !3012
2019-02-25 07:54:25 -05:00
Brad King
0e8b0ae636 Merge branch 'docs_try_commands' into release-3.14
Merge-request: !3013
2019-02-25 07:54:04 -05:00
Craig Scott
47caf146c5 Help: Add release note for new ARCH_INDEPENDENT option 2019-02-24 20:05:49 +11:00
Craig Scott
4d55c1f541 Help: Caveat for try_compile() and CMAKE_TRY_COMPILE_PLATFORM_VARIABLES 2019-02-24 17:23:58 +11:00
Craig Scott
861dbef4e7 Help: Consistency in try_compile() docs for target type 2019-02-24 17:22:53 +11:00
Craig Scott
df8aa3c8ad Help: try_compile() readability and grammar improvements 2019-02-24 17:19:45 +11:00
Craig Scott
7975edeac5 Help: User-provided variable names for try_* commands
All uppercase is typically used for command keywords. Non-keyword
arguments should generally be shown as `<something>` according
to the CMake documentation guide.
2019-02-24 17:16:07 +11:00
Brad King
6ebe40c6ae Merge branch 'remove-exclude-from-all-warning' into release-3.14
Merge-request: !3002
2019-02-22 11:19:09 -05:00
Craig Scott
d3b765d451 EXCLUDE_FROM_ALL: Don't warn if installing target excluded from all
The original warning pre-dates support for install components.
There are now legitimate scenarios where an install(TARGETS)
command may list a target that is excluded from all, e.g.
hierarchical projects that will never install the component such a
target belongs to.

Fixes: #18938
2019-02-22 07:55:56 +11:00
Brad King
c925166764 Merge branch 'link-options' into release-3.14
Merge-request: !2996
2019-02-20 14:32:37 -05:00
Marc Chevrier
98a2d42301 PIE link options: No warning when policy CMP0083 is not set.
Fixes: #18955
2019-02-20 14:30:57 -05:00
Brad King
c36bf6b13c Merge branch 'fix-implicit-includes-fortran' into release-3.14
Merge-request: !2994
2019-02-20 08:57:20 -05:00
Brad King
3dc81a48ff Fortran: Do not suppress explicit use of implicit include directories
Since commit 2e91627dea (ParseImplicitIncludeInfo: add Fortran implicit
include handling, 2019-01-25, v3.14.0-rc1~73^2) we actually populate
`CMAKE_Fortran_IMPLICIT_INCLUDE_DIRECTORIES` for the first time.  This
value may be useful to project code to pass to other tooling that wants
to preprocess the way Fortran does, so we should compute the value.
However, compilers like `gfortran` do not actually search their own
implicit include directories for `.mod` files.  The directories must be
passed via `-I` in order for `.mod` files in them to be found.

Since Fortran has no standard library header files that we need to avoid
overriding, it is safe to *not* filter out implicit include directories
from those passed explicitly via `-I` options.  Skip this filtering so
that include directories specified by project code to find `.mod` files
will be searched by the compiler even if they happen to be implicitly
searched by the preprocessor.

Fixes: #18914
2019-02-20 08:13:57 -05:00
Brad King
926a97e975 Merge branch 'file_symlink_docs' into release-3.14
Merge-request: !2974
2019-02-18 09:22:13 -05:00
Brad King
1f8ed41419 Merge branch 'externalproject_docs' into release-3.14
Merge-request: !2978
2019-02-18 09:08:05 -05:00
Craig Scott
f2820bce15 Release notes: Make ExternalProject dot points consistent
Use same phrasing and command linking.
2019-02-17 13:17:56 +11:00
Craig Scott
0f5a9f7934 Help: Clarify and improve readability of link-related file subcommands 2019-02-16 20:55:49 +11:00
Craig Scott
2cc145928c Help: Remove outdated statement about get_filename_component()
After !2853, the statement that the "longest file extension is
always considered" is no longer true. Both NAME_WLE and
LAST_EXT now return details based on the shortest file
extension.

Fixes: 7a25ef326b (Help: Add documentation for new get_filename_component components, 2019-01-24, 3.14.0-rc1)
2019-02-16 15:26:23 +11:00
Brad King
a251b61181 Merge branch 'doc-if-legacy' into release-3.14
Merge-request: !2950
2019-02-11 14:44:00 -05:00
Juuso "Linda" Lapinlampi
572b4fd85b Help: Fix elseif/endif typo
In CMake 3.13.x, we had this evaluation for if() conditions:

    if(a) elseif(b) else(a) endif(a)

The sensible intention of the change in commit c2efb3efcd (Help: Revise
docs on Scripting Commands, 2018-10-16, v3.14.0-rc1~505^2) was:

> "endif", "endfunction" etc: Explain that the argument is optional and
> maintained for compatibility only

Instead of "endif", it ended up being written to the documentation as
"elseif" by the commit author (oops) to if()'s page.

    if(a) elseif(a!?) else() endif(a?)

Truthfully, endif()'s parameter should be an optional verbatim repeat
and not elseif()'s. If it wasn't, elseif() would be described to be the
same as if(). The rightful intended description is:

    if(a) elseif(b) else() endif()

Fix that typo.
2019-02-11 14:41:51 -05:00
Brad King
9e309cd4f0 Merge branch 'ghs-relnotes' into release-3.14
Merge-request: !2934
2019-02-11 07:50:00 -05:00
Fred Baksik
2d701b78de Help: Update 3.14 release notes for GHS changes 2019-02-11 07:49:08 -05:00
Brad King
88031dd09a Merge branch 'ghs-updates' into release-3.14
Merge-request: !2943
2019-02-08 14:02:14 -05:00
Tushar Maheshwari
e729f2b3fd Help: Add notes for file(CREATE_LINK) subcommand 2019-02-08 13:20:45 -05:00
Fred Baksik
bcd99fac60 GHS: Document usage of GHS_NO_SOURCE_GROUP_FILE
-- Also change variable name to CMAKE_GHS_NO_SOURCE_GROUP_FILE
2019-02-08 13:07:00 -05:00
Brad King
12b8e41c07 Merge branch 'doc-object-library-link' into release-3.14
Merge-request: !2933
2019-02-07 09:36:58 -05:00
Brad King
0f87bd1bd8 Help: Clarify 3.14 release note about object library dependencies
Revise the note from commit bab24e782c (target_link_libraries: Propagate
dependencies of object libraries, 2018-12-10, v3.14.0-rc1~260^2).
2019-02-07 09:34:17 -05:00