Commit Graph

39488 Commits

Author SHA1 Message Date
Kitware Robot
1925fe9fed CMake Nightly Date Stamp 2018-04-29 00:01:04 -04:00
Kitware Robot
65a4b2aade CMake Nightly Date Stamp 2018-04-28 00:01:06 -04:00
Brad King
0036966c0b Merge topic 'vs-refactor-xml'
4465a27882 cmVisualStudio10TargetGenerator: XML refactoring

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2012
2018-04-27 08:24:51 -04:00
Brad King
ea8189ee55 Merge topic 'vs-managed-fastlink'
27b28c001f VS: Don't turn on /DEBUG:FASTLINK for managed C++ targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2011
2018-04-27 08:24:06 -04:00
Kitware Robot
48dcb2cacb CMake Nightly Date Stamp 2018-04-27 00:01:05 -04:00
Vitaly Stakhovsky
4465a27882 cmVisualStudio10TargetGenerator: XML refactoring 2018-04-26 13:45:29 -04:00
Calum Robinson
27b28c001f VS: Don't turn on /DEBUG:FASTLINK for managed C++ targets
FastLink is only supported for native C++ targets. Turning it off avoids
a warning when building managed C++.
2018-04-26 15:36:59 +01:00
Brad King
e52cf1034f Merge topic 'csharp_reference_imported_targets'
de549083e3 cmVisualStudio10TargetGenerator: warn if /clr flag is set manually
59ec7d50bd cmVisualStudio10TargetGenerator: fix for backward compatibility
663f5120f4 cmGlobalVisualStudioGenerator: remove TargetCanBeReferenced()
359544a907 add tests for using target_link_libraries() with imported managed targets
43571073e0 cmVisualStudio10TargetGenerator: store managed reference information in maps
16fec7e2fc cmVisualStudio10TargetGenerator: make some methods config aware
f3c6828876 cmVisualStudio10TargetGenerator: /clr compatible flags for managed tgt
f9042d807d remove TargetIsCSharpOnly() and use methods from cmGeneratorTarget
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1805
2018-04-26 08:55:19 -04:00
Brad King
6fd60c6ef0 Merge branch 'release-3.11' 2018-04-26 08:50:33 -04:00
Brad King
cca8bc88ba Merge topic 'ninja-issue-17942'
ee44f390ce Ninja: Make assumed source dependencies order-only
625b8f9076 Ninja: Avoid empty phony edges for target ordering
ae6722483e Merge branch 'backport-ninja-issue-17942' into ninja-issue-17942
0826c20128 Ninja: Do not add empty custom command for file(GENERATE) outputs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2010
2018-04-26 08:48:45 -04:00
Brad King
a92ee4e30d Merge branch 'backport-ninja-issue-17942' into release-3.11
Merge-request: !2010
2018-04-26 08:41:18 -04:00
Brad King
ee44f390ce Ninja: Make assumed source dependencies order-only
Since its beginning the Ninja generator has handled `GENERATED` source
files that have no custom command producing them by writing a dummy
custom command for them that depends on the target ordering phony edge.
Make the custom command's dependency order-only since the phony edge
also has only order-only dependencies.  The dummy custom command
should never be considered "dirty" by `ninja`.

Fixes: #17942
2018-04-26 08:40:59 -04:00
Brad King
625b8f9076 Ninja: Avoid empty phony edges for target ordering
Since commit v3.9.0-rc1~230^2~2 (ninja: break unnecessary target
dependencies, 2017-04-17) we unconditionally generate a phony edge for
target ordering.  It is needed in case a later target depends on it.
However, if the phony edge has no inputs then `ninja -d explain` prints:

    ninja explain: output ... of phony edge with no inputs doesn't exist

Furthermore the phony edge's output is considered dirty and can cause
dependents to be incorrectly considered dirty.  Avoid this by always
generating at least one input to the target ordering phony edges.
If we have no real dependencies just use a path that always exists.

Fixes: #17942
2018-04-26 08:40:57 -04:00
Brad King
ae6722483e Merge branch 'backport-ninja-issue-17942' into ninja-issue-17942 2018-04-26 08:40:49 -04:00
Brad King
0826c20128 Ninja: Do not add empty custom command for file(GENERATE) outputs
Internally we mark `file(GENERATE)` outputs as `GENERATED` in order
to tell custom command dependency tracing logic not to expect the
files to exist on disk yet.  This is because we do not generate the
files until after that tracing is done.

The Ninja generator also interprets the `GENERATED` property to mean
that it is expected that some build rule will generate the file if
another build rule depends on it.  If the generator does not know of a
custom command that generates the file then it adds an empty one so that
the `ninja` build tool does not complain about a dependency on a file
that does not exist and has no rule to generate it.  However, this step
is not necessary for `file(GENERATE)` outputs because there is no build
rule to generate them and they will exist before `ninja` runs.

Add an additional `__CMAKE_GENERATED_BY_CMAKE` property internally to
tell the Ninja generator that a `GENERATED` file will exist before the
build starts and is not expected to have a build rule producing it.

Fixes: #17942
2018-04-26 08:39:44 -04:00
Brad King
5858267df6 Merge topic 'vs-refactor-xml'
dfff12c808 VS: Add Elem::Content() helper and usage demo
1f29777798 cmVisualStudio10TargetGenerator: refactoring (continued)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2005
2018-04-26 08:36:44 -04:00
Vitaly Stakhovsky
dfff12c808 VS: Add Elem::Content() helper and usage demo 2018-04-26 08:35:43 -04:00
Brad King
caf6d93acd Merge topic 'numeric-indent'
7d407b438d cmVisualStudioGeneratorOptions: specify indentation with integer

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2008
2018-04-26 08:31:09 -04:00
Brad King
0fada977fe Merge branch 'release-3.11' 2018-04-26 08:25:45 -04:00
Brad King
3f673f9b27 Merge topic 'java-new-packaging'
ea54a9c666 Merge branch 'backport-java-new-packaging' into java-new-packaging
5482f485b8 FindJava, FindJNI, UseJava: update for version 10 support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2007
2018-04-26 08:24:38 -04:00
Kitware Robot
52ae29e63b CMake Nightly Date Stamp 2018-04-26 00:01:04 -04:00
Vitaly Stakhovsky
7d407b438d cmVisualStudioGeneratorOptions: specify indentation with integer 2018-04-25 11:01:37 -04:00
Brad King
b58e41ccbd Merge branch 'backport-java-new-packaging' into release-3.11
Merge-request: !2007
2018-04-25 09:42:58 -04:00
Brad King
ea54a9c666 Merge branch 'backport-java-new-packaging' into java-new-packaging
Fix conflicts by combining the changes from both sides.
2018-04-25 09:19:35 -04:00
Marc Chevrier
5482f485b8 FindJava, FindJNI, UseJava: update for version 10 support
* new version format
* new registry layout on Windows

Fixes: #17938
2018-04-25 09:18:53 -04:00
Brad King
83e3b1497d Merge branch 'release-3.11' 2018-04-25 08:59:00 -04:00
Brad King
9df096633b Merge topic 'BLAS-no-target-in-libs'
7d756f37cc FindBLAS: do not write an imported target name into BLAS_LIBRARIES
946846aaf5 FindPkgConfig: do not unset unused variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2006
2018-04-25 08:58:39 -04:00
Brad King
22e4837442 Merge topic 'fix-CMAKE_DISABLE_SOURCE_CHANGES-top-dir'
60cb75e4a1 Fix CMAKE_DISABLE_SOURCE_CHANGES recognition of top of build tree

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2001
2018-04-25 08:57:08 -04:00
Brad King
5a6c629289 Merge topic 'vs-dedup-custom-commands'
f59c33a763 VS: Generate a custom command only in the least dependent target
d58d4daa6b cmVisualStudio10TargetGenerator: Use cmLocalVisualStudio10Generator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1889
2018-04-25 08:56:16 -04:00
Brad King
e5d15848ca Merge topic 'vs-hlsl-object-name'
8d1ccbc693 VS: Add VS_SHADER_OBJECT_FILE_NAME source file property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1997
2018-04-25 08:53:54 -04:00
Brad King
8fd76452a4 Merge topic 'testbigendian-cache-check-fix'
7b1c5f9f05 TestBigEndian: Include CheckTypeSize outside macro

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1999
2018-04-25 08:53:01 -04:00
Brad King
52c11e4f64 Merge topic 'file_install_always_out_of_date_fix'
6dcd1bfa39 file(INSTALL): Preserve file time when writing NTFS alternate stream

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1992
2018-04-25 08:52:15 -04:00
Brad King
92eae6b72d Merge topic 'cuda-no-cache-host-compiler'
bff4651f2e CUDA: Do not create CMAKE_CUDA_HOST_COMPILER cache entry

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2003
2018-04-25 08:51:03 -04:00
Kitware Robot
7e4e14219d CMake Nightly Date Stamp 2018-04-25 00:01:06 -04:00
Brad King
dc3401d5b0 Merge branch 'BLAS-no-target-in-libs' into release-3.11
Merge-request: !2006
2018-04-24 13:58:11 -04:00
Rolf Eike Beer
7d756f37cc FindBLAS: do not write an imported target name into BLAS_LIBRARIES
Since commit v3.11.0-rc1~177^2 (FindBLAS: optionally query pkg-config
for a library, 2017-12-15) the `BLAS_LIBRARIES` result variable may
incorrectly contain the name of an imported target.  Instead store the
list of libraries in the variable.  Unfortunately pkg_check_modules does
not provide a way to get this so we need to use a (temporary) hack of
reading `INTERFACE_LINK_LIBRARIES` from the interface library target.

Fixes: #17934
2018-04-24 13:49:20 -04:00
Rolf Eike Beer
946846aaf5 FindPkgConfig: do not unset unused variable
_props is never used, it was a leftover from a development step.
2018-04-24 13:46:41 -04:00
Vitaly Stakhovsky
1f29777798 cmVisualStudio10TargetGenerator: refactoring (continued) 2018-04-24 12:01:19 -04:00
Jeremiah van Oosten
8d1ccbc693 VS: Add VS_SHADER_OBJECT_FILE_NAME source file property 2018-04-24 11:29:16 -04:00
Cristian Adam
7b1c5f9f05 TestBigEndian: Include CheckTypeSize outside macro
When using https://github.com/cristianadam/cmake-checks-cache I have
noticed that CheckTypeSize would in certain cases have an empty
`__check_type_size_dir` variable.  The errors would point to
`TestBigEndian`.  By moving `include(CheckTypeSize)` outside the macro,
the errors go away.

Including dependencies of a module when the module is first included is
simpler and cleaner anyway.
2018-04-24 11:18:43 -04:00
Brad King
d4b97e8d72 Merge topic 'doc-tidy-example'
ae09bc774b Help: Add example to CMAKE_<LANG>_CLANG_TIDY

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2002
2018-04-24 11:08:03 -04:00
Brad King
195400cab7 Merge topic 'Genex-TARGET_GENEX_PROPERTY'
4d15046edd Genex: Add $<TARGET_GENEX_EVAL:...> and $<GENEX_EVAL:...>

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1984
2018-04-24 11:06:19 -04:00
Brad King
b928be62fa Merge topic 'reorder-sys-includes'
76ad2ecb50 Order SYSTEM include directories after non-system directories

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1968
2018-04-24 11:05:12 -04:00
Brad King
1ec112c70d Merge topic 'FindPython-stabilization'
d02a9bacf6 FindPython: ensure correct architecture (i.e. 32/64bit) is used

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1991
2018-04-24 11:04:10 -04:00
Brad King
2982bbaa4d Merge topic 'CUDA7'
1fb2812d5b CUDA: Add compiler detection for CUDA < 7.5

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1993
2018-04-24 11:03:23 -04:00
Brad King
c74b9618d5 Merge topic 'cpack-doc-defaults'
30c8c9f55d CPack: Add CPACK_PACKAGE_HOMEPAGE_URL setting
c9fa8f9442 CPack: Fix documented CPACK_PACKAGE_DESCRIPTION_SUMMARY default

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1998
2018-04-24 11:02:28 -04:00
Brad King
6c942ec338 Merge topic 'FindMatlab/mcr-compatibility'
59fb9e89b2 FindMatlab: Matlab Runtime Compiler support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1970
2018-04-24 11:01:36 -04:00
Brad King
0b992b9751 Merge branch 'fix-CMAKE_DISABLE_SOURCE_CHANGES-top-dir' into release-3.11
Merge-request: !2001
2018-04-24 10:44:49 -04:00
Marc Chevrier
60cb75e4a1 Fix CMAKE_DISABLE_SOURCE_CHANGES recognition of top of build tree
The change in commit v3.11.0-rc1~480^2 (UseJava: add_jar OUTPUT_DIR
option used only for jar generation, 2017-10-12) added code of the form
`file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR})`.  This exposed an existing
bug in `CMAKE_DISABLE_SOURCE_CHANGES` in which it does not recognize
that the top of the build tree itself is in the build tree.  Fix that
now.

Fixes: #17933
2018-04-24 10:42:00 -04:00
Brad King
bff4651f2e CUDA: Do not create CMAKE_CUDA_HOST_COMPILER cache entry
Users can create it through an explicit command-line option if desired.

Initializing the variable as an empty cache entry can wipe out a normal
variable of the same name that may have been set by a toolchain file.
Since commit v3.8.0-rc1~261^2~11 (CUDA: Use the host compiler for
linking CUDA executables and shared libs, 2016-09-19) we save the value
of `CMAKE_CUDA_HOST_COMPILER` persistently in the compiler information
file as a normal variable.

Fixes: #17935
2018-04-24 10:09:36 -04:00