Commit Graph

43056 Commits

Author SHA1 Message Date
Sebastian Holtermann
95e72c0157 Autogen: Make cmQtAutoGenerator::FileSystem Logger free
`cmQtAutoGenerator::FileSystem` used to have a reference to a
`cmQtAutoGenerator::Logger` instances.  This was used for utility methods
that automatically generated an error message on demand.  Unfortunately this
resulted in double error messages in some places.  To fix these and with
the additional purpose of removing the dependency of
`cmQtAutoGenerator::FileSystem` to `cmQtAutoGenerator::Logger`, this patch
removes the `Logger` reference in `cmQtAutoGenerator::FileSystem`.
In the process some silent error conditions gained error messages and
some existing error messages were extended.
2019-04-06 17:37:12 +02:00
Sebastian Holtermann
f161cfe5a8 Autogen: Move Logger and FileSystem member variables to generator classes
`cmQtAutoGenerator` automatically added `cmQtAutoGenerator::Logger` and
`cmQtAutoGenerator::FileSystem` member variables to all inherited classes.
This patch moves these members variable declarations to the inherited classes,
where needed.
2019-04-06 17:37:12 +02:00
Sebastian Holtermann
7baec5e94b AutoRcc: Don't use cmQtAutoGenerator::FileSystem methods
`cmQtAutoGenerator::FileSystem` is only required for concurrent file system
access, but `cmQtAutoGeneratorRcc` isn't concurrent.  Therefore this patch
replaces all `cmQtAutoGenerator::FileSystem` uses in `cmQtAutoGeneratorRcc`.
2019-04-06 17:37:08 +02:00
Sebastian Holtermann
191269d247 AutoRcc: Remove libuv event loop from cmQtAutoGeneratorRcc
Using a libuv event loop in AUTORCC is unnecessary and over complicated.
This patch removes the loop and makes `cmQtAutoGeneratorRcc::Process` a
regular serial processing method.
2019-04-06 16:38:40 +02:00
Sebastian Holtermann
95de172b68 AutoRcc: Make rcc parsing function private
The `.qrc` parsing functions in `cmQtAutoGen` are no longer needed outside
the private implementation of `cmQtAutoGen::RccLister`.  This makes them
private, too.
2019-04-06 16:17:40 +02:00
Sebastian Holtermann
521475b41b AutoRcc: Use cmQtAutoGen::RccLister in initializer and generator
Both classes `cmQtAutoGenInitializer` and `cmQtAutoGeneratorRcc` had
different implementations for reading the files list from a `.qrc` resources
file.  This patch replaces both implementations with the common simple
`cmQtAutoGen::RccLister` implementation.
2019-04-06 16:17:23 +02:00
Sebastian Holtermann
7cbde5c503 AutoRcc: Add cmQtAutoGen::RccLister class
The new `cmQtAutoGen::RccLister` class provides a simple interface to
list files in a `.qrc` resources file by either calling `rcc` with
list options or by parsing the resources file content.
2019-04-06 16:17:19 +02:00
Kitware Robot
7a5adae94d CMake Nightly Date Stamp 2019-04-06 00:01:08 -04:00
Brad King
ffcb4f7ec5 Merge topic 'rst-bad-markup-block'
a9b38a1757 cmRST: Fix crash on empty markup block
2024327746 Help: Remove empty literal block markup in RESOURCE target property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3197
2019-04-05 08:51:25 -04:00
Brad King
a9b38a1757 cmRST: Fix crash on empty markup block 2019-04-05 08:18:14 -04:00
Brad King
2024327746 Help: Remove empty literal block markup in RESOURCE target property
This was added accidentally by commit 456e0fb64f (Help: Improve
documentation formating, 2019-04-01).
2019-04-05 08:18:14 -04:00
Kitware Robot
52fb35bd69 CMake Nightly Date Stamp 2019-04-05 00:01:07 -04:00
Brad King
8c28e63cb4 Merge topic 'if-EXISTS-doc'
78ac8cb04a Help: clarify if(EXISTS) operation for symlinks

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3189
2019-04-04 12:51:41 -04:00
Brad King
56abc31270 Merge topic 'improve-documentation'
456e0fb64f Help: Improve documentation formating

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3174
2019-04-04 11:48:55 -04:00
Brad King
a6324490e5 Merge branch 'release-3.14' 2019-04-04 11:46:03 -04:00
Brad King
cf70b87143 Merge topic 'armcc-compiler-id'
f28e7fc1a5 ARMCC: Do not identify ARMClang as ARMCC

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3187
2019-04-04 11:44:02 -04:00
Brad King
5c1ead795d Merge topic 'vs2019-redist'
33ee779330 IRSL: Fix discovery of VS 2019 v142 toolset redistributables
d8cf8380fb MSVC: Fix MSVC_TOOLSET_VERSION for VS 2019 v142 toolset

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3186
2019-04-04 11:43:18 -04:00
Brad King
192aa506c6 Merge branch 'vs2019-redist' into release-3.14
Merge-request: !3186
2019-04-04 11:40:22 -04:00
Brad King
d2473769e7 Merge branch 'armcc-compiler-id' into release-3.14
Merge-request: !3187
2019-04-04 11:40:12 -04:00
Brad King
33ee779330 IRSL: Fix discovery of VS 2019 v142 toolset redistributables
Since VS 2017's v141 toolset there is no longer a simple equation to
calculate the redist name, dll version, and VS IDE version from just the
MSVC toolset version.  Refactor the logic to use hard-coded values and
warn when a new version is not supported.

Fixes: #19125
2019-04-04 11:35:38 -04:00
Brad King
85b26a7254 Merge topic 'FindGLEW-lib-suffixes'
14c7396fb9 FindGLEW: fix CMAKE_FIND_LIBRARY_SUFFIXES

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3179
2019-04-04 11:34:43 -04:00
Brad King
a15ed54dca Merge topic 'FindBoost-clang-cl'
d48bf97fd3 FindBoost: Consider boost suffixes suitable for clang-cl

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3164
2019-04-04 11:33:37 -04:00
Brad King
0dfb056cd3 Merge topic 'pr.projectbefore'
0761186949 project: Add variable CMAKE_PROJECT_INCLUDE_BEFORE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3175
2019-04-04 11:32:41 -04:00
Brad King
7795b3f2bf Merge topic 'modernize-raw-string-literal'
30bb14c657 Modernize: Enable modernize-raw-string-literal in clang-tidy

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3184
2019-04-04 11:30:54 -04:00
Brad King
dc6b76d1e7 Merge topic 'autogen_keywords_class'
18f7b2ed21 Autogen: Add more frequently used keywords to Keywords class
5fb122ff75 Autogen: Add `AUTO*_EXECUTABLE` strings to Keywords class
b32e18fb88 Autogen: Remove static const generator name strings from cmQtAutoGen
5431395d68 Autogen: Add cmQtAutogenGlobalInitializer::Keywords class
78eccc7836 Autogen: Remove lowercase generator name from generator variables class

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3182
2019-04-04 11:29:51 -04:00
Brad King
d1c2f8787c Merge topic 'FindPython-handle-virtual-env'
8a2f62cc18 FindPython*: Add capability to control virtual env handling.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3173
2019-04-04 11:28:49 -04:00
Brad King
a63a50c77a Merge topic 'remove_duplicates'
abbb8a7b1d Genex: Add $<REMOVE_DUPLICATES:list>
11338389e5 Help: Fix description in cmake-generator-expressions(7) manual

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3154
2019-04-04 11:27:28 -04:00
Bartosz Kosiorek
456e0fb64f Help: Improve documentation formating 2019-04-04 15:13:58 +02:00
Kitware Robot
3d6d7c170c CMake Nightly Date Stamp 2019-04-04 00:01:07 -04:00
Shoaib Meenai
78ac8cb04a Help: clarify if(EXISTS) operation for symlinks
if(EXISTS) resolves symlinks; note this explicitly in its documentation.
2019-04-03 17:25:52 -07:00
Douman
d48bf97fd3 FindBoost: Consider boost suffixes suitable for clang-cl
When compiling with `clang-cl` we can use either the MSVC- or
Clang-built boost libraries.
2019-04-03 14:30:11 -04:00
Brad King
6fdba8b8be Merge topic 'refactor-lang-flags'
707283981f VS: Use AddLanguageFlags to de-duplicate CMAKE_<LANG>_FLAGS* lookup
8ca1b26286 cmLocalGenerator: Factor IPO logic out of AddLanguageFlags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3177
2019-04-03 14:07:11 -04:00
Brad King
058217669f Merge topic 'find-dependency-fix-17583'
37da6af17d find_dependency: Always search dependencies

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3161
2019-04-03 14:05:57 -04:00
Brad King
f28e7fc1a5 ARMCC: Do not identify ARMClang as ARMCC
Since commit 8f8d056051 (ARMCC: Fix identification of ARM compiler when
it defines GNU macros, 2019-03-20, v3.14.1~10^2) we consider ARMCC
before Clang or GNU compilers.  Since armclang also defines
`__ARMCC_VERSION` it is now mistaken for ARMCC.  Extend the check for
ARMCC to also verify that `__clang__` is not defined.

Issue: #19065
2019-04-03 12:50:10 -04:00
Brad King
d8cf8380fb MSVC: Fix MSVC_TOOLSET_VERSION for VS 2019 v142 toolset
This was forgotten in commit 626c51f47b (VS: Update for Visual Studio
2019 Preview 2, 2019-01-24, v3.14.0-rc1~74^2) when the toolset was
first renumbered to `v142`.

Issue: #19125
2019-04-03 12:27:29 -04:00
Marc Chevrier
8a2f62cc18 FindPython*: Add capability to control virtual env handling.
Fixes: #19097
2019-04-03 09:16:17 +02:00
Claudio Fantacci
14c7396fb9 FindGLEW: fix CMAKE_FIND_LIBRARY_SUFFIXES
FindGLEW temporarily changes the content of CMAKE_FIND_LIBRARY_SUFFIXES
to look for static and dynamic GLEW library.
However, it wasn't storing and restoring the initial content of such
variable, causing possible issues in user project.
2019-04-03 09:06:16 +02:00
Kitware Robot
d724060459 CMake Nightly Date Stamp 2019-04-03 00:01:10 -04:00
Brad King
707283981f VS: Use AddLanguageFlags to de-duplicate CMAKE_<LANG>_FLAGS* lookup 2019-04-02 14:23:46 -04:00
Brad King
8ca1b26286 cmLocalGenerator: Factor IPO logic out of AddLanguageFlags
The IPO flag logic was added to `AddLanguageFlags` based on my advice.
However, this method should really only be about `CMAKE_<LANG>_FLAGS*`
variables.  Move the IPO logic out to its call sites.
2019-04-02 14:23:32 -04:00
Brad King
81985b7c6c Merge topic 'nasm-fix'
9e4de543d0 Modules: Check nasm compile object variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3167
2019-04-02 14:17:57 -04:00
Sebastian Holtermann
18f7b2ed21 Autogen: Add more frequently used keywords to Keywords class 2019-04-02 20:12:52 +02:00
Sebastian Holtermann
5fb122ff75 Autogen: Add AUTO*_EXECUTABLE strings to Keywords class 2019-04-02 20:12:52 +02:00
Sebastian Holtermann
b32e18fb88 Autogen: Remove static const generator name strings from cmQtAutoGen 2019-04-02 20:12:43 +02:00
Sebastian Holtermann
5431395d68 Autogen: Add cmQtAutogenGlobalInitializer::Keywords class
The new `cmQtAutogenGlobalInitializer::Keywords` class instance is bound to
the lifetime of the `cmQtAutogenGlobalInitializer` instance.  Global static
const strings would be allocated at program start and deallocated at program
end.  Keeping keyword strings alive only in the context where they're
needed helps to reduce the memory footprint.
2019-04-02 20:11:50 +02:00
Sebastian Holtermann
78eccc7836 Autogen: Remove lowercase generator name from generator variables class
The lowercase `Auto*` generator name in `cmQtAutoGenInitializer::GenVarsT` is
never user.  Remove it from the class.
2019-04-02 20:11:29 +02:00
Artur Ryt
30bb14c657 Modernize: Enable modernize-raw-string-literal in clang-tidy 2019-04-02 19:59:54 +02:00
Kitware Robot
56ae290284 CMake Nightly Date Stamp 2019-04-02 00:01:09 -04:00
Sebastian Lipponer
abbb8a7b1d Genex: Add $<REMOVE_DUPLICATES:list> 2019-04-01 21:52:17 +02:00
Sebastian Lipponer
11338389e5 Help: Fix description in cmake-generator-expressions(7) manual 2019-04-01 21:50:18 +02:00