Commit Graph

2356 Commits

Author SHA1 Message Date
Deniz Bahadir
4e7f67383f Defer check for sources within a target until generation.
The `add_library` and `add_executable` commands can now be called with
no source-files and won't generate a warning or error message, as long
as source-files will be added later via the `target_sources` command.
If during the generation step still no sources are associated with
targets created by such calls a useful error message will be generated
and generation fails.

Targets of type `INTERFACE_LIBRARY`, `UTILITY` or `GLOBAL_TARGET` are
excluded from this check because we do not need sources for these target
types during generation.

Fixes: #16872
2017-10-24 08:14:47 -04:00
Brad King
358ceee5d8 Merge topic 'curl_netrc_options'
d45aa38a Add dev notes for topic 'curl_netrc_options'
60c272b6 ExternalProject: Add support for NETRC and NETRC_FILE suboption
754e39dd Add testcases for file(DOWNLOAD|UPLOAD) netrc options
5d67e902 file(DOWNLOAD|UPLOAD): Add 'NETRC' and 'NETRC_FILE' suboption

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ruslan Baratov <ruslan_baratov@yahoo.com>
Merge-request: !1376
2017-10-19 09:27:43 -04:00
Brad King
d209275330 Merge topic 'ti-compiler-depfile-support'
ad9327d9 Compiler/TI: Add support for depfile generation for Ninja

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1389
2017-10-19 09:27:09 -04:00
Shane Parris
d45aa38a06 Add dev notes for topic 'curl_netrc_options' 2017-10-18 15:21:43 -04:00
Shane Parris
5d67e9025d file(DOWNLOAD|UPLOAD): Add 'NETRC' and 'NETRC_FILE' suboption 2017-10-18 15:21:42 -04:00
Nico Müller
ad9327d936 Compiler/TI: Add support for depfile generation for Ninja
TI C/C++ compiler are now able to generate dependency files during
compilation.

Fixes: #17360
2017-10-18 09:43:22 -04:00
Brad King
b0b94cdec5 Merge topic 'cmake-open'
96d642c7 cmake-gui: Use cmake::Open to open generated project
5de37a4a cmake: Add --open option for IDE generators

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ruslan Baratov <ruslan_baratov@yahoo.com>
Merge-request: !1337
2017-10-18 09:37:59 -04:00
Brad King
0dba1db9d5 Merge topic 'module-fetchcontent'
1e56634f FetchContent: Add tests
60e74d2f FetchContent: New module for populating content at configure time

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1306
2017-10-18 09:37:26 -04:00
Craig Scott
60e74d2f19 FetchContent: New module for populating content at configure time 2017-10-17 08:07:09 +11:00
Brad King
60f982aab4 Merge topic 'imported-interface-no-system'
22beb07f Help: Clarify documentation of NO_SYSTEM_FROM_IMPORTED
2de0e0fd Do not initialize NO_SYSTEM_FROM_IMPORTED on INTERFACE libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1386
2017-10-16 09:51:46 -04:00
Gregor Jasny
5de37a4a64 cmake: Add --open option for IDE generators 2017-10-13 21:28:34 +02:00
Brad King
22beb07f98 Help: Clarify documentation of NO_SYSTEM_FROM_IMPORTED
This property is meant to be set on the consumers of imported targets,
not the imported targets themselves.

Fixes: #17348
2017-10-13 14:32:15 -04:00
Brad King
2de0e0fdfa Do not initialize NO_SYSTEM_FROM_IMPORTED on INTERFACE libraries
The change in commit v3.8.0-rc1~276^2 (Allow NO_SYSTEM_FROM_IMPORTED on
imported INTERFACE libraries, 2016-11-21) was incorrect.  The property
is not meant to be set on imported targets at all.  It is meant to be
set on their consumers that compile sources.  Since INTERFACE libraries
have no sources to compile, the property is not needed on them.

Revert most of that change.  Unfortunately we must still tolerate
project code setting NO_SYSTEM_FROM_IMPORTED on INTERFACE libraries
because they were allowed by CMake 3.8 and 3.9.

Issue: #17348
2017-10-13 14:32:14 -04:00
Brad King
5d6ba8f2da Merge topic 'autogen-skip-ui'
e95429fd Autogen: Docs: Extend SKIP_AUTOUIC documentation
814cddbe Autogen: Docs: Add examples for AUTORCC_OPTIONS and AUTOUIC_OPTIONS
1c196268 Autogen: Allow setting SKIP_AUTOUIC/GEN on .ui files not in the sources

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1366
2017-10-11 08:17:57 -04:00
Sebastian Holtermann
e95429fd85 Autogen: Docs: Extend SKIP_AUTOUIC documentation 2017-10-10 13:52:49 -04:00
Brad King
f3bb9fcf0c Merge topic 'doc-lang-clarify'
1ed11f1c Help: Minor text clarifications in cmake-language(7) manual

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1358
2017-10-10 13:46:34 -04:00
Brad King
1ed11f1c0d Help: Minor text clarifications in cmake-language(7) manual
Clarify definitions of `bracket_open` and `bracket_close` productions.

In note about unquoted arguments containing unescaped double quotes,
provide examples of how they can be written as quoted arguments.

Also clarify location of nested calls supported by variable function
scope.

Suggested-by: Дилян Палаузов <dilyan.palauzov@aegee.org>
2017-10-10 11:26:00 -04:00
Brad King
54739743e5 Merge topic 'doc_bundle_wrong_plist_property'
a56d9ecf Help: Fix wrong property reference for an app bundle's Info.plist

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1362
2017-10-10 09:02:50 -04:00
Brad King
0a6dd27e86 Merge topic 'target_properties_doc_cleanup'
b8010bda Help: Fix Example appearing in target property list of contents

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1361
2017-10-10 09:02:22 -04:00
Sebastian Holtermann
814cddbe18 Autogen: Docs: Add examples for AUTORCC_OPTIONS and AUTOUIC_OPTIONS 2017-10-09 14:36:48 +02:00
Craig Scott
a56d9ecf75 Help: Fix wrong property reference for an app bundle's Info.plist 2017-10-07 19:55:51 +11:00
Craig Scott
b8010bda3f Help: Fix Example appearing in target property list of contents 2017-10-07 18:01:23 +11:00
Brad King
3cebe2aba8 Help: Revise 3.10 release notes
Reduce duplication of `AUTOMOC` feature text.  Clarify QtIFW version
requirements.
2017-10-06 06:59:30 -04:00
Brad King
ba8aa6899d Begin post-3.10 development 2017-10-05 09:59:57 -04:00
Brad King
42d656b0b2 Help: Drop development topic notes to prepare release
Release versions do not have the development topic section of
the CMake Release Notes index page.
2017-10-05 09:54:11 -04:00
Brad King
0565192aff Help: Organize and revise 3.10 release notes
Add section headers similar to the 3.9 release notes and move each
individual bullet into an appropriate section.  Revise a few bullets.
2017-10-05 09:24:08 -04:00
Brad King
dd5835c0d6 Help: Consolidate 3.10 release notes
Run the `Utilities/Release/consolidate-relnotes.bash` script to move
notes from `Help/release/dev/*` into `Help/release/3.10.rst`.
2017-10-05 08:00:03 -04:00
Brad King
b320eb48f3 Merge topic 'compiler-version-internal'
1bdb8cd2 IAR: Detect compiler platform version
b96ca728 Add infrastructure to detect secondary compiler version information
f952f16d Help: Fix placement of one variable in cmake-variables manual

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1324
2017-10-04 07:07:09 -04:00
Brad King
046625d26f Merge topic 'FindProtobuf-gen-desc'
1299f4cc FindProtobuf: add flag to allow descriptor files to be generated
4e91be95 FindProtobuf: Refactor custom command output listing

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1301
2017-10-03 08:14:34 -04:00
Brad King
b96ca728f1 Add infrastructure to detect secondary compiler version information
Create a `CMAKE_<LANG>_COMPILER_VERSION_INTERNAL` variable to hold
a secondary/internal compiler version number detected at the same
time as the primary compiler version.  This will be useful for some
compilers where we need such a number to determine correct usage.

Inspired-by: Stefan Andersson <tfosm@hotmail.com>
Suggested-by: Norbert Lange <norbert.lange@andritz.com>
Issue: #17264
2017-10-03 08:11:27 -04:00
Brad King
f952f16d23 Help: Fix placement of one variable in cmake-variables manual
The `CMAKE_<LANG>_COMPILER_PREDEFINES_COMMAND` variable was recently
added slightly in the wrong place for the sorted ordering.
2017-10-02 11:40:40 -04:00
Peter Mitrano
1299f4cc5e FindProtobuf: add flag to allow descriptor files to be generated
- The .desc files will be in the same folder as the generated .cc and .h files.
- Paths to generate .desc files are stored in a variable passed in
- This is only implemented for C++
- Remove legacy ARGS
- Add test that generates and uses C++ protobuf message
- Add test that checks that the generated .desc file can be instantiated
  with DynamicMessageFactory
- Add Help rst for new feature
2017-10-02 08:08:24 -04:00
Brad King
275b4a53ee Merge topic 'autogen-predefs'
6bbc1e77 Autogen: Add release notes for (CMAKE_)AUTOMOC_COMPILER_PREDEFINES
75c98b5e Autogen: Doc: Add documentation for (CMAKE_)AUTOMOC_COMPILER_PREDEFINES
1d7f099d Autogen: Add (CMAKE_)AUTOMOC_COMPILER_PREDEFINES

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1328
2017-10-02 08:01:21 -04:00
Sebastian Holtermann
6bbc1e775d Autogen: Add release notes for (CMAKE_)AUTOMOC_COMPILER_PREDEFINES 2017-09-29 15:32:10 +02:00
Brad King
6bced4bf76 Merge topic 'cuda_9_support'
fe37b994 CUDA: Add support for requesting C++98 under CUDA 9

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1315
2017-09-29 09:23:39 -04:00
Sebastian Holtermann
75c98b5ef4 Autogen: Doc: Add documentation for (CMAKE_)AUTOMOC_COMPILER_PREDEFINES
Also adds the documentation for CMAKE_<LANG>_COMPILER_PREDEFINES_COMMAND.

Closes #17275
2017-09-29 15:00:47 +02:00
Brad King
59285ee58e Merge topic 'add-vs-shader-properties'
49dab3eb VS: Add VS_SHADER_OUTPUT_HEADER_FILE and VS_SHADER_VARIABLE_NAME properties.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1319
2017-09-29 08:56:04 -04:00
Brad King
194dd9ea8b Merge topic 'autogen-macro-names2'
93c8d55d Autogen: Update (CMAKE_)AUTOMOC_MACRO_NAMES release notes
084ace47 Autogen: Tests: Update AUTOMOC_MACRO_NAMES test
08041dd1 Autogen: Doc: Update documentation for (CMAKE_)AUTOMOC_MACRO_NAMES
7b33d67b Autogen: Create info file directory before writing
786b5be0 Autogen: Define all macro names in CMAKE_AUTOMOC_MACRO_NAMES

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1321
2017-09-29 08:53:13 -04:00
Brad King
460a94e29f Merge topic 'autogen-cmp0071-warning'
ff6a5125 Autogen: Doc: Add examples to the SKIP_AUTO* documentations
8831818f Autogen: Doc: Update CMP0071 description
b0775c75 Autogen: Offer solution for CMP0071 in warning message

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1322
2017-09-29 08:52:44 -04:00
Brad King
b8018135b5 Use C++11 '= delete' instead of CM_EQ_DELETE
We now require C++11 support including `= delete`.  Drop use of
the old compatibility macro.
2017-09-28 09:50:18 -04:00
Sebastian Holtermann
ff6a51254a Autogen: Doc: Add examples to the SKIP_AUTO* documentations 2017-09-28 12:34:27 +02:00
Sebastian Holtermann
8831818f14 Autogen: Doc: Update CMP0071 description 2017-09-28 12:34:27 +02:00
Sebastian Holtermann
93c8d55d04 Autogen: Update (CMAKE_)AUTOMOC_MACRO_NAMES release notes 2017-09-28 09:21:44 +02:00
Sebastian Holtermann
08041dd15e Autogen: Doc: Update documentation for (CMAKE_)AUTOMOC_MACRO_NAMES 2017-09-28 09:21:44 +02:00
Craig Scott
a2eec58dfa Merge topic 'document_env_variables'
e6b77c5f Help: Document CMake's environment variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1235
2017-09-27 09:01:35 -04:00
Kevin M. Godby
49dab3ebfb VS: Add VS_SHADER_OUTPUT_HEADER_FILE and VS_SHADER_VARIABLE_NAME properties.
The VS_SHADER_OUTPUT_HEADER_FILE property is the name of the generated
header file containing the object code of the shader.

The VS_SHADER_VARIABLE_NAME property is the name of the variable
containing the object code in the above header file.

Signed-off-by: Kevin M. Godby <kevin@godby.org>
2017-09-27 07:56:09 -04:00
Brad King
068effa4d8 Merge topic 'auto_ptr'
f0489856 Retire std::auto_ptr and its macro CM_AUTO_PTR

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Pavel Solodovnikov <hellyeahdominate@gmail.com>
Merge-request: !1300
2017-09-27 07:25:11 -04:00
Brad King
05e234cb16 Merge topic 'autogen-per-config-sources'
4603d6b0 Autogen: Docs: Add documentation internal links
f86ba8ee Autogen: Reintroduce per-config sources support
5d3bca64 Autogen: Rename cmQtAutoGen::GeneratorType to cmQtAutogen::Generator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1307
2017-09-27 07:15:12 -04:00
Brad King
c4d0939fba Merge topic 'FindOpenGL-glvnd'
e2e8a690 FindOpenGL: Add support for GLVND on Linux

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !782
2017-09-27 07:13:12 -04:00
Robert Maynard
fe37b99473 CUDA: Add support for requesting C++98 under CUDA 9
Starting in CUDA 9 the default compilation mode is C++14, and you need
to explicitly enable C++98/03 mode.

While at it, document `14` among the values for `CUDA_STANDARD`.  This
was accidentally left out of commit v3.9.0-rc1~118^2 (CUDA: Add support
for the C++14 standard flag, 2017-05-11).
2017-09-26 11:08:09 -04:00