summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* CMake 3.14.0-rc2v3.14.0-rc2Brad King2019-02-151-1/+1
|
* Merge branch 'try_compile-expand-compile-defs' into release-3.14Brad King2019-02-151-1/+1
|\ | | | | | | Merge-request: !2965
| * try_compile: Restore expansion of ;-list in COMPILE_DEFINITIONSBrad King2019-02-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The quoting added by commit 8c5221fb1f (try_compile: Preserve special characters in COMPILE_DEFINITIONS, 2019-01-21, v3.14.0-rc1~108^2~3) broke the case that the `COMPILE_DEFINITIONS` value contains a `;`. Without the quoting the `;` would be generated literally in an unquoted argument in the test `CMakeLists.txt` file and would then be expanded. With quoting the `;` is preserved, which is not the old behavior. Fix this by expanding the `;`-list ahead of time. Add test cases for behavior with both `#` and `;`. This was noticed with the PGI compiler where we set `CMAKE_CXX*_STANDARD_COMPILE_OPTION` to values like `--c++17;-A`. The symptom had also been observed while preparing commit ef8f237686 (ParseImplicitIncludeInfo: add SunPro Fortran and PGI compiler, Cray fix, 2019-01-29, v3.14.0-rc1~26^2~2) but was not recognized at the time as a regression. Revert the workaround added by that commit. Fixes: #18919
* | Merge branch 'vs2017-sdk81' into release-3.14Brad King2019-02-141-1/+2
|\ \ | | | | | | | | | Merge-request: !2962
| * | VS: Fix validation of Windows 8.1 SDKBrad King2019-02-141-1/+2
| |/ | | | | | | | | | | | | | | The check added by commit 0a29a31161 (VS2017: Verify Windows 8.1 SDK before using it, 2017-04-25, v3.8.1~2^2) used the wrong path to `windows.h` within the SDK, leading to it never being detected. Fixes: #18923
* | Merge branch 'fortran-submodule-names' into release-3.14Brad King2019-02-147-11/+76
|\ \ | | | | | | | | | Merge-request: !2958
| * | Fortran: Fix submodule file names across compilersBrad King2019-02-147-1/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | The naming convention for submodule files varies across compilers. Add a table to the compiler information modules and thread the information through to the Fortran module dependency parser. Fill out the table for compiler ids known to support Fortran submodules. Fixes: #18746
| * | Fortran: Thread compiler id through to internal Fortran parserBrad King2019-02-145-5/+26
| | |
| * | Fortran: Factor out .mod and .smod file name constructionBrad King2019-02-142-6/+21
| |/
* | Merge branch 'fix-pointer-truncation' into release-3.14Brad King2019-02-132-2/+2
|\ \ | | | | | | | | | Merge-request: !2956
| * | cmListFileLexer: Add missing include to avoid possible pointer truncationZsolt Parragi2019-02-132-2/+2
| |/ | | | | | | | | | | | | The `cmsys/Enconding.h` include had a typo in its surrounding ifdef, possibly causing a missing function declaration (`cmsysEncoding_DupToWide`). As this is C code, this resulted in the code compiling, but with a truncated return value, possibly causing crashes.
* | Merge branch 'fix-legacy-implicit-includes' into release-3.14Brad King2019-02-132-7/+29
|\ \ | | | | | | | | | Merge-request: !2957
| * | Update logic for sysroot in detected implicit include directoriesBrad King2019-02-131-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 5990ecb741 (Compute implicit include directories from compiler output, 2018-12-07, v3.14.0-rc1~108^2) the values of the `CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES` variables are computed from a real compiler invocation. In this case the paths under the sysroot should already have the sysroot prefix so we should no longer have to add the sysroot prefix. However, it is also possible for project code to add its own paths to `CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES` without the sysroot prefix and expect the historical addition of the sysroot prefix to be preserved. Try to account for both cases by conditionally adding the sysroot prefix on implicit include directories that do not already have it.
| * | cmAlgorithms: Add cmHasPrefix to match existing cmHasSuffixBrad King2019-02-131-0/+8
| | |
| * | Fix regression in -I/usr/include exclusion logicBrad King2019-02-131-6/+16
| |/ | | | | | | | | | | | | | | | | | | | | | | | | The change in commit 15ad830062 (Refactor exclusion of -I/usr/include to avoid per-language values, 2019-01-21, v3.14.0-rc1~108^2~4) caused the exclusion to apply to Fortran, but it was only meant for C, CXX, and CUDA. The purpose of the change was to prepare for the value of `CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES` to be computed from the actual compiler instead of hard-coded. We need to preserve exclusion of `-I/usr/include` if the compiler has any implicit include directory that looks intended to replace it, e.g. `<sdk>/usr/include` on macOS. Fixes: #18914
* | Merge branch 'genex-GENEX_EVAL-fix-recursion' into release-3.14Brad King2019-02-132-10/+4
|\ \ | | | | | | | | | Merge-request: !2954
| * | genex: Fix erroneous handling of recursion for $<GENEX_EVAL:>Marc Chevrier2019-02-132-10/+4
| |/ | | | | | | Fixes: #18894
* | Merge branch 'ghs-updates' into release-3.14Brad King2019-02-081-1/+1
|\ \ | | | | | | | | | Merge-request: !2943
| * | GHS: Document usage of GHS_NO_SOURCE_GROUP_FILEFred Baksik2019-02-081-1/+1
| | | | | | | | | | | | -- Also change variable name to CMAKE_GHS_NO_SOURCE_GROUP_FILE
* | | Merge branch 'fix-exclude-dir-with-iface' into release-3.14Brad King2019-02-081-1/+3
|\ \ \ | |/ / |/| | | | | Merge-request: !2937
| * | Fix EXCLUDE_FROM_ALL on directory with an interface libraryBrad King2019-02-081-1/+3
| |/ | | | | | | | | | | | | | | | | | | | | | | | | Since commit dc6888573d (Pass EXCLUDE_FROM_ALL from directory to targets, 2019-01-15, v3.14.0-rc1~83^2) we automatically forward the `EXCLUDE_FROM_ALL` to targets as they are created. This regressed support for interface libraries on which the property is not allowed. Skip forwarding the `EXCLUDE_FROM_ALL` property for interface libraries. It is not needed on them because they do not participate in the generated build system anyway. Fixes: #18896
* | Merge branch 'xcode-stdlib-flags' into release-3.14Brad King2019-02-071-0/+16
|\ \ | | | | | | | | | Merge-request: !2919
| * | Xcode: Derive stdlib from CXX flagsGregor Jasny2019-02-071-0/+16
| |/ | | | | | | Closes: #18396
* | Merge branch 'vs-csharp-nowarn-numbers' into release-3.14Brad King2019-02-074-1/+18
|\ \ | | | | | | | | | Merge-request: !2923
| * | VS: Fix nowarn compiler option to accept warning numbers.Wil Stark2019-02-074-1/+18
| |/ | | | | | | | | | | Warning disables are transferred to the VS IDE `<NoWarn>` node. Fixes: #18878
* | CMake 3.14.0-rc1 version updateBrad King2019-02-061-3/+3
|/
* Merge topic 'relax_CUDA_RESOLVE_DEVICE_SYMBOLS_constraints'Brad King2019-02-064-32/+53
|\ | | | | | | | | | | | | | | 850ef90a66 CUDA: Honor CUDA_RESOLVE_DEVICE_SYMBOLS for more target types Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Robert Maynard <robert.maynard@kitware.com> Merge-request: !2900
| * CUDA: Honor CUDA_RESOLVE_DEVICE_SYMBOLS for more target typesRobert Maynard2019-02-054-32/+53
| | | | | | | | | | | | | | `CUDA_RESOLVE_DEVICE_SYMBOLS` can be used with shared, module, and executable target types. This relaxation is to allow for better interoperability with linkers that automatically do CUDA device symbol resolution and have no way to disable it.
* | Merge topic 'autogen_same_name_different_extension'Brad King2019-02-062-13/+35
|\ \ | | | | | | | | | | | | | | | | | | | | | a28caabf45 Autogen: AUTOMOC support for files with the same name but different extensions 1f802295f2 Autogen: Extend the SameName test with same name but different extension files Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2920
| * | Autogen: AUTOMOC support for files with the same name but different extensionsSebastian Holtermann2019-02-052-13/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for AUTOMOC to moc header files with the same but different extensions (e.g `obj.h`, `obj.hpp`, `obj.hxx`). If a moc file would appear multiple times in `mocs_compilation.cpp`, a number suffix is appended to the name to make it unique. Closes #14489
* | | CMake Nightly Date StampKitware Robot2019-02-061-1/+1
|/ /
* | Merge topic 'update-kwsys'Brad King2019-02-051-1/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | 9ddbf4c6e6 Merge branch 'upstream-KWSys' into update-kwsys 8372c05472 KWSys 2019-02-05 (65802a20) Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2918
| * | Merge branch 'upstream-KWSys' into update-kwsysBrad King2019-02-051-1/+2
| | | | | | | | | | | | | | | * upstream-KWSys: KWSys 2019-02-05 (65802a20)
* | | Merge topic 'autogen_single_all_sources_iteration'Brad King2019-02-054-85/+85
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | b6cf086267 Autogen: Iterate over makefile sources only once ed0fa784eb cmSystemTools: Let `GetFileFormat` accept a `std::stding const&` Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2909
| * | | Autogen: Iterate over makefile sources only onceSebastian Holtermann2019-02-021-78/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | In QtAutoGen we used to iterate over all makefile source two times to extract file parameters for moc and uic respectively. This patch merges both iterations into one loop. This makes the code easier to understand and likely faster to execute as well.
| * | | cmSystemTools: Let `GetFileFormat` accept a `std::stding const&`Sebastian Holtermann2019-02-024-8/+6
| | | | | | | | | | | | | | | | | | | | The `const char*` used formerly was converted to a `std::string` internally anyway.
* | | | Merge topic 'vs-fortran-target-check'Brad King2019-02-051-19/+12
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d3d2c3cd49 VS: Fix Fortran target type selection when linking C++ targets Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2913
| * | | | VS: Fix Fortran target type selection when linking C++ targetsBrad King2019-02-041-19/+12
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 2c9f35789d (VS: Decide project type by linker lang as fallback, 2017-03-30, v3.9.0-rc1~340^2) we consider the linker language when detecting whether to generate a `.vfproj` or `.vcxproj` file. However, this could cause C-only projects to become `.vfproj` files if they link to Fortran projects. Instead we should consider only the `LINKER_LANGUAGE` property on the target itself. This approach is already used for CSharp. It allows project code to specify the project file type for a target with no sources but does not allow linked targets to affect it. Fixes: #18687
* | | | Merge topic 'swift-xcode-10.2'Brad King2019-02-051-0/+2
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | 96dece6dc1 Xcode: Update default Swift language version for Xcode 10.2 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2912
| * | | Xcode: Update default Swift language version for Xcode 10.2Brad King2019-02-041-0/+2
| |/ / | | | | | | | | | | | | | | | Xcode 10.2 no longer supports Swift language versions before 4.0. Fixes: #18871
* | | CMake Nightly Date StampKitware Robot2019-02-051-1/+1
|/ /
* | Merge topic 'cmSourceFile_refactor'Brad King2019-02-0413-84/+112
|\ \ | |/ | | | | | | | | | | | | | | | | | | 254b7260f4 cmSourceFile: Check if a file is GENERATED first in the full path computation cd8a930d61 cmSourceFile: Refactor FindFullPath method 6d407ae439 Use cmSourceFile::GetIsGenerated 2ddf3f4467 cmSourceFile: Add IsGenerated method b9d44fc350 cmSourceFile: Additional static property strings Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2908
| * cmSourceFile: Check if a file is GENERATED first in the full path computationSebastian Holtermann2019-02-021-5/+5
| | | | | | | | | | | | | | In `cmSourceFile::FindFullPath` check first if the file is GENERATED before aborting on `FindFullPathFailed`. This allows recomputation of the full path when the GENERATED property was set after the file path was computed with an error.
| * cmSourceFile: Refactor FindFullPath methodSebastian Holtermann2019-02-024-63/+74
| | | | | | | | | | Refactors the cmSourceFile::FindFullPath method to use lambdas.
| * Use cmSourceFile::GetIsGeneratedSebastian Holtermann2019-02-0110-11/+11
| |
| * cmSourceFile: Add IsGenerated methodSebastian Holtermann2019-02-012-4/+17
| | | | | | | | | | | | | | All cmSourceFiles are checked at least once whether they're `GENERATED` or not. This adds a convenience method `GetIsGenerated` that returns a private boolean cache variable `IsGenerated`. `IsGenerated` is updated every time the `GENERATED` property is written.
| * cmSourceFile: Additional static property stringsSebastian Holtermann2019-02-012-3/+7
| |
* | Merge topic 'vs-wince-deployment'Brad King2019-02-041-1/+7
|\ \ | | | | | | | | | | | | | | | | | | f5d72be57a VS: Fix deployment for WinCE projects Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2907
| * | VS: Fix deployment for WinCE projectsWil Stark2019-02-011-1/+7
| |/ | | | | | | Fixes: #18868
* | Merge topic 'winrtrefs'Brad King2019-02-041-2/+8
|\ \ | | | | | | | | | | | | | | | | | | | | | cff026dbc0 VS: Fix WinRT component references 6c21722adb Tests: Fix VSWinStorePhone test with Windows 10 SDK 17763 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2906