summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* FindOctave: Remove module pending further workBrad King2019-02-2610-266/+0
| | | | | | | | | | | The `FindOctave` module added by commit 170bcb6fdc (FindOctave: Add module to find GNU octave, 2018-11-17, v3.14.0-rc1~283^2) has a few problems in its implementation that need to be worked out before the module can be included in a CMake release. These were missed during review. Remove the module for now. It can be restored later with a fresh review. Issue: #18991
* 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-155-13/+52
|\ | | | | | | Merge-request: !2965
| * try_compile: Restore expansion of ;-list in COMPILE_DEFINITIONSBrad King2019-02-155-13/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 'FindLibXml2' into release-3.14Brad King2019-02-151-1/+1
|\ \ | | | | | | | | | Merge-request: !2970
| * | FindLibXml2: Document LibXml2_FOUND as preferred caseSaleem Abdulrasool2019-02-151-1/+1
| |/ | | | | | | | | Both `LIBXML2_FOUND` and `LibXml2_FOUND` are provided but the modern convention is to use the case that matches the module name.
* | 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-1412-11/+91
|\ \ | | | | | | | | | Merge-request: !2958
| * | Fortran: Fix submodule file names across compilersBrad King2019-02-1412-1/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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-134-13/+30
|\ \ | | | | | | | | | 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-132-11/+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
| * | macOS: Fix addition of <sdk>/usr/include to default implicit include dirsBrad King2019-02-131-1/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 1293ed8507 (ParseImplicitIncludeInfo: keep implicit incl. consistent when rerunning cmake, 2019-01-30, v3.14.0-rc1~26^2) the `Platform/UnixPaths` module was updated to add `/usr/include` to `CMAKE_{C,CXX,CUDA}_IMPLICIT_INCLUDE_DIRECTORIES` through an initialization variable used by `CMakeDetermineCompilerABI` instead of directly. This approach makes it only a default that can be overridden by detection of the implicit include directories really used by the compiler. The addition of `<sdk>/usr/include` to default implicit include directories by the `Platform/Darwin` module needs the same update but was accidentally left out of the original commit.
* | Merge branch 'genex-GENEX_EVAL-fix-recursion' into release-3.14Brad King2019-02-134-14/+9
|\ \ | | | | | | | | | Merge-request: !2954
| * | genex: Fix erroneous handling of recursion for $<GENEX_EVAL:>Marc Chevrier2019-02-134-14/+9
| |/ | | | | | | Fixes: #18894
* | Merge branch 'doc-if-legacy' into release-3.14Brad King2019-02-111-1/+1
|\ \ | | | | | | | | | Merge-request: !2950
| * | Help: Fix elseif/endif typoJuuso "Linda" Lapinlampi2019-02-111-1/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In CMake 3.13.x, we had this evaluation for if() conditions: if(a) elseif(b) else(a) endif(a) The sensible intention of the change in commit c2efb3efcd (Help: Revise docs on Scripting Commands, 2018-10-16, v3.14.0-rc1~505^2) was: > "endif", "endfunction" etc: Explain that the argument is optional and > maintained for compatibility only Instead of "endif", it ended up being written to the documentation as "elseif" by the commit author (oops) to if()'s page. if(a) elseif(a!?) else() endif(a?) Truthfully, endif()'s parameter should be an optional verbatim repeat and not elseif()'s. If it wasn't, elseif() would be described to be the same as if(). The rightful intended description is: if(a) elseif(b) else() endif() Fix that typo.
* | Merge branch 'FindMatlab-version-empty' into release-3.14Brad King2019-02-111-2/+2
|\ \ | | | | | | | | | Merge-request: !2949
| * | FindMatlab: Tolerate empty version log fileSebastian Nagel2019-02-111-2/+2
| |/
* | Merge branch 'FindOctave-interp-target' into release-3.14Brad King2019-02-113-1/+43
|\ \ | | | | | | | | | Merge-request: !2931
| * | FindOctave: Add target for octinterpPeter Stroia-Williams2019-02-083-1/+43
| | | | | | | | | | | | | | | | | | This change adds the Octave::Octinterp target to make the octinterp library available without users having to resort to using the Octave_INTERP_LIBRARY variable.
* | | Merge branch 'ghs-relnotes' into release-3.14Brad King2019-02-111-0/+28
|\ \ \ | | | | | | | | | | | | Merge-request: !2934
| * | | Help: Update 3.14 release notes for GHS changesFred Baksik2019-02-111-0/+28
| | | |
* | | | Merge branch 'ghs-updates' into release-3.14Brad King2019-02-087-2/+24
|\ \ \ \ | |/ / / | | | | | | | | Merge-request: !2943
| * | | GHS: Document usage of GHS_NO_SOURCE_GROUP_FILEFred Baksik2019-02-087-2/+24
| | | | | | | | | | | | | | | | -- Also change variable name to CMAKE_GHS_NO_SOURCE_GROUP_FILE
* | | | Merge branch 'fix-exclude-dir-with-iface' into release-3.14Brad King2019-02-083-1/+5
|\ \ \ \ | | | | | | | | | | | | | | | Merge-request: !2937
| * | | | Fix EXCLUDE_FROM_ALL on directory with an interface libraryBrad King2019-02-083-1/+5
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 'file_create_link_release_note' into release-3.14Kyle Edwards2019-02-081-0/+3
|\ \ \ \ | |_|/ / |/| | | | | | | Merge-request: !2942
| * | | Help: Add notes for `file(CREATE_LINK)` subcommandTushar Maheshwari2019-02-081-0/+3
|/ / /
* | | Merge branch 'doc-object-library-link' into release-3.14Brad King2019-02-071-2/+2
|\ \ \ | |_|/ |/| | | | | Merge-request: !2933
| * | Help: Clarify 3.14 release note about object library dependenciesBrad King2019-02-071-2/+2
| |/ | | | | | | | | Revise the note from commit bab24e782c (target_link_libraries: Propagate dependencies of object libraries, 2018-12-10, v3.14.0-rc1~260^2).
* | Merge branch 'cpack-ifw-error-wording' into release-3.14v3.14.0-rc1Brad King2019-02-071-1/+1
|\ \ | | | | | | | | | Merge-request: !2928
| * | CPack/IFW: Correct wording in error messageJoachim Wuttke (o)2019-02-071-1/+1
| |/
* | Merge branch 'FindHDF5-cleanup' into release-3.14Brad King2019-02-071-59/+81
|\ \ | | | | | | | | | Merge-request: !2916
| * | FindHDF5: Modernize formatting of variable documentationMichael Hirsch, Ph.D2019-02-071-49/+69
| | |
| * | FindHDF5: Use execute_process instead of exec_programMichael Hirsch, Ph.D2019-02-071-10/+12
| |/
* | Merge branch 'xcode-stdlib-flags' into release-3.14Brad King2019-02-073-0/+26
|\ \ | | | | | | | | | Merge-request: !2919
| * | Xcode: Derive stdlib from CXX flagsGregor Jasny2019-02-073-0/+26
| |/ | | | | | | Closes: #18396
* | Merge branch 'vs-csharp-nowarn-numbers' into release-3.14Brad King2019-02-0712-16/+132
|\ \ | | | | | | | | | Merge-request: !2923
| * | VS: Fix nowarn compiler option to accept warning numbers.Wil Stark2019-02-0712-16/+132
| |/ | | | | | | | | | | Warning disables are transferred to the VS IDE `<NoWarn>` node. Fixes: #18878
* | CMake 3.14.0-rc1 version updateBrad King2019-02-062-4/+4
| |
* | Help: Drop development topic notes to prepare releaseBrad King2019-02-062-9/+0
|/ | | | | Release versions do not have the development topic section of the CMake Release Notes index page.
* Merge topic 'doc-3.14-relnotes'Brad King2019-02-0665-413/+342
|\ | | | | | | | | | | | | | | aa9161fd57 Help: Organize and revise 3.14 release notes 0d1a9282c4 Help: Consolidate 3.14 release notes Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !2925
| * Help: Organize and revise 3.14 release notesBrad King2019-02-061-154/+200
| | | | | | | | | | Add section headers similar to the 3.13 release notes and move each individual bullet into an appropriate section. Revise a few bullets.