summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* CMake 3.9.2v3.9.2Brad King2017-09-071-1/+1
|
* Merge branch 'backport-vs-csharp-ref-no-asm' into release-3.9Brad King2017-09-053-0/+23
|\ | | | | | | Merge-request: !1203
| * VS: Do not reference output assemblies if not possible for CSharp targetMichael Stürmer2017-09-053-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 branch 'fix-genex-SOURCES' into release-3.9Brad King2017-09-011-1/+1
|\ \ | |/ |/| | | Merge-request: !1218
| * Genex: Fix TARGET_PROPERTY value of SOURCESBrad King2017-09-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | 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 branch 'fix-find-package-mode' into release-3.9Brad King2017-08-291-1/+1
|\ \ | | | | | | | | | Merge-request: !1208
| * | cmake: Fix --find-package mode with imported targetsBrad King2017-08-291-1/+1
| |/ | | | | | | | | | | | | | | 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 branch 'cpack-dmg-iwyu' into release-3.9Brad King2017-08-291-0/+1
|\ \ | | | | | | | | | Merge-request: !1206
| * | cmCPackDragNDropGenerator: Add missing includeBrad King2017-08-291-0/+1
| |/ | | | | | | | | | | We use `std::sort` and so must include `<algorithm>`. Issue: #17233
* | Xcode: Revert addition of "outputPaths" to custom command build phaseBrad King2017-08-241-11/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Autogen: Restore AUTOUIC lookup paths from 3.8.2Sebastian Holtermann2017-08-152-21/+51
|/ | | | | | | | | | | | | | | | | | 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
* CMake 3.9.1v3.9.1Brad King2017-08-101-1/+1
|
* Merge branch 'find-package_root-disable' into release-3.9Brad King2017-08-104-0/+14
|\ | | | | | | Merge-request: !1116
| * find_*: Disable the PACKAGE_ROOT search path group for CMake 3.9Brad King2017-08-084-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Autogen: Always create AUTOMOC/AUTOUIC include directorySebastian Holtermann2017-08-081-0/+11
| | | | | | | | | | | | | | | | 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 branch 'add-package_root-to-find_package' into release-3.9Brad King2017-08-032-0/+21
|\ \ | |/ | | | | Merge-request: !1082
| * find_package: Add missing PACKAGE_ROOT_PATH search path implementation.Chuck Atkins2017-07-282-0/+21
| |
* | Merge branch 'vs-VCTargetsPath-force-config' into release-3.9Brad King2017-08-031-0/+1
|\ \ | | | | | | | | | Merge-request: !1100
| * | VS: Fix VCTargetsPath detectionBrad King2017-08-031-0/+1
| |/ | | | | | | | | | | | | | | 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
* | server: Fix crash on missing cache entriesLaurent Rineau2017-08-021-1/+3
|/ | | | Test for nullptr before constructing std::string.
* CMake 3.9.0v3.9.0Brad King2017-07-181-1/+1
|
* Merge branch 'objlib-own-target-objs' into release-3.9Brad King2017-07-172-0/+16
|\
| * Diagnose object library self-referenceBrad King2017-07-142-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Merge branch 'xcode9support' into release-3.9Brad King2017-07-141-0/+11
|\ \
| * | Xcode: Add "outputPaths" to custom command script build phaseHarry Mallon2017-07-141-0/+11
| |/ | | | | | | | | | | | | 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.
* | Merge branch 'backport-fix-lang-std-option-list' into release-3.9Brad King2017-07-141-2/+10
|\ \
| * | Features: Fix support for a list of language standard optionsBrad King2017-07-141-2/+10
| |/ | | | | | | | | | | 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.
* | Merge branch 'ninja_cuda_export_compile_commands_support' into release-3.9Brad King2017-07-131-6/+21
|\ \
| * | CUDA: CMAKE_EXPORT_COMPILE_COMMANDS now works with CUDA and NinjaRobert Maynard2017-07-131-6/+21
| |/ | | | | | | Fixes: #17061
* | Android: Always add standard include directories lastBrad King2017-07-132-12/+14
|/ | | | | | | | | | | | | | | | | | | | | | | | | | 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
* CMake 3.9.0-rc6v3.9.0-rc6Brad King2017-07-121-1/+1
|
* Merge branch 'vs-2017-sln-guid' into release-3.9Brad King2017-07-111-4/+16
|\
| * VS: Add SolutionGuid to generated .sln filesBrad King2017-07-111-4/+16
| | | | | | | | | | | | Visual Studio 2017 Update 3 adds a SolutionGuid to its `.sln` files. Fixes: #17041
* | Merge branch 'find_package-root-prefix-path-suffixes' into release-3.9Brad King2017-07-113-18/+3
|\ \
| * | find_*: Honor PATH_SUFFIXES in PackageName_ROOT pathsBrad King2017-07-111-0/+2
| | | | | | | | | | | | | | | | | | | | | 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
| * | cmFindCommon: Drop unused FilterPaths methodBrad King2017-07-112-17/+0
| | | | | | | | | | | | | | | | | | 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).
| * | cmFindCommon: Fix typo in PackageName_ROOT path labelBrad King2017-07-111-1/+1
| |/
* | Merge branch 'bindexplib-revert-consts' into release-3.9Brad King2017-07-101-10/+12
|\ \
| * | bindexplib: Revert support for constants symbolsBrad King2017-07-101-10/+12
| |/ | | | | | | | | | | | | | | | | | | 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
* | Merge branch 'vs-2017-choose-via-environment' into release-3.9Brad King2017-07-101-0/+28
|\ \
| * | VS: Choose VS 2017 instance via environment variableBrad King2017-07-101-0/+28
| |/ | | | | | | | | | | | | | | | | 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
* | Merge branch 'autogen_skip_included' into release-3.9Brad King2017-07-101-28/+33
|\ \
| * | Autogen: Skip included files on demandSebastian Holtermann2017-07-101-28/+33
| | |
* | | Merge branch 'autogen-no-generated-files' into release-3.9Brad King2017-07-071-0/+7
|\ \ \
| * | | Autogen: Skip generated files for compatibility with CMake 3.8Brad King2017-07-071-0/+7
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Merge branch 'find_package-restore-considered-configs' into release-3.9Brad King2017-07-071-1/+2
|\ \ \ | |_|/ |/| |
| * | find_package: Restore longer message when config files were consideredBrad King2017-07-071-1/+2
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Merge branch 'autogen_p' into release-3.9Brad King2017-07-051-1/+0
|\ \
| * | Autogen: Continue search for FOO_p.h when FOO.h was foundSebastian Holtermann2017-07-021-1/+0
| | |
* | | Merge branch 'autogen-header-skip' into release-3.9Brad King2017-07-051-1/+1
|\ \ \