summaryrefslogtreecommitdiffstats
path: root/Source/cmQtAutoGenGlobalInitializer.h
Commit message (Collapse)AuthorAgeFilesLines
* Source: Fix clang -Wextra-semi warningsSean McBride2021-09-281-1/+1
|
* clang-tidy: fix `readability-redundant-access-specifiers` warningsBen Boeckel2021-01-271-2/+0
|
* Code style: add missed explicit 'this->'Oleksandr Koval2021-01-051-1/+1
| | | | | CMake uses explicit 'this->' style. Using custom clang-tidy check we can detect and fix places where 'this->' was missed.
* Modernize: Use #pragma once in all header filesKitware Robot2020-09-031-4/+1
| | | | | | | | | | | | | | | | #pragma once is a widely supported compiler pragma, even though it is not part of the C++ standard. Many of the issues keeping #pragma once from being standardized (distributed filesystems, build farms, hard links, etc.) do not apply to CMake - it is easy to build CMake on a single machine. CMake also does not install any header files which can be consumed by other projects (though cmCPluginAPI.h has been deliberately omitted from this conversion in case anyone is still using it.) Finally, #pragma once has been required to build CMake since at least August 2017 (7f29bbe6 enabled server mode unconditionally, which had been using #pragma once since September 2016 (b13d3e0d)). The fact that we now require C++11 filters out old compilers, and it is unlikely that there is a compiler which supports C++11 but does not support #pragma once.
* cmLocalGenerator: modernize memory managementMarc Chevrier2019-12-091-1/+1
|
* Revise include order using clang-format-6.0Kitware Robot2019-10-011-2/+2
| | | | | Run the `clang-format.bash` script to update our C and C++ code to a new include order `.clang-format`. Use `clang-format` version 6.0.
* IWYU: Fix handling of <memory> standard headerBrad King2019-07-101-1/+1
| | | | | | | | An old workaround for `std::allocator_traits<>::value_type` lints from IWYU on `std::vector<>` usage breaks IWYU's handling of `<memory>`. Convert the workaround to use the same approach we already use for a workaround of `std::__decay_and_strip<>::::__type` lints. Then update the `<memory>` inclusions to follow the now-correct IWYU lints.
* Autogen: Evaluate compiler features for the same exectuable only onceSebastian Holtermann2019-05-221-4/+7
| | | | | | | To speed up the `AUTOGEN` configuration process, evaluate the compiler features only once. The feature evaluation result is stored in the new class `cmQtAutoGen::CompilerFeatures`, and the instance is shared by using `std::shared_ptr`.
* Autogen: Add more frequently used keywords to Keywords classSebastian Holtermann2019-04-021-0/+11
|
* Autogen: Add `AUTO*_EXECUTABLE` strings to Keywords classSebastian Holtermann2019-04-021-0/+4
|
* Autogen: Remove static const generator name strings from cmQtAutoGenSebastian Holtermann2019-04-021-2/+2
|
* Autogen: Add cmQtAutogenGlobalInitializer::Keywords classSebastian Holtermann2019-04-021-0/+15
| | | | | | | | 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.
* Autogen: Add output caching GetExecutableTestOutputSebastian Holtermann2019-02-191-0/+6
| | | | | | This adds the cmQtAutoGenGlobalInitializer::GetExecutableTestOutput method which caches the output of the called executable and returns the cached value on any subsequent call.
* Autogen: Add support for global ``autogen`` and ``autorcc`` targetsSebastian Holtermann2018-11-111-1/+16
| | | | | | | | | | | | | | This teaches CMake the variables - CMAKE_GLOBAL_AUTOGEN_TARGET - CMAKE_GLOBAL_AUTOGEN_TARGET_NAME - CMAKE_GLOBAL_AUTORCC_TARGET - CMAKE_GLOBAL_AUTORCC_TARGET_NAME which control the generation of global ``autogen`` and ``autorcc`` targets. Closes #17721
* Autogen: Add cmQtAutoGenGlobalInitializer classSebastian Holtermann2018-11-111-0/+32
This moves the global ``AUTOMOC/UIC/RCC`` targets initializer generation code into a separate new ``cmQtAutoGenGlobalInitializer`` class.