Commit Graph

38811 Commits

Author SHA1 Message Date
Pavel P
c3b80e8664 Windows: Add support for running CMake tools through a symlink
When `cmake.exe` is executed through a symlink, `GetModuleFileNameW`
will return location of the link instead of the real path of
`cmake.exe`.  This results in the following error output:

    CMake Error: Could not find CMAKE_ROOT !!!
    CMake has most likely not been installed correctly.

Use `cmSystemTools::GetRealPath` in `FindCMakeResources` on Windows
to resolve any symlink returned by `GetModuleFileNameW`.
2018-01-24 08:59:33 -05:00
Brad King
05e9cdb81e Merge topic 'GenerateExportHeader-include-guard'
b1ae9aaf GenerateExportHeader: add release notes, tests for include guard changes
f4082b0e GenerateExportHeader: add INCLUDE_GUARD_NAME option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1643
2018-01-24 08:53:05 -05:00
Brad King
1a9da3c055 Merge topic 'cpack_trace'
93bc5848 CPack: accept --trace and --trace-expand

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1583
2018-01-24 08:52:03 -05:00
Brad King
56fd8b3c72 Merge topic 'UseJava-native-headers-generation'
4829ea23 add_jar: add option GENERATE_NATIVE_HEADERS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1675
2018-01-24 08:51:32 -05:00
Brad King
2de6aa846f Merge topic 'vcxproj-spaces'
da1a500c cmVisualStudio10TargetGenerator: remove redundant space char in some tags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1684
2018-01-24 08:50:01 -05:00
Brad King
52573b3239 Merge topic 'generic-inc-sep-typo-remove'
cd3e1600 GenericSystem: Remove misspelled flag default

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Merge-request: !1683
2018-01-24 08:49:17 -05:00
Brad King
06d607271e Merge topic 'libuv-restore-fmode'
98628de8 Extend libuv file translate mode workaround to all executables
3b588ac5 cpack: Enable MSVC debug hook earlier

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1686
2018-01-24 08:36:35 -05:00
Alex Neundorf
551bd0b3e8 Generators: adjust error message for the removed KDevelop3 generator
If the user request a KDevelop3 project, tell the user that
KDevelop3 is not supported anymore, so he sees it's not just
a typo.

Alex
2018-01-24 08:30:02 -05:00
Alex Neundorf
9198e6a27b Generators: remove KDevelop3 generator
The last KDevelop3 release was many years ago, in 2008 I think.
I haven't seen or read about anybody using KDevelop 3 since a
long time, so I think it can safely be removed from CMake.
KDevelop 4 (first released in 2010) has its own proper CMake
support now, independent from this generator.

Alex
2018-01-24 08:30:02 -05:00
Brad King
2d64f9f08d include_regular_expression: Fix propagation to subdirectories
Refactoring in commit v3.4.0-rc1~321^2 (cmMakefile: Remove special
handling of INCLUDE_REGULAR_EXPRESSION, 2015-04-04) accidentally broke
propagation of the include regex to subdirectories.  Refactoring in
commit v3.5.0-rc1~319^2~1 (cmState: Initialize properties immediately,
2015-10-07) moved maintenance of this value from `cmMakefile` to
`cmStateSnapshot`.

Restore propagation of the `INCLUDE_REGULAR_EXPRESSION` to
subdirectories and add a test to cover it.

Fixes: #17676
2018-01-24 08:20:19 -05:00
Kitware Robot
1345bdf1b6 CMake Nightly Date Stamp 2018-01-24 00:02:43 -05:00
Wouter Klouwen
e6a80ccfc4 Make use of std::chrono throughout every component
This commit continues the changes made in CTest to support std::chrono
by
applying it throughout every component where a duration was used.

No functional change intended.
2018-01-23 18:56:42 +00:00
Isaiah Norton
93bc5848e7 CPack: accept --trace and --trace-expand 2018-01-23 13:15:53 -05:00
Vitaly Stakhovsky
25243014e5 cmMakefile: use std::string in more methods; cleanup c_str()s
Follow up commit 969c1f94ae (cmSourceGroup: code improvements; use
std::string and C++11 loops, 2017-01-10).
2018-01-23 11:10:04 -05:00
Kyle Edwards
b1ae9aaf79 GenerateExportHeader: add release notes, tests for include guard changes 2018-01-23 10:43:40 -05:00
Kyle Edwards
f4082b0e9b GenerateExportHeader: add INCLUDE_GUARD_NAME option
Fixes #16968.
2018-01-23 10:42:47 -05:00
Wouter Klouwen
ff62b00522 CTest: add safe conversion from cmDuration to integer types
A problem area by recent refactoring of time to std::chrono has been the
unsafe conversion from duration<double> to std::chrono::seconds, which
is of an unspecified integer type.

This commit adds a template function that for a given type provides a
safe conversion, effectively clamping a duration<double> into what fits
safely in that type. A specialisation for int and unsigned int are
provided.

It changes the protential problem areas to use this safe function.
2018-01-23 10:05:12 -05:00
Wouter Klouwen
695951bc46 CTest: introduce cmDuration
This commit introduces cmDuration as a typedef for
std::chrono::duration<double, std::ratio<1>>. It is less verbose and
provides for a point to put future common functionality for durations.

No functional change intended.
2018-01-23 10:04:38 -05:00
Brad King
9c52b587b6 Merge topic 'recognize-versioned-shared-libraries'
5cbf3653 cmComputeLinkInformation: Better RPATH detection for versioned libraries.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1682
2018-01-23 09:36:09 -05:00
Brad King
ce863c17d0 Merge topic 'feature-codelite-fortran'
51caac69 CodeLite: Better support for Fortran and Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1678
2018-01-23 09:35:43 -05:00
Brad King
98628de812 Extend libuv file translate mode workaround to all executables
Since libuv commit v1.14.1~7 (win: add uv__once_init() calls,
2017-08-30) the libuv initialization of the file translate mode may take
place even if we do not use a uv loop.  This change was included in our
libuv update commit f4a26c748b (libuv 2018-01-19).  Therefore use of
libuv even through `cmSystemTools::GetRealPath` in any executable may
trigger its file translate mode setting.

Factor out the logic added to `cmake.exe` by commit v3.9.0-rc4~10^2
(cmake: Fix default file translate mode when using libuv, 2017-06-13)
and re-use to initialize all executables.

Issue: #16962
2018-01-23 09:29:07 -05:00
Brad King
3b588ac582 cpack: Enable MSVC debug hook earlier
All other executables do this just after console and command-line
encoding conversion.  Do the same in CPack.
2018-01-23 09:27:30 -05:00
Christian Pfeiffer
cd3e160022 GenericSystem: Remove misspelled flag default
In CMakeGenericSystem, it should be ``CMAKE_INCLUDE_SEP_<LANG>`` and not
``CMAKE_INCLUDE_<LANG>_SEP``. However, if the flag is defined, include
behavior changes to Java-style non-repeating flags, which isn't
intended. Therefore, removing the (misspelled) default initialization
should help remove confusion and unintended side effects.
2018-01-23 12:46:08 +01:00
Marc Chevrier
3073bd1f3d VisualStudio generators: refactoring
Uniformize include directories handling.
Fix memory leaks in class cmVisualStudio10TargetGenerator:
OptionsMap uses now std::unique_ptr.
2018-01-23 10:25:03 +01:00
Marc Chevrier
78b1c2e09e sourceFile properties: add property COMPILE_OPTIONS
Add the support of per-source property COMPILE_OPTIONS,
including generator expressions support.

Related: #17507
2018-01-23 10:24:56 +01:00
Marc Chevrier
3f935e690a LocalGenerator: refactoring
Introduce method AppendCompileOptions to support
future source file property COMPILE_OPTIONS.
2018-01-23 10:24:47 +01:00
Kitware Robot
2c6f5baaa7 CMake Nightly Date Stamp 2018-01-23 00:01:18 -05:00
Vitaly Stakhovsky
da1a500cee cmVisualStudio10TargetGenerator: remove redundant space char in some tags
Many source tags become identical to those created by MSVC
2018-01-22 19:34:40 -05:00
Byoungchan Lee
5cbf3653ff cmComputeLinkInformation: Better RPATH detection for versioned libraries.
Some libraries uses the non-conventional SONAME scheme like
`libssl.so.1.1` or `libboost_system.so.1.64.0`, but CMake didn't count on
such versioned libraries. This commit modify regular expressions to match
relaxed format of shared library name for determining various linker options,
especially `RPATH`.
Note that support for one component has been available since v2.8.12.

Fixes: #15938
2018-01-23 01:22:15 +09:00
Marc Chevrier
4829ea239a add_jar: add option GENERATE_NATIVE_HEADERS 2018-01-22 17:15:59 +01:00
Brad King
b058d92b33 Merge topic 'autogen-first-line-fix'
b4e6911b Autogen: Tests: Extend AUTOUIC include patterns test
ff91a5d5 Autogen: Tests: Extend AUTOMOC include patterns test
a1d491ca Autogen: AUTOMOC/UIC fix for moc/uic include on the first line

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1670
2018-01-22 10:23:41 -05:00
Brad King
5d13fa1010 Merge topic 'boost-optional-components'
2557cad5 FindBoost: support OPTIONAL_COMPONENTS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Paul "TBBle" Hampson <paul.hampson@pobox.com>
Merge-request: !1660
2018-01-22 10:20:53 -05:00
Brad King
de9c3d7964 Merge topic 'serverCrashIfNoMinVersionSpecified'
33802b31 server: fix crash if no min version specified

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1673
2018-01-22 10:19:28 -05:00
Brad King
63f263b27f Merge topic 'update-libuv'
6db7b352 libuv: Update build within CMake
b58d48c1 Merge branch 'upstream-libuv' into update-libuv
f4a26c74 libuv 2018-01-19 (63de1eca)
e8b57c22 libuv: Teach import script to add missing newlines

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1666
2018-01-22 10:18:44 -05:00
Brad King
c81ace7ab7 Merge topic 'FindJava-jdk-10'
3c08d207 FindJava: ignore javah for JDK 10, it has been removed

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1637
2018-01-22 10:18:15 -05:00
Brad King
2a9614039e Merge topic 'FindPythonInterp-windows-current-user'
a7d344be FindPythonInterp: support single-user installs on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1674
2018-01-22 10:17:25 -05:00
Brad King
a629c338a1 Merge topic 'genex-output-known-extension'
7c525c84 genex: generated files have known extensions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1669
2018-01-22 10:16:16 -05:00
Brad King
1f35d3f20a Merge topic 'heading_automoc_macro_names'
c89c87c9 Help: Fix heading level for CMAKE_AUTOMOC_MACRO_NAMES

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1671
2018-01-22 10:13:01 -05:00
Brad King
856dc73e02 Merge topic 'docs_cmake_crosscompiling'
60febda4 Help: Explain meaning and limitations of CMAKE_CROSSCOMPILING

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1672
2018-01-22 10:12:21 -05:00
Brad King
6ab316c98d Merge topic 'iwyu'
e720a343 IWYU: Add more workaround mappings for internal bits

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1681
2018-01-22 10:07:47 -05:00
Brad King
e720a34399 IWYU: Add more workaround mappings for internal bits
Extend our hack section of mappings to work around IWYU incorrectly
requiring:

* bits/stdint-uintn.h for stdint.h
* bits/stdint-intn.h for stdint.h
* bits/types/mbstate_t.h for wchar.h
2018-01-22 09:56:30 -05:00
Christian Pfeiffer
c2bed75ebe Merge topic 'findopenmp-genex'
ffa6f875 FindOpenMP: Employ genex where possible

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1676
2018-01-22 09:17:06 -05:00
Kitware Robot
5c3c70201d CMake Nightly Date Stamp 2018-01-22 00:01:08 -05:00
Kitware Robot
17c3e418b0 CMake Nightly Date Stamp 2018-01-21 00:01:06 -05:00
Craig Scott
eae7718440 Merge topic 'docs_cmake_lang_compiler_external_toolchain'
f3e9bedd Help: CMAKE_<LANG>_COMPILER_EXTERNAL_TOOLCHAIN typo removal

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1679
2018-01-20 17:56:05 -05:00
Craig Scott
11c4ea7f11 Merge topic 'reword-cmake-E-time-help'
73bb781d Help: Reword misleading docs for cmake -E time

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !1677
2018-01-20 17:54:24 -05:00
Craig Scott
f3e9beddfb Help: CMAKE_<LANG>_COMPILER_EXTERNAL_TOOLCHAIN typo removal 2018-01-20 17:17:28 +11:00
Kitware Robot
ab1be08913 CMake Nightly Date Stamp 2018-01-20 00:01:11 -05:00
Tobias R. Henle
51caac6958 CodeLite: Better support for Fortran and Windows
Fortran source files are added to the src folder of CodeLite projects and
the "Compile Single File" command uses "$(CurrentFileFullName)"
instead of "$(CurrentFileName)" with the correct filename extension
for object files on windows now.
2018-01-19 22:41:54 +01:00
Taylor Braun-Jones
73bb781df0 Help: Reword misleading docs for cmake -E time 2018-01-19 16:07:39 -05:00