summaryrefslogtreecommitdiffstats
path: root/Source/cmGeneratorExpressionNode.cxx
Commit message (Collapse)AuthorAgeFilesLines
* CMake: don't use else after returnDaniel Pfeifer2016-08-181-2/+4
|
* Make sure unnused parameters are /*named*/Daniel Pfeifer2016-08-161-75/+102
|
* Add additional <= and >= comparison operatorsChuck Atkins2016-08-091-0/+40
| | | | | This adds the LESS_EQUAL, GREATER_EQUAL, and associated STR and VERSION equivalents to use the combined <= and >= functionality.
* Avoid using KWSys auto_ptr by adopting it ourselvesBrad King2016-06-291-1/+1
| | | | | | | | | | | | Replace use of cmsys::auto_ptr with a CM_AUTO_PTR macro that maps to our own implementation adopted from the KWSys auto_ptr implementation. Later we may be able to map CM_AUTO_PTR to std::auto_ptr on compilers that do not warn about it. Automate the client site conversions: git grep -l auto_ptr -- Source/ | grep -v Source/kwsys/ | xargs sed -i \ 's|cmsys::auto_ptr|CM_AUTO_PTR|;s|cmsys/auto_ptr.hxx|cm_auto_ptr.hxx|'
* use CM_NULLPTRDaniel Pfeifer2016-06-281-7/+8
|
* Add CM_OVERRIDE to some functionsDaniel Pfeifer2016-06-271-61/+69
| | | | | | | Run clang-tidy's modernize-use-override checker. This checker must have issues in version 3.8. It has way too little matches. And it adds override to destructors. Revert the changes on the destructors and change override to CM_OVERRIDE.
* Revise C++ coding style using clang-formatKitware Robot2016-05-161-859/+702
| | | | | | | | | | | | | Run the `Utilities/Scripts/clang-format.bash` script to update all our C++ code to a new style defined by `.clang-format`. Use `clang-format` version 3.8. * If you reached this commit for a line in `git blame`, re-run the blame operation starting at the parent of this commit to see older history for the content. * See the parent commit for instructions to rebase a change across this style transition commit.
* Remove `//------...` horizontal separator commentsBrad King2016-05-091-53/+0
| | | | | | | | | | | | | | | | | | | | | | | | Modern editors provide plenty of ways to visually separate functions. Drop the explicit comments that previously served this purpose. Use the following command to automate the change: $ git ls-files -z -- \ "*.c" "*.cc" "*.cpp" "*.cxx" "*.h" "*.hh" "*.hpp" "*.hxx" | egrep -z -v "^Source/cmCommandArgumentLexer\." | egrep -z -v "^Source/cmCommandArgumentParser(\.y|\.cxx|Tokens\.h)" | egrep -z -v "^Source/cmDependsJavaLexer\." | egrep -z -v "^Source/cmDependsJavaParser(\.y|\.cxx|Tokens\.h)" | egrep -z -v "^Source/cmExprLexer\." | egrep -z -v "^Source/cmExprParser(\.y|\.cxx|Tokens\.h)" | egrep -z -v "^Source/cmFortranLexer\." | egrep -z -v "^Source/cmFortranParser(\.y|\.cxx|Tokens\.h)" | egrep -z -v "^Source/cmListFileLexer\." | egrep -z -v "^Source/cm_sha2" | egrep -z -v "^Source/(kwsys|CursesDialog/form)/" | egrep -z -v "^Utilities/(KW|cm).*/" | xargs -0 sed -i '/^\(\/\/---*\|\/\*---*\*\/\)$/ {d;}' This avoids modifying third-party sources and generated sources.
* Isolate formatted streaming blocks with clang-format off/onBrad King2016-05-061-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The clang-format tool can do a good job formatting most code, but well-organized streaming blocks are best left manually formatted. Find blocks of the form os << "...\n" "...\n" ; using the command $ git ls-files -z -- Source | egrep -v -z '^Source/kwsys/' | xargs -0 pcregrep -M --color=always -B 1 -A 1 -n \ '<<[^\n]*\n(^ *("[^\n]*("|<<|;)$|;)\n){2,}' Find blocks of the form os << "...\n" << "...\n" << "...\n"; using the command $ git ls-files -z -- Source | egrep -v -z '^Source/kwsys/' | xargs -0 pcregrep -M --color=always -B 1 -A 1 -n \ '<<[^\n]*\n(^ *<<[^\n]*(\\n"|<<|;)$\n){2,}' Surround such blocks with the pair /* clang-format off */ ... /* clang-format on */ in order to protect them from update by clang-format. Use the C-style `/*...*/` comments instead of C++-style `//...` comments in order to prevent them from ever being swallowed by re-formatting of surrounding comments.
* Format include directive blocks and ordering with clang-formatBrad King2016-04-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sort include directives within each block (separated by a blank line) in lexicographic order (except to prioritize `sys/types.h` first). First run `clang-format` with the config file: --- SortIncludes: false ... Commit the result temporarily. Then run `clang-format` again with: --- SortIncludes: true IncludeCategories: - Regex: 'sys/types.h' Priority: -1 ... Commit the result temporarily. Start a new branch and cherry-pick the second commit. Manually resolve conflicts to preserve indentation of re-ordered includes. This cleans up the include ordering without changing any other style. Use the following command to run `clang-format`: $ git ls-files -z -- \ '*.c' '*.cc' '*.cpp' '*.cxx' '*.h' '*.hh' '*.hpp' '*.hxx' | egrep -z -v '(Lexer|Parser|ParserHelper)\.' | egrep -z -v '^Source/cm_sha2' | egrep -z -v '^Source/(kwsys|CursesDialog/form)/' | egrep -z -v '^Utilities/(KW|cm).*/' | egrep -z -v '^Tests/Module/GenerateExportHeader' | egrep -z -v '^Tests/RunCMake/CommandLine/cmake_depends/test_UTF-16LE.h' | xargs -0 clang-format -i This selects source files that do not come from a third-party. Inspired-by: Daniel Pfeifer <daniel@pfeifer-mail.de>
* Source: Stabilize include orderBrad King2016-04-291-0/+1
| | | | | Each source file has a logical first include file. Include it in an isolated block so that tools that sort includes do not move them.
* Merge topic 'minor-cleanups'Brad King2015-10-281-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 13a37f5f cmMakefile: Fix typo in comment 958508bb cmMakefile: Fix style 91a829c1 Makefiles: Remove unused variable e0213882 cmTarget: Remove obsolete member 0554c2c9 cmTarget: Fix style b22e5d0a Remove some obsolete declarations ce43ed2c Use LocalGenerator when possible d90c9738 Makefiles: Remove some unneeded casts 331023ae Export: Remove unused variable a03f3d0e cmFunctionBlocker: Constify method d50c4220 Xcode: Fix typo in comment 803f1901 Xcode: Remove trailing semicolon
| * Remove some obsolete declarationsStephen Kelly2015-10-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Ensure that cmStandardIncludes.h is included before any platform header in cmGeneratorExpressionEvaluator.h. That file needs to change as a result of removal of the cmMakefile.h header from cmGeneratorExpressionNode.h, affecting the compilation of cmGeneratorExpressionNode.cxx. On AIX we need to include our own headers first to get large file support macros defined consistently within system headers. The old order in this header worked only because it was always included after other headers.
* | cmGeneratorTarget: Move LinkLanguagePropagatesToDependents from cmTargetStephen Kelly2015-10-271-1/+1
| |
* | Genex: use cmGeneratorTarget policy APIStephen Kelly2015-10-271-1/+1
| |
* | cmLocalGenerator: Add GetPolicyStatus APIStephen Kelly2015-10-271-2/+2
|/
* cmGeneratorTarget: Move IsDLLPlatform from cmTarget.Stephen Kelly2015-10-201-1/+1
|
* cmGeneratorTarget: Move IsLinkable from cmTarget.Stephen Kelly2015-10-191-1/+1
|
* cmGeneratorTarget: Access global state through LocalGenerator.Stephen Kelly2015-10-161-2/+2
|
* Merge topic 'genex-consumers-generator-targets'Brad King2015-10-161-43/+37
|\ | | | | | | | | | | c4ae1578 Genex: Port some access API to cmGeneratorTarget. 6d27a3db Genex: Port implementation to cmGeneratorTarget.
| * Genex: Port some access API to cmGeneratorTarget.Stephen Kelly2015-10-151-5/+5
| |
| * Genex: Port implementation to cmGeneratorTarget.Stephen Kelly2015-10-151-44/+38
| |
* | Remove now-obsolete casts.Stephen Kelly2015-10-141-1/+1
| |
* | cmState: Move TargetType enum from cmTarget.Stephen Kelly2015-10-141-9/+9
| | | | | | | | | | | | | | Mostly automated: values=( "EXECUTABLE" "STATIC_LIBRARY" "SHARED_LIBRARY" "MODULE_LIBRARY" "OBJECT_LIBRARY" "UTILITY" "GLOBAL_TARGET" "INTERFACE_LIBRARY" "UNKNOWN_LIBRARY" "TargetType") for i in "${values[@]}"; do git grep -l cmTarget::$i | xargs sed -i "s|cmTarget::$i|cmState::$i|g"; done
* | Generators: Use GetType from the cmGeneratorTarget.Stephen Kelly2015-10-141-1/+1
|/
* cmLocalGenerator: Store cmGeneratorTargets.Stephen Kelly2015-10-141-2/+2
| | | | Relieve cmMakefile of this responsibility.
* cmGeneratorExpression: Port interface to cmGeneratorTarget.Stephen Kelly2015-10-121-4/+7
|
* cmGeneratorExpression: Port to cmLocalGenerator.Stephen Kelly2015-10-121-27/+32
|
* Genex: Port implementation detail to cmGeneratorTarget.Stephen Kelly2015-10-121-9/+11
|
* cmGeneratorTarget: Move HasImportLibrary from cmTarget.Stephen Kelly2015-10-121-1/+1
|
* cmLinkItem: Port to cmGeneratorTarget.Stephen Kelly2015-10-121-1/+1
|
* cmGeneratorTarget: Port GetLinkInterfaceLibraries away from cmTarget.Stephen Kelly2015-10-101-1/+4
|
* cmGeneratorTarget: Move GetPDBDirectory from cmTarget.Stephen Kelly2015-10-081-1/+1
|
* cmGeneratorTarget: Move GetDirectory from cmTarget.Stephen Kelly2015-10-081-1/+1
|
* cmGeneratorTarget: Move link implementation from cmTarget.Stephen Kelly2015-10-081-1/+1
|
* Genex: Add a SHELL_PATH expressionStefan Kislinskiy2015-09-281-0/+23
| | | | | | | | | Some commands on Windows do not understand forward slash paths and require backslashes. In order to help projects generate shell invocations of such commands, provide a generator expression to convert paths to the shell-preferred path format for the current generator. This will allow custom commands to generate paths the same way CMake does for compiler command invocations.
* cmGeneratorTarget: Move GetLinkInterfaceLibraries from cmTarget.Stephen Kelly2015-08-261-1/+1
|
* cmTarget: Move link interface libraries struct out.Stephen Kelly2015-08-261-1/+1
|
* Merge topic 'use-generator-target'Brad King2015-08-111-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | 29886ce7 cmTarget: Use a simpler delete algorithm. 197f4de1 cmTarget: Split storage of compile definitions from genexes. 44e071ae cmTarget: Split storage of compile features from genexes. 772ecef4 cmTarget: Split storage of compile options from genexes. 1f54bc1c cmTarget: Split storage of include directories from genexes. 7568199b cmTarget: Request only the link libraries where needed. 10040601 cmLinkImplementationLibraries: Move to namespace scope. d9da6ee2 cmLinkItem: Split to separate file. 27252b24 cmComputeLinkInformation: Simplify generator object access.
| * cmLinkImplementationLibraries: Move to namespace scope.Stephen Kelly2015-08-061-1/+1
| |
* | Reject TARGET_PDB_FILE for imported targets instead of crashingBrad King2015-08-061-0/+7
|/ | | | Reported-by: Justin Borodinsky <justin.borodinsky@gmail.com>
* cmGeneratorTarget: Move GetLinkerLanguage from cmTarget.Stephen Kelly2015-08-051-5/+5
|
* cmGeneratorTarget: Move GetPDBName from cmTarget.Stephen Kelly2015-08-051-1/+1
|
* cmGeneratorTarget: Move LinkInterfaceDependent methods from cmTarget.Stephen Kelly2015-08-051-6/+6
|
* cmGeneratorTarget: Move IsLinkInterfaceDependent* from cmTarget.Stephen Kelly2015-08-051-12/+15
|
* cmGeneratorTarget: Move GetSOName from cmTarget..Stephen Kelly2015-08-051-1/+1
|
* cmGeneratorExpressionNode: Remove unused variable.Stephen Kelly2015-07-281-2/+0
|
* Move GetFullPath to cmGeneratorTargetStephen Kelly2015-07-271-17/+18
|
* Genex: Store a backtrace, not a pointer to one.Stephen Kelly2015-07-171-1/+1
| | | | | | | | | | The storage of a pointer means that the ownership and lifetime are externally determined, which is harder to reason about. It also imposes API constraints, requiring APIs to return references to backtraces. This pointer storage was introduced in commit v3.1.0-rc1~425^2~3 (genex: remove the need for backtraces, 2014-05-23). As backtraces are now cheap to copy around, just do that instead.
* Merge topic 'refactor-cmPolicies'Brad King2015-05-051-4/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 013ada80 cmPolicies: Implement PolicyMap in terms of bitset. be6664c2 cmPolicies: Implement abstraction for PolicyMap. de211686 Port to static cmPolicies API. 13981f20 cmPolicies: Make all API static. 23e2bcc8 cmPolicies: Remove unused DefinePolicy method. 5641ba4f cmPolicies: Remove unused cmPolicy class. 3de54497 cmPolicies: Loop over all policies using enum constants. 387aff20 cmPolicies: Trivialize GetPolicyStatus method. dbf680d6 cmPolicies: Use more-direct ID access. 8c204133 cmPolicies: Implement in terms of public API. e3a8c029 cmPolicies: Make private method file-static. cb765af0 cmPolicies: Implement short description access with XMacros. 5df267fa cmPolicies: Implement version check with XMacro. 2235cfeb cmPolicies: Implement id to version with XMacro. 05d84388 cmPolicies: Implement id to string conversion with XMacro. 6eaade8a cmPolicies: Introduce XMacro table for policy data. ...