| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 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
|
|\ \ |
|
| |/
| |
| |
| |
| |
| | |
Add a release note corresponding to the environmental regression fixed
by commit v3.9.0-rc6~15^2~1 (VS: Fix GenerateDebugInformation values for
v140 and v141 toolsets, 2017-06-27).
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| | |
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.
|
|\ \ |
|
| |/
| |
| |
| |
| |
| |
| | |
Since commit v3.8.0-rc1~51^2~1 (TestDriver: calc NumTests at compile
time, 2017-01-24) we convert an expression that uses `sizeof()` to an
`int` as a compile-time constant. Some GCC versions warn about this
with `-Wconversion`. Add a cast to avoid the warning.
|
|\ \ |
|
| |/
| |
| |
| | |
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
|
| |
|
|\ |
|
| |
| |
| |
| |
| | |
The NDK has done this in `build/core/definitions.mk` since r13
(r12 and below do so only for c++_static).
|
|\ \ |
|
| |/
| |
| |
| |
| |
| | |
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
|
|\ \ |
|
|/ /
| |
| |
| |
| | |
If the doxygen output directory does not exist, create it prior to
running the doxygen commands.
|
|\ \ |
|
| | | |
|
|\ \ \ |
|
| | |/
| |/|
| | |
| | |
| | |
| | | |
When encountering an #include "FOO.moc" statement where
FOO.hpp was chosen over FOO.cpp as the moc source, the
FOO.hpp name was not checked against the moc SKIP list.
|
|\ \ \
| |_|/
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Although `$(VCTargetsPath)/1033/link.xml` for v140 and v141 toolsets
contains an entry for `LinkControlFlowGuard`, it does not work when used
in a `.vcxproj` file. Drop our link flag table entries for these
toolsets so that the flag will be passed via `AdditionalOptions`.
|
|\ \ \ |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
FindDoxygen generates some files based on the version of Doxygen whose
content will not vary across a project and are therefore a global
resource that can be shared by all calls to `find_package(Doxygen)` and
to `doxygen_add_docs`. We currently use `${PROJECT_BINARY_DIR}` to
reference their location, but this is not stable because `project()`
calls in a subdirectory can change it. Use `${CMAKE_BINARY_DIR}`
instead.
Reviewed-by: Craig Scott <craig.scott@crascit.com>
Fixes: #17022
|
|\ \ \
| |/ /
|/| | |
|
| |/
| |
| |
| |
| |
| |
| |
| | |
When calculating Object Library paths take a look at the
`XCODE_EMIT_EFFECTIVE_PLATFORM_NAME` property to enable builds with
different SDKs. Otherwise a hard-coded architecture could be chosen.
Fixes: #16040
|