summaryrefslogtreecommitdiffstats
path: root/Source/cmTarget.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Windows: Honor WINDOWS_EXPORT_ALL_SYMBOLS for executables with exportsYury Zhuravlev2016-07-111-1/+2
| | | | | For executables with ENABLE_EXPORTS set, export all symbols when instructed to do so by WINDOWS_EXPORT_ALL_SYMBOLS.
* use CM_NULLPTRDaniel Pfeifer2016-06-281-84/+84
|
* Use <unordered_set> where availableDaniel Pfeifer2016-06-271-1/+5
|
* Merge topic 'link_what_you_use'Brad King2016-06-171-0/+1
|\ | | | | | | | | | | a0902efa Help: Add notes for topic 'link_what_you_use' 96242f80 Add options to run `ldd -u -r` as a "link-what-you-use" tool
| * Add options to run `ldd -u -r` as a "link-what-you-use" toolBill Hoffman2016-06-171-0/+1
| | | | | | | | | | | | | | Create a LINK_WHAT_YOU_USE target property and corresponding CMAKE_LINK_WHAT_YOU_USE variable to enable this behavior. Extend link commands by running `ldd -u -r` to detect shared libraries that are linked but not needed.
* | Add missing braces around statements.Daniel Pfeifer2016-06-101-1/+2
| | | | | | | | | | Apply fixits of clang-tidy's readability-braces-around-statements checker.
* | Prefer std::ostream& over derivatives as parametersDaniel Pfeifer2016-06-081-2/+1
|/
* Fix crash on $<TARGET_PROPERTY:...,LOCATION> genex (#16134)Brad King2016-06-021-3/+9
| | | | | | | | | | | | | | | | | | Policy CMP0026 deprecated the LOCATION property, and we have long provided a $<TARGET_FILE:...> generator expression. However, if a project tries to use $<TARGET_PROPERTY:...,LOCATION> we should at least not crash. The compatibility implementation of the LOCATION property uses cmGlobalGenerator::CreateGenerationObjects to create the structures needed to evaluate the property before generation starts. The implementation assumed that accessing the property could only be done during configuration (via the typical get_property command use case). The $<TARGET_PROPERTY:...,LOCATION> genex causes the LOCATION property to be accessed during generation. Calling CreateGenerationObjects during generation blows away all the objects currently being used for generation and is not safe. Add a condition to call it only when configuration is not finished.
* Revise C++ coding style using clang-formatKitware Robot2016-05-161-699/+474
| | | | | | | | | | | | | 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-51/+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.
* Help clang-format wrap after braces on long initializer listsBrad King2016-05-061-0/+1
| | | | | | Add a long comment inside a few braced initializer lists in order to convince clang-format to break after the opening brace and format the list without indenting every value past the opening brace.
* Format include directive blocks and ordering with clang-formatBrad King2016-04-291-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Add options to run clang-tidy with the compilerDaniel Pfeifer2016-04-131-0/+2
| | | | | | Create a <LANG>_CLANG_TIDY target property (initialized by a CMAKE_<LANG>_CLANG_TIDY variable) to specify a clang-tidy command line to be run along with the compiler.
* Drop Visual Studio 6 generatorBrad King2016-03-091-298/+0
| | | | | | This generator has been deprecated since CMake 3.3. Remove it. Update documentation, modules, and tests to drop content specific to this generator.
* Xcode: Add support for combined install on iOSRuslan Baratov2015-12-101-0/+1
| | | | | | | | | | | | This patch solves the problem of installing both: Device and Simulator libraries on iOS. Before only one of them was installed. If the IOS_INSTALL_COMBINED property is set on a target, a special install hook will be activated which builds the corresponding target and combines both at the install location. The original patch was contributed by Ruslan Baratov, and polished by Gregor Jasny.
* Merge topic 'minor-cleanups'Brad King2015-10-281-5/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * cmTarget: Remove obsolete memberStephen Kelly2015-10-271-4/+0
| |
| * cmTarget: Fix styleStephen Kelly2015-10-271-1/+2
| |
* | CMP0026: Port away from GetGeneratorTargetStephen Kelly2015-10-271-3/+3
| |
* | cmGlobalGenerator: Remove direct storage of targetsStephen Kelly2015-10-271-1/+3
| | | | | | | | Find the target by looping when needed.
* | cmTarget: Make compatbility API explicit.Stephen Kelly2015-10-271-17/+0
| |
* | cmGeneratorTarget: Move GetFrameworkVersion from cmTargetStephen Kelly2015-10-261-19/+0
|/
* cmTarget: Remove unused NameResolvesToFramework.Stephen Kelly2015-10-201-7/+0
|
* Move ComputeLinkType out of cmTarget.Stephen Kelly2015-10-201-25/+0
| | | | | Keep it out of the way, so that it does not become part of cmGeneratorTarget, but where it can be used to implement CMP0003.
* cmGeneratorTarget: Move HaveWellDefinedOutputFiles from cmTarget.Stephen Kelly2015-10-201-10/+0
|
* cmGeneratorTarget: Move GetExportMacro from cmTarget.Stephen Kelly2015-10-201-26/+0
|
* cmGeneratorTarget: Move IsCFBundleOnApple from cmTarget.Stephen Kelly2015-10-191-8/+0
|
* cmGeneratorTarget: Move IsXCTestOnApple from cmTarget.Stephen Kelly2015-10-191-7/+0
|
* cmGeneratorTarget: Move IsLinkable from cmTarget.Stephen Kelly2015-10-191-11/+0
|
* cmGeneratorTarget: Move GetExportName from cmTarget.Stephen Kelly2015-10-181-20/+0
|
* cmGeneratorTarget: Move ComputeVersionedName from cmTarget.Stephen Kelly2015-10-161-17/+0
|
* cmGeneratorTarget: Move GetTargetVersion from cmTarget.Stephen Kelly2015-10-161-38/+0
|
* cmGeneratorTarget: Move CheckCMP0004 from cmTarget.Stephen Kelly2015-10-161-57/+0
|
* cmGeneratorTarget: Move ImportInfo from cmTarget.Stephen Kelly2015-10-161-229/+0
|
* cmTarget: Inline the essential part of imported target location.Stephen Kelly2015-10-161-3/+65
|
* cmGeneratorTarget: Move ImportedGetLocation from cmTarget.Stephen Kelly2015-10-161-9/+0
|
* cmGeneratorTarget: Move GetFullNameImported from cmTarget.Stephen Kelly2015-10-161-8/+0
|
* cmGeneratorTarget: Move GetObjectLibrariesCMP0026 from cmTarget.Stephen Kelly2015-10-161-39/+0
|
* cmState: Move GetTargetTypeName from cmTarget.Stephen Kelly2015-10-141-28/+1
|
* cmState: Move TargetType enum from cmTarget.Stephen Kelly2015-10-141-75/+79
| | | | | | | 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
* cmTarget: Move link type enum out.Stephen Kelly2015-10-141-19/+20
| | | | Remove a reason for generate time code to depend on the cmTarget header/type.
* cmTarget: Move ImportInfoMap out of internal class.Stephen Kelly2015-10-141-8/+4
|
* cmTarget: Move backtrace member out of internal class.Stephen Kelly2015-10-141-5/+2
|
* cmTarget: Remove unneeded constructors.Stephen Kelly2015-10-141-15/+0
| | | | The compiler generated ones are fine here.
* cmGeneratorTarget: Move GetSupportDirectory from cmTarget.Stephen Kelly2015-10-121-15/+0
|
* cmGeneratorTarget: Move HasImplibGNUtoMS from cmTarget.Stephen Kelly2015-10-121-20/+0
|
* cmGeneratorTarget: Move FindTargetToLink from cmTarget.Stephen Kelly2015-10-121-31/+0
|
* cmGeneratorTarget: Move GetUtilityItems from cmTarget.Stephen Kelly2015-10-121-21/+0
|
* cmGeneratorTarget: Move IsImportedSharedLibWithoutSOName from cmTarget.Stephen Kelly2015-10-101-14/+0
|