Commit Graph

40213 Commits

Author SHA1 Message Date
Brad King b6d116e240 cmCursesLongMessageForm: Avoid -Wstringop-overflow warning
We use `strncpy` to copy the title up to a maximum number of
characters.  GCC 8's `-Wstringop-overflow` warns that the length
depends on the input length because it fails to recognize that we
are bounding it to the buffer size too.  Update the code to hide
the dependence on the input length.
2018-07-31 08:52:59 -04:00
Brad King c31d9f1c30 Merge topic 'autogen_refactor_initialization'
7bb70054e4 Autogen: Add test for Q_OS_ macros
f345135845 Autogen: For Qt5 pass all implicit include directories to moc
2d6cfe2677 Autogen: Split initializer main method
84bdae8895 Autogen: Compute variables in Init stage instead of Setup stage
8e0d70272d Autogen: Move info file write code into methods
5776639fbf Autogen: Pass absolute include path in info file
2e9199b291 cmLocalGenerator: Respect user requested implicit include directories order

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2230
2018-07-31 08:08:05 -04:00
Kitware Robot 398ce17fac CMake Nightly Date Stamp 2018-07-31 00:01:05 -04:00
Sebastian Holtermann 7bb70054e4 Autogen: Add test for Q_OS_ macros 2018-07-30 09:46:03 +02:00
Sebastian Holtermann f345135845 Autogen: For Qt5 pass all implicit include directories to moc
For Qt4 it was not possible to pass all compiler implicit include
directories to moc because it couldn't handle some system headers.
For reference see commit 753b905ec8,
commit d2536579d5 and
[QTBUG-28045](https://bugreports.qt.io/browse/QTBUG-28045).

For Qt5's moc the problem does not persist anymore so we can
(and should) pass all implicit include directories to moc.

Fixes #18041
2018-07-30 09:22:47 +02:00
Sebastian Holtermann 2d6cfe2677 Autogen: Split initializer main method 2018-07-30 09:22:47 +02:00
Sebastian Holtermann 84bdae8895 Autogen: Compute variables in Init stage instead of Setup stage 2018-07-30 09:22:46 +02:00
Sebastian Holtermann 8e0d70272d Autogen: Move info file write code into methods 2018-07-30 09:22:46 +02:00
Sebastian Holtermann 5776639fbf Autogen: Pass absolute include path in info file 2018-07-30 09:22:46 +02:00
Sebastian Holtermann 2e9199b291 cmLocalGenerator: Respect user requested implicit include directories order
In ``cmLocalGenerator::GetIncludeDirectories`` append the user requested
implicit include directories first, then append the remaining implicit
include directories.  By By doing so we keep the user requested order of
implicit include directories.
2018-07-30 09:22:46 +02:00
Kitware Robot 264012dae0 CMake Nightly Date Stamp 2018-07-30 00:01:11 -04:00
Craig Scott 0d8d6eeef4 Merge branch 'release-3.12' 2018-07-29 19:46:45 +10:00
Craig Scott 2af5307317 Merge branch 'cpack-default-package-version-zero' into release-3.12
Merge-request: !2239
2018-07-29 19:44:24 +10:00
Craig Scott 50e40b7eec Merge topic 'cpack-default-package-version-zero'
ed015bde2b CPack: Restore support for 0-valued version components

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2239
2018-07-29 05:40:37 -04:00
Kitware Robot 7a7e4e9ea3 CMake Nightly Date Stamp 2018-07-29 00:01:07 -04:00
Kitware Robot cf0d0a2e6f CMake Nightly Date Stamp 2018-07-28 00:01:17 -04:00
Brad King 5bbcf76399 Merge topic 'UseSWIG-target-name-policy'
a3a0c3aa71 UseSWIG: add policy to manage target naming strategy.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2232
2018-07-27 10:08:54 -04:00
Brad King bccbf9a737 Merge topic 'reproducible-tarballs'
548ac51d8e CPack/Deb: Support SOURCE_DATE_EPOCH when packaging files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2226
2018-07-27 10:06:44 -04:00
Brad King ed015bde2b CPack: Restore support for 0-valued version components
In commit v3.12.0-rc1~136^2 (CPack: Use project version as default for
`CPACK_PACKAGE_VERSION`, 2018-04-29) we did not account for the value of
`CMAKE_PROJECT_VERSION_{MAJOR,MINOR,PATCH}` having `0`.  Fix the logic
to distinguish between unprovided version components and `0` components.

While at it, add a test case covering the behavior described in the
documentation by the original commit.  The number of version components
in the package name should match those provided to the `project()`
command `VERSION` option.

Fixes: #18199
2018-07-27 10:01:29 -04:00
Kitware Robot 131fcf65f6 CMake Nightly Date Stamp 2018-07-27 00:01:08 -04:00
Brad King e500d60741 Merge topic 'maint_clarify_merge_process'
6161a64a52 maint: Add further details about merging topics to release branch

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2238
2018-07-26 10:20:39 -04:00
Brad King 0ff961f188 Merge topic 'get_include_directories'
b0b820ea39 cmLocalGenerator: Extend the functionality of ``GetIncludeDirectories()``
1f36652ef4 cmLocalGenerator: Style changes: Private local variable renames
db866d05de cmLocalGenerator: Style change: Wrap temporary strings and code in braces
3713dc9b8e cmLocalGenerator: Style change: Wrap temporary strings and code in braces
d1077c1ce6 cmLocalGenerator: Style change: Use return value of std::set::insert

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2234
2018-07-26 10:10:08 -04:00
Brad King 2235244263 Merge branch 'release-3.12' 2018-07-26 10:08:57 -04:00
Brad King c985c97433 Merge topic 'googletest_policy_settings'
7ddc2a110c GoogleTest: Ensure policy settings allow use of IN_LIST

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2237
2018-07-26 10:08:11 -04:00
Kitware Robot 4687de32a4 CMake Nightly Date Stamp 2018-07-26 00:01:10 -04:00
Craig Scott 6161a64a52 maint: Add further details about merging topics to release branch
The Maintain Current Release instructions previously assumed that
the topic branch had been merged to master. Add text to make this
explicit in the instructions as an initial verification step.

The previous instructions also made no mention of the commit
message for the merge to the release branch. This needs to include
a footer that mentions the merge request number for tracking
purposes.
2018-07-26 07:41:19 +10:00
Andrew Fuller 548ac51d8e CPack/Deb: Support SOURCE_DATE_EPOCH when packaging files 2018-07-25 13:39:07 -07:00
Marc Chevrier a3a0c3aa71 UseSWIG: add policy to manage target naming strategy. 2018-07-25 18:00:52 +02:00
Brad King 8442d9fc3f Merge branch 'googletest_policy_settings' into release-3.12
Merge-request: !2237
2018-07-25 10:42:14 -04:00
Brad King 946318a1ef Merge topic 'GetPrerequisites-dylibsframeworks'
dce77d9ad9 GetPrerequisites: Move dylibs from MacOS to Frameworks folder in bundle

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2229
2018-07-25 10:24:10 -04:00
Craig Scott 3ab6f056dc Merge branch 'release-3.12' 2018-07-25 22:25:11 +10:00
Craig Scott 5041298893 Merge branch 'project-injected-no-cmp0048' into release-3.12 2018-07-25 22:24:29 +10:00
Craig Scott ae2b12a95c Merge topic 'project-injected-no-cmp0048'
6646771b0f project: Do not issue CMP0048 warnings on injected call
08eb157c03 Tests: Add case showing CMP0048 warning on injected project command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2235
2018-07-25 08:15:02 -04:00
Craig Scott 7ddc2a110c GoogleTest: Ensure policy settings allow use of IN_LIST
If policy settings at the time the GoogleTest module is included are
such that CMP0057 is unset or set to OLD, the use of IN_LIST with
if() will lead to an error. Therefore, explicitly specify the policy
settings for the whole file to ensure the function implementations
have access to the required CMake features.

Fixes: #18198
2018-07-25 21:30:51 +10:00
Sebastian Holtermann b0b820ea39 cmLocalGenerator: Extend the functionality of `GetIncludeDirectories()`
What ``cmLocalGenerator::GetIncludeDirectories`` does
-----------------------------------------------------

In general it concatenates the

1. ``target->GetIncludeDirectories(LANG)`` and the
2. ``CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES``.

Additionally it performs some sorting and special treatment of the

- ``CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES``.

By default all ``CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES`` are stripped from
the result list.

When explicitly requested (by setting ``stripImplicitInclDirs=false``) *some*
implicit directories are appended to the result list.  The implicit directories
that *are* appended are those that were requested to be included by

1. ``target->GetIncludeDirectories(LANG)`` or
2. ``CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES``.

All other implicit directories are still stripped from the result list.

The reason to not simply append all implicit directories is that Qt4's moc has
problems to parse some headers that might be found in the implicit system
include directories (See commit d2536579d5
and
[QTBUG-28045](https://bugreports.qt.io/browse/QTBUG-28045)
).
That has been solved in Qt5's moc though.

Extension request to ``cmLocalGenerator::GetIncludeDirectories``
----------------------------------------------------------------

For Qt5's moc we like to have an option that allows to append *all* implict
include directories to the result list, not just those that were user requested.

Changes to ``cmLocalGenerator::GetIncludeDirectories``
------------------------------------------------------

- Shorten the function parameter name ``stripImplicitInclDirs`` to
  ``stripImplicitDirs``.

- Add new boolean function parameter ``appendAllImplicitDirs``
  with a default value ``false``.

The old default behavior of the function stays the same, but a specialized
behavior can be requested by AUTOMOC for Qt4/Qt5 respectively.
2018-07-25 12:45:10 +02:00
Sebastian Holtermann 1f36652ef4 cmLocalGenerator: Style changes: Private local variable renames
Code style change in ``cmLocalGenerator::GetIncludeDirectories``.

Rename a variable to reflect its purpose a little bit better.
2018-07-25 12:26:25 +02:00
Sebastian Holtermann db866d05de cmLocalGenerator: Style change: Wrap temporary strings and code in braces
Code style change in ``cmLocalGenerator::GetIncludeDirectories``.

Embrace ``{}`` temporary strings and code that uses them to minimize their
lifetime.
2018-07-25 12:24:16 +02:00
Sebastian Holtermann 3713dc9b8e cmLocalGenerator: Style change: Wrap temporary strings and code in braces
Code style change in ``cmLocalGenerator::GetIncludeDirectories``.

Embrace ``{}`` temporary strings and code that uses them to minimize their
lifetime.
2018-07-25 12:20:56 +02:00
Sebastian Holtermann d1077c1ce6 cmLocalGenerator: Style change: Use return value of std::set::insert
Code style change in ``cmLocalGenerator::GetIncludeDirectories()``.

Use the return value of ``std::set::insert`` instead of testing
if the entry already exists in the set using ``std::find``.
2018-07-25 12:08:19 +02:00
Kitware Robot 873f40ecec CMake Nightly Date Stamp 2018-07-25 00:01:10 -04:00
Harry Mallon dce77d9ad9 GetPrerequisites: Move dylibs from MacOS to Frameworks folder in bundle
Fixes: #16828
2018-07-24 14:07:22 -04:00
Brad King 6646771b0f project: Do not issue CMP0048 warnings on injected call
Fixes: #18202
2018-07-24 13:14:10 -04:00
Brad King 08eb157c03 Tests: Add case showing CMP0048 warning on injected project command
Issue: #18202
2018-07-24 13:14:09 -04:00
Brad King 4a749b2459 Merge branch 'release-3.12' 2018-07-24 10:59:00 -04:00
Brad King 07e223ad37 Merge topic 'FindPython-fix-multiple-calls'
50921cc04e FindPython*: fix erroneous behavior on multiple 'find_package' calls

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2228
2018-07-24 10:58:42 -04:00
Kitware Robot 5df471c8a4 CMake Nightly Date Stamp 2018-07-24 00:01:12 -04:00
Brad King b5061e02f8 Merge branch 'FindPython-fix-multiple-calls' into release-3.12
Merge-request: !2228
2018-07-23 11:08:40 -04:00
Marc Chevrier 50921cc04e FindPython*: fix erroneous behavior on multiple 'find_package' calls
Fixes: #18192
2018-07-23 11:08:16 -04:00
Brad King 949c62175e Merge topic 'FindPkgConfig-global-target'
7aa26cf0e9 FindPkgConfig: allow to create global imported targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2193
2018-07-23 11:06:23 -04:00
Brad King 21835a2cea Merge topic 'BundleUtilities-otool-l-error'
22554c3166 BundleUtilities: message(FATAL_ERROR) on otool -l error

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !2227
2018-07-23 11:02:57 -04:00