summaryrefslogtreecommitdiffstats
path: root/Source/cmExportTryCompileFileGenerator.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Retire std::auto_ptr and its macro CM_AUTO_PTRMatthias Maennich2017-09-251-2/+2
| | | | Signed-off-by: Matthias Maennich <matthias@maennich.net>
* Meta: modernize old-fashioned loops to range-based `for`.Pavel Solodovnikov2017-09-121-15/+11
| | | | | | Changes done via `clang-tidy` with some manual fine-tuning for the variable naming and `auto` type deduction where appropriate.
* Use C++11 nullptrDaniel Pfeifer2017-08-241-2/+2
|
* cmState: Port dependents to new cmStateTypes headerStephen Kelly2016-10-191-1/+1
|
* cmState: Move TargetType enum to separate namespaceStephen Kelly2016-10-191-1/+1
|
* Simplify CMake per-source license noticesBrad King2016-09-271-12/+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.
* cmTarget: Construct with basic information up frontBrad King2016-09-141-3/+2
| | | | | Avoid having partially constructed cmTarget instances around, except for the special case of GLOBAL_TARGET construction.
* fix a load of include-what-you-use violationsDaniel Pfeifer2016-09-031-1/+10
|
* 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-1/+2
|
* Revise C++ coding style using clang-formatKitware Robot2016-05-161-61/+42
| | | | | | | | | | | | | 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-2/+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.
* Format include directive blocks and ordering with clang-formatBrad King2016-04-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* cmGeneratorTarget: Add API for property keysStephen Kelly2015-10-271-7/+9
|
* Export: Port interface to cmGeneratorTarget.Stephen Kelly2015-10-181-27/+24
|
* cmExportTryCompileFileGenerator: Port to cmGeneratorTarget.Stephen Kelly2015-10-181-12/+18
|
* Merge topic 'genex-consumers-generator-targets'Brad King2015-10-161-5/+6
|\ | | | | | | | | | | 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/+6
| |
* | cmState: Move TargetType enum from cmTarget.Stephen Kelly2015-10-141-1/+1
|/ | | | | | | 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
* cmGeneratorExpression: Port interface to cmGeneratorTarget.Stephen Kelly2015-10-121-2/+3
|
* cmGeneratorExpression: Port to cmLocalGenerator.Stephen Kelly2015-10-121-1/+1
|
* cmExportTryCompileFileGenerator: Evaluate genex with cmGeneratorTarget.Stephen Kelly2015-10-051-2/+6
|
* cmGeneratorTarget: Move GetInstallNameDir* from cmTarget.Stephen Kelly2015-08-051-2/+2
|
* cmExportTryCompileFileGenerator: Create cmGeneratorTargets.Stephen Kelly2015-07-271-0/+7
| | | | | This is not a deprecated behavior, but only requires IMPORTED targets be made.
* cmExportTryCompileFileGenerator: Add newline between methods.Stephen Kelly2015-06-071-0/+1
|
* cmExportTryCompileFileGenerator: Remove unused variable.Stephen Kelly2015-06-071-2/+0
|
* genex: remove the need for backtracesBen Boeckel2014-06-051-3/+2
| | | | | Rather than making dummy backtraces and passing them around, just make backtraces optional.
* Remove some c_str() calls.Stephen Kelly2014-03-111-2/+2
| | | | | | Use the clang RemoveCStrCalls tool to automatically migrate the code. This was only run on linux, so does not have any positive or negative effect on other platforms.
* stringapi: Use strings for property namesBen Boeckel2014-03-081-2/+3
| | | | Property names are always generated by CMake and should never be NULL.
* cmMakefile: make some methods take const std::string& instead of const char*Rolf Eike Beer2014-01-161-1/+1
| | | | | | | | Most callers already have a std::string, on which they called c_str() to pass it into these methods, which internally converted it back to std::string. Pass a std::string directly to these methods now, avoiding all these conversions. Those methods that only pass in a const char* will get the conversion to std::string now only once.
* Undefine local preprocessor loop variables.Stephen Kelly2014-01-061-0/+2
| | | | | Most occurances of this pattern already contain the undef, so add it to the rest too.
* Genex: Simplify the preprocessor looper for interface properties.Stephen Kelly2013-11-091-1/+1
| | | | By removing the INTERFACE_ prefix, we can use this in more contexts.
* cmTarget: Make GetProperty() const.Stephen Kelly2013-10-311-9/+9
| | | | | | This has follow-on effects for other methods and classes. Further work on making the use of const cmTarget pointers common can be done, particularly with a view to generate-time methods.
* try_compile: Extract IMPORTED targets from INTERFACE_LINK_LIBRARIESStephen Kelly2013-08-261-1/+2
|
* try_compile: Extract IMPORTED targets from LINK_DEPENDENT_LIBRARIESStephen Kelly2013-08-261-1/+2
|
* Use a preprocessor loop to manage the valid transitive properties.Stephen Kelly2013-06-101-3/+4
| | | | | Hopefully this will prevent regressions when adding further transitive properties in the future.
* Find targets in INTERFACE_COMPILE_OPTIONS when exporting for try_compile.Stephen Kelly2013-06-101-0/+1
| | | | | This was missing from commit 80ca9c4b (Add COMPILE_OPTIONS target property., 2013-05-16).
* OS X: Add support for @rpath in export files.Clinton Stimpson2013-06-031-0/+15
| | | | | Also expand the IMPORTED_SONAME property for targets to match the install_name.
* Add a new Export generator for IMPORTED targets.Stephen Kelly2013-02-221-0/+114
This is to be used during try_compile using LINK_LIBRARIES in the srcfile signature and, in the future, TARGETS in the binary dir signature.