Commit Graph

2468 Commits

Author SHA1 Message Date
Brad King
c2f79c9867 Genex: Enable COMPILE_LANGUAGE for COMPILE_DEFINITIONS with VS and Xcode
The set of compile flags used for a target's C and C++ sources is based
on the linker language.  By default this is always the C++ flags if any
C++ sources appear in the target, and otherwise the C flags.  Therefore
we can define the `COMPILE_LANGUAGE` generator expression in
`COMPILE_DEFINITIONS` to match the selected language.

This is not exactly the same as for other generators, but is the best VS
and Xcode can do.  It is also sufficient for many use cases since the
set of definitions for C and C++ is frequently similar but may be
distinct from those for other languages like CUDA.

Issue: #17435
2018-01-12 14:27:37 -05:00
Brad King
30fcb92576 Merge topic 'misc-typos'
d91b2d91 MAINT: Misc. typos

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1654
2018-01-11 10:18:54 -05:00
Brad King
37a3738b1a Merge topic 'doc-fixes'
da3a329a Linkify target_link_libraries in DEBUG_CONFIGURATIONS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1649
2018-01-11 10:16:01 -05:00
Brad King
45f2872129 Merge topic 'doc-install-arg-order'
f09fda97 Help: improve install() documentation of argument ordering

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1641
2018-01-11 10:15:27 -05:00
luz.paz
d91b2d9158 MAINT: Misc. typos
Found via `codespell`
2018-01-10 12:34:14 -05:00
Brad King
d08f3f551f Merge topic 'unhardcode-configuration-types'
1f4d7a07 Help: Add references and backticks in LINK_FLAGS prop_tgt
48f7e2d3 Unhardcode the CMAKE_CONFIGURATION_TYPES values

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1345
2018-01-10 10:35:04 -05:00
Paul "TBBle" Hampson
da3a329a06 Linkify target_link_libraries in DEBUG_CONFIGURATIONS 2018-01-11 00:00:30 +11:00
Brad King
1906dd3e3d Merge topic 'COMPILE_FLAGS-clarify-sf-prop-documentation'
118815f0 COMPILE_FLAGS: do not imply that the property is a list

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1640
2018-01-09 09:36:29 -05:00
Brad King
2cd2dd9cde Merge topic 'doc-CMAKE_SYSTEM_NAME-mode'
edebf6f3 Help: note that CMAKE_SYSTEM_NAME is not set in script mode

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1639
2018-01-09 09:35:46 -05:00
Brad King
947d6de833 Merge topic 'doc-OUTPUT_NAME-clarify'
6c5d3989 Help: fix documentation for OUTPUT_NAME

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1638
2018-01-09 09:35:19 -05:00
Craig Scott
89d1274630 Merge topic 'improve_generated_property_docs'
11615b29 GENERATED: Improve the documentation of the GENERATED file property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1630
2018-01-09 05:05:41 -05:00
Beren Minor
1f4d7a0715 Help: Add references and backticks in LINK_FLAGS prop_tgt 2018-01-08 21:15:16 +01:00
Beren Minor
48f7e2d300 Unhardcode the CMAKE_CONFIGURATION_TYPES values
This removes duplicated code for per-config variable initialization by
providing a `cmake_initialize_per_config_variable(<PREFIX> <DOCSTRING>)`
function.

This function initializes a `<PREFIX>` cache variable from `<PREFIX>_INIT`
and unless the `CMAKE_NOT_USING_CONFIG_FLAGS` variable is defined, does
the same with `<PREFIX>_<CONFIG>` from `<PREFIX>_<CONFIG>_INIT` for every
`<CONFIG>` in `CMAKE_CONFIGURATION_TYPES` for multi-config generators or
`CMAKE_BUILD_TYPE` for single-config generators.
2018-01-08 21:15:14 +01:00
Kyle Edwards
f09fda97d8 Help: improve install() documentation of argument ordering
Fixes #16362.
2018-01-08 15:07:30 -05:00
Ben Boeckel
118815f095 COMPILE_FLAGS: do not imply that the property is a list
The "added to the list" language hinted that the property was
interpreted as a CMake list, but this is not correct. It is just a
string.
2018-01-08 11:44:18 -05:00
Kyle Edwards
6c5d3989f7 Help: fix documentation for OUTPUT_NAME
Fixes #17177.
2018-01-08 11:33:05 -05:00
Kyle Edwards
edebf6f31a Help: note that CMAKE_SYSTEM_NAME is not set in script mode
Fixes #17109.
2018-01-08 11:04:17 -05:00
Brad King
f4a3143940 Merge topic 'execute_process_UTF8_keyword'
8caec41e execute_process: Allow UTF-8 as a synonym for the UTF8 keyword

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !1623
2018-01-08 10:44:47 -05:00
Brad King
a3bba2a5ad Merge topic '17431-iphone-deployment-target'
4017bf40 Darwin: Emit deployment target that matches the SDK
8f4663ff Xcode: rename embedded SDK query function

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1447
2018-01-08 09:58:11 -05:00
Robert Maynard
11615b297f GENERATED: Improve the documentation of the GENERATED file property 2018-01-08 09:12:33 -05:00
Craig Scott
d88451568d Merge topic 'various-typos'
3ab7bf82 Various typo fixes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1626
2018-01-04 14:37:49 -05:00
Luz Paz
3ab7bf8285 Various typo fixes
Some are user-facing. Others are source comments.
2018-01-04 06:52:01 +11:00
Craig Scott
1e6d1dd358 FindDoxygen: Add DOXYGEN_VERBATIM_VARS for quote prevention
Each CMake variable listed in DOXYGEN_VERBATIM_VARS will not have any
automatic quoting applied to it when written to the Doxyfile.
2018-01-03 07:59:59 +11:00
Craig Scott
8caec41e6e execute_process: Allow UTF-8 as a synonym for the UTF8 keyword
UTF-8 is the proper naming according to the UTF-8 RFC and is also the
name used for a similar keyword in the file() command. This commit
brings (backward compatible) consistency to the keyword names and allows
the standard UTF-8 name to be used with execute_process(). The old UTF8
keyword is still supported.
2017-12-27 21:56:00 +11:00
Gregor Jasny
4017bf40de Darwin: Emit deployment target that matches the SDK
Closes: #17431
2017-12-22 21:56:53 +01:00
Brad King
4148435993 Merge topic 'cpackifw-package-remove-target-dir'
739ae1d0 CPack/IFW: Add option to control deletion of the install directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1591
2017-12-21 08:01:34 -05:00
Jean-Philippe Lebel
739ae1d090 CPack/IFW: Add option to control deletion of the install directory
Added support for QT IFW "RemoveTargetDir" boolean option.  QTIFW
supports an option to prevent, or not, deletion of the installation
directory. This is a direct pass-through to that variable.
2017-12-15 13:24:58 -05:00
Betsy McPhail
d15f199c14 CTest: Expand 'Label and Subproject Summary' section of manual 2017-12-15 12:49:17 -05:00
Brad King
e016d6d255 Merge topic 'cpack-rpm-check-executable-flags'
a2031d3a CPack/RPM: check executable flags for debuginfo packages

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1565
2017-12-07 08:28:31 -05:00
Brad King
e1a09cfbd1 Merge topic 'externalproject_download_dir'
b8b87489 ExternalProject: Support substituting <DOWNLOAD_DIR>

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1537
2017-12-07 08:14:34 -05:00
Craig Scott
b8b8748977 ExternalProject: Support substituting <DOWNLOAD_DIR> 2017-12-07 07:22:02 +11:00
Domen Vrankar
a2031d3a3a CPack/RPM: check executable flags for debuginfo packages
Debuginfo packages can not be created from programs and
shared libraries that do not have execute permissions.
2017-12-06 21:04:20 +01:00
Brad King
b7100756d7 Merge branch 'backport-revert-server-target-backtraces' into revert-server-target-backtraces 2017-12-06 11:49:52 -05:00
Brad King
976370d134 server: drop "ctestInfo" backtrace information
Backtrace information was included by commit 35a52bd1b4 (server: add
"ctestInfo" request to get test info, 2017-10-25) to match that already
provided for targets.  However, the backtrace representation uses too
much memory and needs to be dropped.  Remove it from test information.

Issue: #17502
2017-12-06 11:45:51 -05:00
Brad King
8b2736c71c server: Revert "Report backtraces in codemodel response"
The backtrace information is very repetitive and hugely increases the
size of the codemodel object.  We need to remove it until an alternative
representation can be developed.  Revert commit v3.10.0-rc1~393^2
(server: Report backtraces in codemodel response, 2017-06-20), except
for the protocol version number (because it indicates other new things).

Unfortunately this is incompatible with clients that expect the
"crossReferences" field in targets.  However, the regression in memory
usage is quite serious, especially on large projects, and therefore
breaks even older clients that do not use backtraces.  Since the
"crossReferences" field was only provided by one release (3.10.0), it is
simplest to revert it outright for 3.10.1.

Fixes: #17502
2017-12-06 11:39:03 -05:00
Brad King
dd792b08b5 Merge topic 'doc-lang-order'
6ecd8b60 Help: Document that ASM should be enabled last

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1560
2017-12-06 08:06:33 -05:00
Brad King
6ecd8b601b Help: Document that ASM should be enabled last
ASM should be enabled after C and/or CXX because we consider the
compilers for those languages as possible assemblers.

Issue: #17532
2017-12-06 06:48:06 -05:00
Marc Chevrier
9432f686e6 Add generator expression support to per-source COMPILE_DEFINITIONS
This allows users to specify different genex-based compile definitions for each file in a target.

Fixes: #17508
2017-12-05 14:47:39 +01:00
Brad King
e841ae823e Merge topic 'add_library-mention-xcode-objlib-behavior'
4c40ab26 add_library: mention that Xcode requires a real source file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Tom Hughes <tomtheengineer@gmail.com>
Merge-request: !1549
2017-12-04 10:53:07 -05:00
Brad King
5f87ea1603 Merge topic 'cmake-job-pool'
07185055 Ninja: add CMAKE_JOB_POOLS variable as default for JOBS_POOLS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1514
2017-12-04 10:38:51 -05:00
Ben Boeckel
4c40ab261c add_library: mention that Xcode requires a real source file
The docs mentioned that it happened, but not when. Mention Xcode since
it is the culprit today.

See #16524.
2017-12-01 10:37:15 -05:00
Brad King
5d43e46ad5 Merge topic 'whitelist-more-interface-properties'
fb3c5bfd cmTargetPropertyComputer: whitelist custom properties

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1515
2017-11-30 07:57:08 -05:00
Brad King
eee4124f3a Merge topic 'findiconv-module'
95646591 FindIconv: Add the FindIconv module.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1530
2017-11-30 07:55:24 -05:00
Matt McCormick
07185055d5 Ninja: add CMAKE_JOB_POOLS variable as default for JOBS_POOLS
This enables configuration of build parallelism with the Ninja generator by
passing arguments on the command line to CMake. For example,

  cmake \
    '-DCMAKE_JOB_POOLS:STRING=compile=5;link=2' \
    -DCMAKE_JOB_POOL_COMPILE:STRING=compile \
    -DCMAKE_JOB_POOL_LINK:STRING=link \
      ~/src/MyProject
2017-11-29 15:13:36 -05:00
Christian Pfeiffer
95646591d6 FindIconv: Add the FindIconv module.
This module provides abstraction over the various ways POSIX platforms
handle the iconv calls defined in POSIX.1-2001 and later versions.
2017-11-29 14:51:32 +01:00
Brad King
c07b18d883 Merge topic 'CodeBlocks-custom-compiler-id'
e04f1d1b CodeBlocks: add option for the CB compiler ID

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1512
2017-11-29 08:32:26 -05:00
Brad King
caffddd620 Merge topic 'CheckIncludeFiles-language-CXX'
b31d5e1d CheckIncludeFiles: improve warning for missing argument
1f1c2a9f CheckIncludeFiles: clean up documentation of new features
c8609992 Help: Add notes for topic 'CheckIncludeFiles-language-CXX'
ea1bb902 CheckIncludeFiles: add unit tests
7669695a CheckIncludeFiles: extend to allow a LANGUAGE argument

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1464
2017-11-29 08:26:05 -05:00
Brad King
89a628e28f Merge topic 'fortran-compiler-launcher'
f19c70c3 Fortran: Add option to run the compiler through launcher tools

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1517
2017-11-29 08:21:44 -05:00
Melven Roehrig-Zoellner
e04f1d1b47 CodeBlocks: add option for the CB compiler ID
CodeBlocks uses his own compiler ID string which may differ from
CMAKE_<LANG>_COMPILER_ID. In particular CodeBlocks supports a large
number of different compiler configurations (with different IDs)
This commit adds a cache variable "CMAKE_CODEBLOCKS_COMPILER_ID",
so the user might adjust it when needed.
2017-11-27 14:41:54 -05:00
Brad King
1882ba2e05 Merge topic 'extend-compile-language-genex'
2ae880fa Genex: Enable COMPILE_LANGUAGE for COMPILE_OPTIONS with Visual Studio
2b7d59f3 Genex: Enable COMPILE_LANGUAGE for file(GENERATE) with Visual Studio
0f6f7c8a Genex: Fix COMPILE_LANGUAGE messages to allow file(GENERATE) with Xcode
c5a82d0f Tests: Decouple COMPILE_LANGUAGE in file(GENERATE) from COMPILE_OPTIONS
25773650 Tests: Remove unnecessary result files from RunCMake.File_Generate

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Jason Juang <jasjuang@gmail.com>
Merge-request: !1511
2017-11-27 09:00:44 -05:00