Commit Graph

325 Commits

Author SHA1 Message Date
Craig Scott dd05ef429a Help: Fix inaccuracies in INSTALL_REMOVE_ENVIRONMENT_RPATH docs
The previous docs assumed one had to set INSTALL_RPATH for
this target property to have an effect, but the actual condition is
only that the install rpath is different to the build rpath. Even if
the install rpath is empty, it is possible that CMake will rewrite
the rpath during install because the build rpath could be
non-empty.
2019-11-04 17:02:57 +11:00
Brad King 13c8dbd5a6 Help: Document CMAKE_UNITY_BUILD/CMAKE_EXPORT_COMPILE_COMMANDS limitation
These two options currently do not work well together.  Mention this
limitation in the documentation.

Issue: #19826
2019-10-11 08:05:59 -04:00
Brad King 1d9155eb93 Help: Improve UNITY_BUILD documentation formatting 2019-10-11 08:03:29 -04:00
Brad King 0c5f78478e Merge topic 'xcode-debug-document-versioning'
67200c37b0 xcode: Add XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3876
2019-10-02 07:51:06 -04:00
Gregor Jasny 67200c37b0 xcode: Add XCODE_SCHEME_DEBUG_DOCUMENT_VERSIONING property 2019-10-01 23:02:35 +02:00
Corentin Plouet ab06de68c5 Help: fixed typos in PCH / Unity Build doc
+ typos in source code
2019-10-01 05:33:50 +10:00
Brad King dce58afd30 Merge branch 'backport-3.15-fix-EXCLUDE_FROM_ALL-subdir-all'
Resolve conflicts with changes since the 3.15 series:

* Convert `cmSystemTools::IsOn` => `cmIsOn`.
* Move one "EXCLUDE_FROM_ALL" target property logic fix to
  its new location in `cmMakefile::AddNewUtilityTarget`.
2019-09-30 09:34:57 -04:00
Brad King 05d7ca14e9 Merge branch 'backport-3.14-fix-EXCLUDE_FROM_ALL-subdir-all' 2019-09-30 09:19:21 -04:00
Brad King b3b1c7bf3a Restore "all" target in subdirectories marked EXCLUDE_FROM_ALL
The "all" target in each directory is supposed to have targets from that
directory even if the directory itself is marked `EXCLUDE_FROM_ALL` in
its parent.  This was broken by commit dc6888573d (Pass EXCLUDE_FROM_ALL
from directory to targets, 2019-01-15, v3.14.0-rc1~83^2) which made the
participation of a target in "all" independent of context.  Revert much
of the logic change from that commit to restore the old behavior.  Then
re-implement the behavior intended by the commit to keep its test
working.  Extend the test to cover the old behavior too.

Fixes: #19753
2019-09-30 09:18:20 -04:00
Brad King 9c31d83aa2 Merge topic 'autogen_path_prefix'
cc0900d9cd Help: Add release notes for AUTOMOC_PATH_PREFIX
692d8e3492 Help: Add documentation for AUTOMOC_PATH_PREFIX
1933ade9f1 Tests: At QtAutogen.MocIncludeSymlink test
706d9738a6 Tests: Merge QtAutogen.MocIncludeStrict and MocIncludeRelaxed
d018d27c10 Autogen: Add moc path prefix generation (AUTOMOC_PATH_PREFIX)
77983c8147 Autogen: Add IsHeader flag to SourceFileT class
f9e5441eb4 Autogen: Abbreviate file paths in messages
51676cf655 Autogen: Split JobEvalCacheT job into separate moc and uic jobs
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3818
2019-09-19 11:19:52 -04:00
Sebastian Holtermann 692d8e3492 Help: Add documentation for AUTOMOC_PATH_PREFIX 2019-09-18 11:48:23 -04:00
Cristian Adam 729d997f10 Precompile Headers: Add REUSE_FROM signature
Add the ability to share precompiled headers artifacts between
targets.

Fixes: #19659
2019-09-17 11:58:38 +02:00
Cristian Adam 7114c141e2 Unity build: Add support for Ninja and Makefile generators 2019-08-29 16:44:09 +02:00
Brad King fa36e2151d Merge topic 'precompile-headers'
8da78d4efe Precompile headers: Update documentation
5772930164 Precompile headers: Add unit tests
519606704e Precompile headers: Add support for Visual Studio generators
28be170fbc Precompile headers: Add support for Xcode generator
b8626261e9 Precompile headers: Add methods to generate PCH sources
375d01c680 PCH: add example/test
9b6797e71d PCH: add target_precompile_headers command
0467a2f91b PCH: add PRECOMPILE_HEADERS to special properties

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Daniel Pfeifer <daniel@pfeifer-mail.de>
Acked-by: Ivan171 <heavenandhell171@gmail.com>
Acked-by: Stanislav Ershov <digital.stream.of.mind@gmail.com>
Acked-by: Steve Mokris <smokris@softpixel.com>
Acked-by: Evgeniy Dushistov <dushistov@mail.ru>
Acked-by: Danila Malyutin <flashmozzg@gmail.com>
Acked-by: Viktor Kirilov <vik.kirilov@gmail.com>
Acked-by: Lucas Zhao <zhaopf6@163.com>
Merge-request: !3553
2019-08-29 09:38:21 -04:00
Brad King 3e93b2fa66 Merge topic 'vs-ConfigurationType-genex'
8909a450a6 VS: Add support for generator expressions to VS_CONFIGURATION_TYPE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3746
2019-08-28 11:53:12 -04:00
Cristian Adam 8da78d4efe Precompile headers: Update documentation 2019-08-28 11:47:51 -04:00
Saleem Abdulrasool 369c48ee43 Swift: honour -swift-version in Ninja generator
Swift has supported `CMAKE_Swift_LANGUAGE_VERSION` and
`Swift_LANGUAGE_VERSION` but didn't apply that to Ninja generated
targets.  Consider the property when calculating the flags.
2019-08-26 11:38:40 -04:00
Daniel Eiband 8909a450a6 VS: Add support for generator expressions to VS_CONFIGURATION_TYPE
Generator expressions in target property VS_CONFIGURATION_TYPE might be used to
set the ConfigurationType to Utility for certain configurations to not build
the target while still linking to the target in other configurations.

Fixes: #19613
2019-08-26 15:22:43 +02:00
Robert Maynard a233e4e7d9 CUDA: Compilers can now state they don't require a device linking step 2019-08-06 15:44:15 -04:00
Jiang Yue bd2793b6e9 Help: Add documentation for INSTALL_REMOVE_ENVIROMENT_RPATH 2019-07-25 12:30:24 -04:00
Brad King dcdeade5ee Merge topic 'msvc-runtime-library-doc'
282d9f3168 MSVC: Document behavior when MSVC_RUNTIME_LIBRARY is not set

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3573
2019-07-19 11:57:10 -04:00
Brad King 282d9f3168 MSVC: Document behavior when MSVC_RUNTIME_LIBRARY is not set
By default `CMAKE_MSVC_RUNTIME_LIBRARY` is not set.  Document the
default runtime library selection in that case.  We already test it.
2019-07-19 11:17:32 -04:00
Brad King 2fa920c0cd AIX: Create import library for executables with exports
On AIX, plugins meant to be loaded into executables via `dlopen` must be
linked with access to a list of symbols exported from the executable in
order to use them (when not using runtime linking).  The AIX linker
supports specifying this list as an "import file" passed on the command
line either via the `-bI:...` option or (with a leading `#! .` line) as
a normal input file like any other library file.

The linker import file plays the same role on AIX as import libraries do
on Windows.  Teach CMake to enable its import library abstraction on AIX
for executables with the `ENABLE_EXPORTS` target property set.  Teach
our internal `ExportImportList` script to optionally generate a leading
`#! .` line at the top of the generated export/import list.  Update our
rule for linking an executable with exports to generate a public-facing
"import library" implemented as an AIX linker import file.

With this approach, our existing infrastructure for handling import
libraries on Windows will now work for AIX linker import files too:

* Plugins that link to their executable's symbols will be automatically
  linked using the import file on the command line.

* The executable's import file will be (optionally) installed and
  exported for use in linking externally-built plugins.

This will allow executables and their plugins to build even if we later
turn off runtime linking.

Issue: #19163
2019-07-16 14:15:13 -04:00
Brad King 84ddeb8fa5 Help: Clarify ENABLE_EXPORTS per-platform link behavior
Spell out the behavior on each platform in a bullet list.
2019-07-16 10:09:40 -04:00
Brad King 3327fe948e Merge topic 'vs-dpi-aware'
cd92f8f8bf VS: Add VS_DPI_AWARE target property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3418
2019-06-27 08:56:41 -04:00
Matt Weir cd92f8f8bf VS: Add VS_DPI_AWARE target property
Enables setting the visual studio project property for Manifests,
controlling the DPI Aware setting.
2019-06-26 09:55:49 -04:00
Brad King 06f1560a58 Merge topic 'build-install-rpath-genex'
d29ed8a114 BUILD_RPATH/INSTALL_RPATH: Add generator expression support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3481
2019-06-26 07:14:04 -04:00
Brad King d7d282cd89 Merge topic 'doc-CMAKE_FRAMEWORK-crossref'
f57a53d43e Help: Document that CMAKE_FRAMEWORK initializes FRAMEWORK target prop

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3478
2019-06-26 06:59:33 -04:00
Brad King 2bbbc4ce1f Merge branch 'doc-CMAKE_FRAMEWORK-crossref' into release-3.15
Merge-request: !3478
2019-06-26 06:56:37 -04:00
Kyle Edwards d29ed8a114 BUILD_RPATH/INSTALL_RPATH: Add generator expression support
Fixes: #19423
2019-06-25 10:55:03 -04:00
Craig Scott f57a53d43e Help: Document that CMAKE_FRAMEWORK initializes FRAMEWORK target prop 2019-06-25 21:57:31 +10:00
Brad King 2225c8a1dd Merge topic 'doc-IMPORTED_LOCATION'
96c6bc2584 Help: Improve documentation of IMPORTED_LOCATION property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex Turbov <i.zaufi@gmail.com>
Merge-request: !3466
2019-06-24 08:26:46 -04:00
Brad King 7dbd21fcf4 Merge branch 'doc-IMPORTED_LOCATION' into release-3.15
Merge-request: !3466
2019-06-21 12:00:44 -04:00
Alexandru Croitor 96c6bc2584 Help: Improve documentation of IMPORTED_LOCATION property
Mention the usage of a configuration specific
`IMPORTED_LOCATION_<CONFIG>` value even if the `<CONFIG>` is not the
same as the active configuration of the currently built project.

Co-Author: Brad King <brad.king@kitware.com>
2019-06-21 11:59:38 -04:00
Sebastian Holtermann b55e5d6641 Help: Autogen: Overhaul AUTOMOC target property documentation
- Rewrites and restructures the AUTOMOC target property documentation
- Remove the reference to the deprecated CMAKE_AUTOMOC_RELAXED_MODE

Fixes: #19167
2019-06-19 10:40:42 -04:00
Sebastian Holtermann fdab21f30b Help: Autogen: Overhaul AUTOUIC target property documentation 2019-06-19 10:40:42 -04:00
Sebastian Holtermann d08548c624 Help: Autogen: Overhaul AUTORCC target property documentation 2019-06-19 10:40:42 -04:00
Sebastian Holtermann e61074c672 Help: Improve ADDITIONAL_CLEAN_FILES documentation
Extend the `ADDITIONAL_CLEAN_FILES' target and directory property
documentation.

Fixes: #19341
2019-06-07 21:10:19 +10:00
Brad King e075e64fd8 Help: Document Swift_DEPENDENCIES_FILE property defaults
Copy wording from the release notes.
2019-06-04 09:55:37 -04:00
Marek Antoniak fec441ec17 Teach CROSSCOMPILING_EMULATOR to support arguments
Fixes: #19321
2019-06-03 10:17:17 -04:00
Kinan Mahdi 42e14d90b1 VS: Added support for VS package references for nuget 2019-05-30 10:22:44 -04:00
Brad King 389f795d2e Merge topic 'doc-ipo-check'
a59662bb5b Help: Add CheckIPOSupported link to INTERPROCEDURAL_OPTIMIZATION

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3333
2019-05-21 09:40:03 -04:00
Brad King a9fb9a8774 Merge topic 'ninja-swift'
a9180ccf9a Tests: add a check for the Swift compiler
d745551fb6 Help: add some initial documentation for Swift support
9a182c9e5b Auxiliary: update vim syntax highlighting
e9b0063e8e Modules: add build rules for Swift Ninja support
b6412e3e38 Ninja: add placeholders to support Swift build
7d7f31161d Ninja: add support for Swift's output-file-map.json
d688c4c19d Swift: remove unnecessary unreleased Ninja infrastructure
0723582208 Swift: Detect compiler version
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3297
2019-05-20 10:55:27 -04:00
Ruslan Baratov a59662bb5b Help: Add CheckIPOSupported link to INTERPROCEDURAL_OPTIMIZATION 2019-05-17 20:46:00 +03:00
Brad King e1c95bc278 Merge topic 'autogen_ninja_clean'
93ee7dd044 Autogen: Update documentation for ADDITIONAL_CLEAN_FILES
4b4fd99f41 Autogen: Use ADDITIONAL_CLEAN_FILES target property for file cleaning

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3327
2019-05-17 09:38:44 -04:00
Saleem Abdulrasool d745551fb6 Help: add some initial documentation for Swift support 2019-05-16 14:41:05 -04:00
Brad King 9ee24ede73 Merge topic 'msvc-jmc'
2a9ff9703e MSVC: Add support for /JMC (Just My Code)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3121
2019-05-15 14:06:58 -04:00
Sebastian Holtermann 93ee7dd044 Autogen: Update documentation for ADDITIONAL_CLEAN_FILES
Update the AUTOGEN documentation for the use of `ADDITIONAL_CLEAN_FILES`
instead of `ADDITIONAL_MAKE_CLEAN_FILES`.
2019-05-15 15:28:17 +02:00
Luca Cappa 2a9ff9703e MSVC: Add support for /JMC (Just My Code) 2019-05-14 13:27:18 -04:00
Sebastian Holtermann 338994d65d Doc: Add documentation for ADDITIONAL_CLEAN_FILES properties 2019-05-14 17:50:14 +02:00