| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| |
| | |
Merge-request: !1203
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since commit v3.9.0-rc4~4^2 (Vs: allow CSharp targets to be linked to
CXX targets, 2017-06-20) CSharp targets get `ProjectReference` entries
to their dependencies. This causes VS to also reference the
dependency's output assembly by default, which is incorrect for
non-managed targets.
Fix this by setting `ReferenceOutputAssembly` to `false` for targets
that can't provide output assemblies. Unmanaged C++ targets (shared
libs & executables) can still be referenced and a warning will be shown
in the IDE but the build will not break anymore.
Fixes: #17172
|
|\ \
| |/
|/|
| | |
Merge-request: !1218
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Refactoring in commit v3.8.0-rc1~445^2~2 (cmTarget: Move sanity checks
and computed property access to callers, 2016-10-13) exposed a typo in
commit v3.8.0-rc1~445^2~3 (cmGeneratorTarget: Implement
cmTargetPropertyComputer interface, 2016-10-13). Together they broke
the `$<TARGET_PROPERTY:mytgt,SOURCES>` generator expression in the case
that the `SOURCES` target property is populated in part by the
`target_sources` command. Add the missing `;`-separator.
Fixes: #17243
|
|\ \
| | |
| | |
| | | |
Merge-request: !1208
|
| |/
| |
| |
| |
| |
| |
| |
| | |
The change in commit v3.9.0-rc1~116^2~6 (cmakemain: use script role for
-P, 2017-05-11) accidentally left project commands out of find-package
mode, causing packages that provide imported targets to break.
Fixes: #17124
|
|\ \
| | |
| | |
| | | |
Merge-request: !1206
|
| |/
| |
| |
| |
| |
| | |
We use `std::sort` and so must include `<algorithm>`.
Issue: #17233
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The change in commit v3.9.0~3^2 (Xcode: Add "outputPaths" to custom
command script build phase, 2017-07-13) was meant to support Xcode 9's
new build system. However, without matching "inputPaths", Xcode will
not re-run the build phase if its outputs have already been generated.
This broke the old Xcode build system too.
Revert the change for now so at least the old Xcode build system works.
Further investigation will be needed to add proper support for Xcode 9's
new build system.
Fixes: #17178
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When encountering an `#include "<PATH>ui_<BASE>.h"` statement,
search for `<BASE>.ui` in
- <SOURCE_DIR>/<BASE>.ui
- <SOURCE_DIR>/<PATH><BASE>.ui
- <AUTOUIC_SEARCH_PATH>/<BASE>.ui
- <AUTOUIC_SEARCH_PATH>/<PATH><BASE>.ui
In CMake 3.8.2 the lookup list was
- <SOURCE_DIR>/<BASE>.ui
In CMake 3.9.[01] the lookup list was
- <SOURCE_DIR>/<PATH><BASE.ui>
- <AUTOUIC_SEARCH_PATH>/<PATH><BASE>.ui
Closes #17168
|
| |
|
|\
| |
| |
| | |
Merge-request: !1116
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Disable the feature added by commit v3.9.0-rc1~71^2~2 (find_*: Add a new
PackageRoot search path group, 2017-05-03) and remove documentation
added by commit v3.9.0-rc1~71^2 (find_*: Add docs for PackageRoot search
path group, 2017-05-03). Unfortunately the name `<pkg>_ROOT` may
already be set by projects for their own incompatible purposes. Disable
the behavior change for now to fix the regression for CMake 3.9. We can
restore it later with a policy.
In order to keep the implementation and tests working, add an
undocumented variable we can use in the tests to enable the behavior
before the policy is introduced.
Fixes: #17144
|
| |
| |
| |
| |
| |
| |
| |
| | |
The **AUTOGEN** include directory was always passed to the compiler but
only generated on demand. To avoid compiler complaints when using
`-Wmissing-include-dirs` make sure the directory gets created always.
Closes #17147
|
|\ \
| |/
| |
| | |
Merge-request: !1082
|
| | |
|
|\ \
| | |
| | |
| | | |
Merge-request: !1100
|
| |/
| |
| |
| |
| |
| |
| |
| | |
In some environments MSBuild chooses the `Release` configuration
even though only `Debug` is available in our detection project.
Force use of the `Debug` configuration with a command-line option.
Fixes: #17118
|
|/
|
|
| |
Test for nullptr before constructing std::string.
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The code
add_library(A OBJECT a.c)
target_sources(A PRIVATE $<TARGET_OBJECTS:A>)
used to crash CMake via infinite recursion while evaluating the
generator expression. Then the change in commit v3.9.0-rc1~266^2~1
(cmGeneratorTarget: Replace source classifier implementation,
2017-04-07) avoided the infinite recursion because GetKindedSources now
creates a map entry and initializes it once. If it is called again on
the same target during that initialization, the partially computed
results are returned. This is still wrong but does not crash.
Detect and diagnose this case instead.
Co-Author: Ben Boeckel <ben.boeckel@kitware.com>
Fixes: #16578
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| | |
This is needed for Xcode 9's "New Build System", whose release notes
mention "that output must be declared as an explicit output by the
script which generates it" in reference to outputs of custom script
build phases.
|
|\ \ |
|
| |/
| |
| |
| |
| |
| | |
The change in commit v3.9.0-rc1~174^2~2 (CompileFeatures: Let STD
compile options be a list, 2016-10-05) did not change all the places we
add the language standard options. Expand the list in the other places.
|
|\ \ |
|
| |/
| |
| |
| | |
Fixes: #17061
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The logic added in commit v3.6.0-rc1~30^2 (Add a variable to specify
language-wide system include directories, 2016-05-24) to use
`CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` incorrectly filters them by
`CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES`. Rather than recognizing
this, commit v3.8.0-rc1~60^2 (Android: Pass sysroot include directory
explicitly, 2017-01-20) worked around the problem by incorrectly
removing `/usr/include` from `CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES`
so it worked in `CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES`.
By not filtering out `/usr/include` from user-specified include
directories, we allow the code
include_directories(${CMAKE_SYSROOT}/usr/include)
to place the include directory too early on the command line.
Fix support for standard include directories to not be filtered by
implicit include directories, and do not remove `/usr/include` from the
list of implicit include directories for Android builds. Add a test
case to verify that an explicit `/usr/include` is ignored in favor
of the standard directory at the end.
Fixes: #17059
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| | |
Visual Studio 2017 Update 3 adds a SolutionGuid to its `.sln` files.
Fixes: #17041
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This was accidentally forgotten in commit v3.9.0-rc1~71^2~2 (find_*: Add
a new PackageRoot search path group, 2017-05-03).
Fixes: #17052
|
| | |
| | |
| | |
| | |
| | |
| | | |
The method has not been used since commit v3.2.0-rc1~400^2~1
(Encapsulate search path manipulation functions into a seperate class,
2014-10-15).
|
| |/ |
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Revert the main logic change of commit v3.9.0-rc1~192^2 (bindexplib: fix
constants symbols export, 2017-04-26) and its test case. Unfortunately
some constants may be provided by multiple object files with different
`@...` suffixes, leading to ambiguous references. Revert support
pending further investigation.
Fixes: #17045
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
In the `Visual Studio 15 2017` generator, if the `VS150COMNTOOLS`
environment variable points at a specific VS 2017 instance reported by
the Visual Studio Installer tool, use that as the preferred instance.
Inspired-by: Iyyappa Murugandi <iyyappam@microsoft.com>
Fixes: #16846
|
|\ \ |
|
| | | |
|
|\ \ \ |
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The change in commit v3.9.0-rc1~464^2~8 (Autogen: Add AUTOMOC/UIC
support for generated source files, 2017-03-02) changes behavior of
existing projects that may not expect `AUTOGEN` on generated files and
do not yet set `SKIP_AUTOGEN` on them. Disable the behavior change for
now to fix the regression for CMake 3.9. We can restore it later with a
policy.
In order to keep the implementation and tests working, add an
undocumented property we can use in the tests to enable the behavior
before the policy is introduced.
Fixes: #17031
Issue: #16186
|
|\ \ \
| |_|/
|/| | |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since commit v3.9.0-rc1~58^2 (find_package: shorten output for missing
package in config mode, 2017-05-09) we print only the one line
- Could NOT find Foo (missing: Foo_DIR)
when package Foo cannot be found in CONFIG mode and it is not REQUIRED.
However, in the case that package configuration files were found but not
used, this one line message leaves out important information. This can
happen when a package configuration file sets `Foo_FOUND` to `FALSE` or
when its package version file does not match the requested version.
Restore the longer message in these cases. Otherwise a seemingly valid
explicit `Foo_DIR` setting appears to be silently ignored even if it was
considered.
Fixes: #17029
|
|\ \ |
|
| | | |
|
|\ \ \ |
|