summaryrefslogtreecommitdiffstats
path: root/Source/cmExtraCodeLiteGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Deprecate "extra" generators in favor of cmake-file-api(7)Brad King2023-02-151-1/+1
| | | | | | | | | | | The "extra" generators were created in CMake's early years to provide support for users of specific IDEs by directly generating their project files alongside make or ninja files. Nowadays the file-api provides a more generic, maintainable, well-tested, and robust way for IDEs to view CMake project build trees. Deprecate the legacy "extra" generators to encourage the corresponding IDEs to use the file-api. Fixes: #19090
* Source: Fix clang -Wimplicit-fallthrough warningsSean McBride2021-09-281-4/+5
|
* Code style: add missed explicit 'this->'Oleksandr Koval2021-01-051-18/+18
| | | | | CMake uses explicit 'this->' style. Using custom clang-tidy check we can detect and fix places where 'this->' was missed.
* Refactor file extension queries to be more consistentRobert Maynard2020-06-221-2/+1
| | | | | It was very easy to forgot to check against all language file extensions. This updates the internal API to have a unified API.
* clang-tidy: address bugprone-branch-clone lintsBen Boeckel2020-04-131-3/+1
| | | | | | | | | Arguably, many of these are bugs in `clang-tidy`. An if/else tree with other conditionals between cloned blocks may be relying on the intermediate logic to fall out of the case and inverting this logic may be non-trivial. See: https://bugs.llvm.org/show_bug.cgi?id=44165
* cmLocalGenerator: modernize memory managementMarc Chevrier2019-12-091-3/+2
|
* CodeLite: Do not pass -j argument with CPU count 0Johnny Jazeix2019-11-181-1/+4
| | | | Fixes: #15054, #16727
* cmLocalGenerator: modernize memory managementMarc Chevrier2019-11-111-5/+6
|
* Revise include order using clang-format-6.0Kitware Robot2019-10-011-7/+8
| | | | | 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.
* clang-tidy: modernize-deprecated-headersRegina Pfeifer2019-09-161-1/+1
|
* clang-tidy: modernize-use-autoRegina Pfeifer2019-09-101-1/+1
| | | | | | Set the MinTypeNameLength option to an impossibly high value in order to limit the diagnostics to iterators. Leave new expressions and cast expressions for later.
* cmSourceFile: Rename mutating GetFullPath() overloadDaniel Eiband2019-08-291-1/+1
| | | | Rename mutating GetFullPath() overload to ResolveFullPath().
* Source sweep: Use cmStrCat for string concatenationSebastian Holtermann2019-08-221-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch is generated by a python script that uses regular expressions to search for string concatenation patterns of the kind ``` std::string str = <ARG0>; str += <ARG1>; str += <ARG2>; ... ``` and replaces them with a single `cmStrCat` call ``` std::string str = cmStrCat(<ARG0>, <ARG1>, <ARG2>, ...); ``` If any `<ARGX>` is itself a concatenated string of the kind ``` a + b + c + ...; ``` then `<ARGX>` is split into multiple arguments for the `cmStrCat` call. If there's a sequence of literals in the `<ARGX>`, then all literals in the sequence are concatenated and merged into a single literal argument for the `cmStrCat` call. Single character strings are converted to single char arguments for the `cmStrCat` call. `std::to_string(...)` wrappings are removed from `cmStrCat` arguments, because it supports numeric types as well as string types. `arg.substr(x)` arguments to `cmStrCat` are replaced with `cm::string_view(arg).substr(x)`
* clang-tidy: Enable performance-inefficient-string-concatenationSebastian Holtermann2019-08-051-3/+4
| | | | | | | Enables the clang-tidy test performance-inefficient-string-concatenation and replaces all inefficient string concatenations with `cmStrCat`. Closes: #19555
* cmExtraCodeLiteGenerator: Use cmake::Is*Extension for file type detectionSebastian Holtermann2019-07-041-10/+9
| | | | | In cmExtraCodeLiteGenerator.cxx use `cmake::Is*Extension` methods instead of `cmSystemTools::GetFileFormat` for file type detection.
* cmMakefile::GetRequiredDefinition: return const std::string&Vitaly Stakhovsky2019-02-071-4/+4
|
* cmSystemTools: Let `GetFileFormat` accept a `std::stding const&`Sebastian Holtermann2019-02-021-1/+1
| | | | | The `const char*` used formerly was converted to a `std::string` internally anyway.
* Source: Modernize for loops, add const modifiersVitaly Stakhovsky2018-12-311-8/+7
|
* clang-tidy: Use default member initializationRegina Pfeifer2018-12-151-1/+0
|
* clang-tidy: Remove redundant member initializationsRegina Pfeifer2018-12-151-2/+1
|
* cmMakefile: Make GetSafeDefinition return std::string const&Vitaly Stakhovsky2018-09-181-1/+1
|
* cmLocalGenerator: return directories as const std::string&Vitaly Stakhovsky2018-08-271-3/+3
|
* cmGeneratedFileStream: clang-tidy applied to remove redundant ``c_str`` callsSebastian Holtermann2018-08-071-3/+3
| | | | | | | | | | | | | | | After changing the ``cmGeneratedFileStream`` methods to accept ``std::string const&`` instead of ``const char*`` we don't need to call ``std::string::c_str`` anymore when passing a ``std::string`` to a ``cmGeneratedFileStream`` method. This patch removes all redundant ``std::string::c_str`` calls when passing a string to a ``cmGeneratedFileStream`` method. It was generated by building CMake with clang-tidy enabled using the following options: -DCMAKE_CXX_CLANG_TIDY=/usr/bin/clang-tidy-4.0;-checks=-*,readability-redundant-string-cstr;-fix;-fix-errors
* Fix misc. typosluz.paz2018-06-041-2/+2
| | | | Found via `codespell` and `grep`
* CodeLite: Prefer CMAKE_RUNTIME_OUTPUT_DIRECTORY for output pathTobias R. Henle2018-03-141-3/+6
| | | | Use the deprecated `EXECUTABLE_OUTPUT_PATH` as a fallback.
* CodeLite: Use project Makefile instead of workspace Makefile.Tobias R. Henle2018-03-141-1/+1
| | | | | Use the selected project Makefile instead of the global workspace Makefile during build of a project.
* Reduce raw string pointers usage.Pavel Solodovnikov2018-01-311-11/+8
| | | | | | | | | | * Change some functions to take `std::string` instead of `const char*` in the following classes: `cmMakeFile`, `cmake`, `cmCoreTryCompile`, `cmSystemTools`, `cmState`, `cmLocalGenerator` and a few others. * Greatly reduce using of `const char*` overloads for `cmSystemTools::MakeDirectory` and `cmSystemTools::RelativePath`. * Remove many redundant `c_str()` conversions throughout the code.
* Generators: remove KDevelop3 generatorAlex Neundorf2018-01-241-1/+1
| | | | | | | | | | 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
* CodeLite: Better support for Fortran and WindowsTobias R. Henle2018-01-191-15/+16
| | | | | | | 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.
* CUDA: Add cu as default source file extensionRobert Maynard2018-01-081-2/+2
|
* Performance: Improve efficiency of source file lookup in cmMakefileAaron Orenstein2017-11-171-8/+2
| | | | | | | | | This reintroduces the change from commit v3.10.0-rc1~69^2 (Performance: Improve efficiency of source file lookup in cmMakefile, 2017-08-17) with some corrections. The original was rolled back by commit v3.10.0-rc1~52^2~1 (Revert "Performance: ...", 2017-09-25) due to incompatibilities found. The rollback was followed-up by addition of a test for the offending case, and this revision passes the test.
* Meta: modernize old-fashioned loops to range-based `for`.Pavel Solodovnikov2017-09-121-60/+41
| | | | | | Changes done via `clang-tidy` with some manual fine-tuning for the variable naming and `auto` type deduction where appropriate.
* clang-format: format all code as Cpp11Daniel Pfeifer2017-08-301-3/+3
|
* Performance: Add an index to Change cmLocalGenerator::GeneratorTargets.Aaron Orenstein2017-08-161-2/+3
| | | | | | | | | | | Add an index to Change cmLocalGenerator::GeneratorTargets for faster lookup by name. Also changed a bunch of uses of cmLocalGenerator::GetGeneratorTargets() to take const references instead of copying the vector. Represent generator targets as a map (name -> target) to make name lookups more efficient instead of looping through the entire vector to find the desired one.
* Provide and use CM_FALLTHROUGHDaniel Pfeifer2017-06-031-0/+1
|
* Remove unused variablesPavel Solodovnikov2017-05-261-3/+0
|
* Add const-reference qualificationsPavel Solodovnikov2017-05-261-1/+1
|
* Use quotes for non-system includesDaniel Pfeifer2017-04-111-1/+1
| | | | | | | | | | | | | Automate with: git grep -l '#include <cm_' -- Source \ | xargs sed -i 's/#include <\(cm_.*\)>/#include "\1"/g' git grep -l '#include <cmsys/' -- Source \ | xargs sed -i 's/#include <\(cmsys\/.*\)>/#include "\1"/g' git grep -l '#include <cm[A-Z]' -- Source \ | xargs sed -i 's/#include <\(cm[A-Z].*\)>/#include "\1"/g'
* CodeLite: Distribute source files into folders (virtual directories)rahmjan2017-03-311-17/+84
|
* CodeLite: Make build/clean/rebuild operations optionally target-centricMinze Zwerver2016-12-141-21/+38
| | | | | When `CMAKE_CODELITE_USE_TARGETS` is enabled, these operations should be target-centric too.
* Merge topic 'clang-tidy'Brad King2016-10-201-4/+6
|\ | | | | | | | | | | effa6c83 fix more issues reported by clang-tidy fb461cac silence selected clang-tidy violations
| * fix more issues reported by clang-tidyDaniel Pfeifer2016-10-201-4/+6
| |
* | cmState: Port dependents to new cmStateTypes headerStephen Kelly2016-10-191-1/+1
| |
* | cmState: Move TargetType enum to separate namespaceStephen Kelly2016-10-191-16/+16
|/
* Codelite: Consume the CMAKE_CODELITE_USE_TARGETS setting globallyStephen Kelly2016-10-071-3/+1
|
* Simplify CMake per-source license noticesBrad King2016-09-271-13/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Per-source copyright/license notice headers that spell out copyright holder names and years are hard to maintain and often out-of-date or plain wrong. Precise contributor information is already maintained automatically by the version control tool. Ultimately it is the receiver of a file who is responsible for determining its licensing status, and per-source notices are merely a convenience. Therefore it is simpler and more accurate for each source to have a generic notice of the license name and references to more detailed information on copyright holders and full license terms. Our `Copyright.txt` file now contains a list of Contributors whose names appeared source-level copyright notices. It also references version control history for more precise information. Therefore we no longer need to spell out the list of Contributors in each source file notice. Replace CMake per-source copyright/license notice headers with a short description of the license and links to `Copyright.txt` and online information available from "https://cmake.org/licensing". The online URL also handles cases of modules being copied out of our source into other projects, so we can drop our notices about replacing links with full license text. Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority of the replacements mechanically. Manually fix up shebang lines and trailing newlines in a few files. Manually update the notices in a few files that the script does not handle.
* CodeLite: Optionally use targets to create (sub)project filesMinze Zwerver2016-09-261-94/+240
| | | | | | The basic codelite generator creates .project files based on the `project()` stanza. Add a `CMAKE_CODELITE_USE_TARGETS` option to use the targets instead.
* fix a load of include-what-you-use violationsDaniel Pfeifer2016-09-031-6/+10
|
* Refactor extra generator registration to use factoriesTobias Hunger2016-08-031-11/+17
| | | | | | | | | | | This will allow additional information about the availability and capabilities of extra generators to be queried without actually creating them. Instead of a static NewFactory() method like the main generator factories have, use a static GetFactory() method to get a pointer to a statically allocated extra generator factory. This simplifies memory management.
* Simplify boolean expressionsDaniel Pfeifer2016-06-021-1/+1
| | | | | | Use clang-tidy's readability-simplify-boolean-expr checker. After applying the fix-its, revise all changes *very* carefully. Be aware of false positives and invalid changes.