summaryrefslogtreecommitdiffstats
path: root/Source/cmTarget.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'auto_export_dll_symbols'Brad King2015-07-081-0/+5
|\ | | | | | | | | | | | | | | | | | | | | | | | | 8f86407c Windows: Optionally generate DLL module definition files automatically 069aa93b bindexplib: Add support for "/bigobj" format objects 61bbbdcf bindexplib: Fix treatment of some symbols de70c922 bindexplib: Teach DumpFile to return errors 8ea69dfe bindexplib: Build source as part of CMakeLib 2963cb2a bindexplib: Wrap long lines 4ff09893 bindexplib: Drop code that CMake does not need 7de8276c bindexplib: Add copyright/license notice block 65086ad7 bindexplib: Import original implementation from CERN
| * Windows: Optionally generate DLL module definition files automaticallyBill Hoffman2015-07-061-0/+5
| | | | | | | | | | | | | | Create target property WINDOWS_EXPORT_ALL_SYMBOLS to automatically generate a module definition file from MS-compatible .obj files and give it to the linker in order to export all symbols from the .dll part of a SHARED library.
* | Merge topic 'fix-target_link_libraries-wrong-dir'Brad King2015-06-261-2/+2
|\ \ | |/ |/| | | | | 30c2e1dd cmTarget: Fix diagnostic of target_link_libraries in wrong directory (#15626)
| * cmTarget: Fix diagnostic of target_link_libraries in wrong directory (#15626)Brad King2015-06-251-2/+2
| | | | | | | | | | | | | | | | | | | | Since commit v3.3.0-rc1~62^2~5 (cmTarget: Store only cmListFileContext for CMP0023 handling, 2015-05-18) a call to target_link_libraries on a target that was defined in another (non-ancestor) directory crashes because no execution context is left active. Fix this by getting the execution context from the actual cmMakefile where the current target_link_libraries call takes place. Test this by verifying that such calls correctly produce an error diagnostic instead of crashing.
* | Merge topic 'compiler-launcher'Brad King2015-06-151-0/+2
|\ \ | | | | | | | | | | | | 698f7597 Add options to launch the compiler through tools like ccache or distcc
| * | Add options to launch the compiler through tools like ccache or distccBill Hoffman2015-06-151-0/+2
| |/ | | | | | | | | | | | | | | | | | | | | | | | | Create a <LANG>_COMPILER_LAUNCHER target property (initialized by a CMAKE_<LANG>_COMPILER_LAUNCHER variable) to specify a compiler launcher tool. This will supersede the CMAKE_<LANG>_COMPILER_ARG1 approach to using such tools. The old approach set CMAKE_<LANG>_COMPILER to the launcher tool while the new approach leaves this variable set to the actual compiler. Implement this property for Makefile and Ninja generators. It cannot be implemented for VS or Xcode generators as the IDE build tools offer no such hooks.
* | Merge topic 'data-layout'Brad King2015-06-081-44/+25
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8174e5cd cmCustomCommand: Remove special member functions. 34e1d6db cmCustomCommand: Re-arrange data layout. 54cb76f2 cmComputeLinkDepends: Re-arrange data layout. b661d6c6 cmQtAutoGenerators: Re-arrange data layout. 40844a14 cmProcessTools: Re-arrange data layout. b1ff32af cmOrderDirectories: Re-arrange data layout. dd0417c7 cmInstallTargetGenerator: Re-arrange data layout. 125c4866 cmInstallFilesGenerator: Re-arrange data layout. 92b8b1fc cmGraphVizWriter: Re-arrange data layout. 7f3e1623 cmGlobalGenerator: Re-arrange data layout. d9df7fa7 cmComputeComponentGraph: Re-arrange data layout. db24e41b cmCommandArgumentParserHelper: Re-arrange data. 4cd13e80 cmComputeLinkInformation: Re-arrange data layout. 3e087a40 cmLocalUnixMakefileGenerator: Re-arrange data layout. e0421701 cmMakefile: Re-arrange data layout. c26696eb cmSourceFile: Re-arrange data. ...
| * | cmTarget: Replace PolicyStatus members with PolicyMap.Stephen Kelly2015-06-071-15/+2
| | | | | | | | | | | | sizeof(cmTarget) goes from 856 to 840 with GNU libstdc++ 5.1.
| * | cmTarget: Use method abstraction for policy status.Stephen Kelly2015-06-071-9/+9
| | |
| * | cmPropertyMap: Remove chaining logic.Stephen Kelly2015-06-071-8/+8
| | | | | | | | | | | | | | | | | | | | | The chaining logic doesn't belong to the container, and the CMakeInstance pointer doesn't need to be in cmPropertyMap. Size goes from 56 to 48 bytes with GNU libstdc++-5.1.
| * | cmPropertyMap: Remove scope parameter from API where not used.Stephen Kelly2015-06-071-12/+6
| | |
* | | Merge topic 'move-Feature-API'Brad King2015-06-081-28/+0
|\ \ \ | | | | | | | | | | | | | | | | | | | | f573bd22 cmLocalGenerator: Add Feature API from cmMakefile. ccbc2259 cmGeneratorTarget: Move Feature API from cmTarget.
| * | | cmGeneratorTarget: Move Feature API from cmTarget.Stephen Kelly2015-06-061-28/+0
| |/ /
* | | cmTarget: Port to cmOutputConverter.Stephen Kelly2015-06-061-3/+3
|/ /
* | Merge topic 'cmMakefile-Configure'Brad King2015-06-041-6/+6
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7657e8b1 cmMakefile: Introduce a local cmMakefile variable. 4e8f242d cmMakefile: Store unconfigured cmMakefiles. d65e0123 cmMakefile: Implement ConfigureSubDirectory in terms of cmMakefile. f059ed16 cmMakefile: Move Configure responsibility from cmLocalGenerator. a653611d cmake: Replace CurrentLocalGenerator concept with CurrentMakefile. 69a038a9 cmMakefile: Refactor directories specified with the subdirs command. 08637970 cmLocalGenerator: ComputeObjectMaxPath just before generating. 27e11c6f Merge Configure state with GeneratingBuildSystem state. 363caa2f cmLocalGenerator: De-virtualize Configure().
| * | Merge Configure state with GeneratingBuildSystem state.Stephen Kelly2015-06-041-6/+6
| |/
* | cmMakefile: Make cmListFileBacktrace default constructible.Stephen Kelly2015-06-021-2/+2
|/
* Merge topic 'run-include-what-you-use'Brad King2015-05-211-0/+2
|\ | | | | | | | | | | ada5ffce Add options to run include-what-you-use with the compiler 67fa3da9 cmake: Add internal -E mode to run include-what-you-use with the compiler
| * Add options to run include-what-you-use with the compilerBrad King2015-05-191-0/+2
| | | | | | | | | | | | Create a <LANG>_INCLUDE_WHAT_YOU_USE target property (initialized by a CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE variable) to specify an IWYU command line to be run along with the compiler.
* | cmTarget: Simplify CMP0023 message loop.Stephen Kelly2015-05-181-15/+5
| | | | | | | | | | This method is only called if there is a mismatch and something to print. Remove intermediate container.
* | cmTarget: Simplify output computation.Stephen Kelly2015-05-181-1/+1
| | | | | | | | | | We always have line information for contexts resulting from command execution.
* | cmTarget: Store context in stack only if different.Stephen Kelly2015-05-181-8/+5
| | | | | | | | | | | | The PushTLLCommandTrace method is called once per link item for a single target_link_libraries command. Avoid storing copies of identical execution contexts and rely on the uniqueness while printing output.
* | cmTarget: Store only cmListFileContext for CMP0023 handling.Stephen Kelly2015-05-181-15/+12
| | | | | | | | | | Only the top level execution context is shown, as appropriate, so store only that.
* | cmTarget: Remove needless iteration.Stephen Kelly2015-05-181-1/+0
|/ | | | This is not a loop.
* Merge topic 'refactor-cmPolicies'Brad King2015-05-051-26/+12
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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. ...
| * Port to static cmPolicies API.Stephen Kelly2015-05-041-26/+12
| |
* | Port to cmMakefile::GetGlobalGenerator.Stephen Kelly2015-05-031-10/+8
|/
* cmMakefile: Port users of GetStart* methods to new names.Stephen Kelly2015-04-201-4/+4
|
* cmMakefile: Rename GetCurrent{Output,Binary}Directory.Stephen Kelly2015-04-201-1/+1
| | | | Match names used in CMake code.
* Move property definition to cmState.Stephen Kelly2015-04-131-14/+0
|
* Merge topic 'introduce-cmState'Brad King2015-04-131-2/+2
|\ | | | | | | | | | | | | | | f081c5bd cmState: Move CacheEntryType enum from cmCacheManager. f71fdf0e cmMakefile: Remove unused CacheManager accessor. ff7169a0 Port to cmState. a6b1ad13 Introduce cmState class.
| * cmState: Move CacheEntryType enum from cmCacheManager.Stephen Kelly2015-04-131-2/+2
| |
* | cmake: Remove DebugConfigs member.Stephen Kelly2015-04-121-2/+2
| | | | | | | | It adds needless complexity to global property handling.
* | Properties: Add CROSSCOMPILING_EMULATOR target property.Matt McCormick2015-04-071-0/+1
|/ | | | | | | Add CROSSCOMPILING_EMULATOR target property for executables. This is used by subsequent patches to run exectuables created for the target system when crosscompiling. The property is initialized by the CMAKE_CROSSCOMPILING_EMULATOR variable when defined.
* OS X: Add handling for XCTest bundlesGregor Jasny2015-03-231-1/+15
| | | | | | | | | | An XCTest bundle is a CFBundle with a special product-type and bundle extension. For more information about XCTest visit the Mac Developer library at: http://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/testing_with_xcode/ Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
* Include cmAlgorithms where it is used.Stephen Kelly2015-03-101-0/+1
|
* Genex: Allow COMPILE_LANGUAGE when processing include directories.Stephen Kelly2015-03-091-5/+9
| | | | Issue an error if this is encountered by an IDE generator.
* Genex: Allow COMPILE_LANGUAGE when processing compile definitions.Stephen Kelly2015-03-091-5/+9
| | | | Issue an error if this is encountered by an IDE generator.
* Genex: Enable use of COMPILE_LANGUAGE for compile options.Stephen Kelly2015-03-091-9/+17
| | | | | | Follow-ups will allow the use of the generator expression for compile definitions and include directories for non-IDE generators.
* Merge topic 'minor-cleanups'Brad King2015-02-231-5/+5
|\ | | | | | | | | | | | | | | c021f59c cmMakefile: Store macro list in a vector not in a map. 2d130896 cmMakefile: Fix list of macros generation. f1969234 cmFunctionCommand: Remove ineffectual code. 1116698a cmTarget: Don't needlessly clear vectors in the destructor.
| * cmTarget: Don't needlessly clear vectors in the destructor.Stephen Kelly2015-02-211-5/+5
| | | | | | | | This will be done anyway for us.
* | cmTarget: Port loop to algorithm.Stephen Kelly2015-02-201-6/+3
|/
* cmTarget: Remove template argument workaround.Stephen Kelly2015-02-171-9/+5
| | | | | | Pre-C++98 compilers required that the template argument be used in the function parameters. Those compilers are no longer supported as hosts, so drop the workaround.
* cmTarget: Use a sorted vector in place of a set.Stephen Kelly2015-02-111-17/+10
| | | | | | | The vector has a more easy-to-use API. Join the string with cmJoin, and avoid erasing from the container in the loop.
* Replace loop with algorithm.Stephen Kelly2015-02-061-7/+3
|
* Use insert member instead of back_inserter.Stephen Kelly2015-02-061-2/+1
|
* Merge topic 'consistent-empty-method'Brad King2015-01-191-2/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | 5f69314e Replace foo.length() pattern with !foo.empty(). fd0c036c Replace 'foo.length() >= 1' pattern with !foo.empty() f09fde2d Replace 'foo.length() > 0' pattern with !foo.empty(). 86b5bdfa Replace 'foo.length() == 0' pattern with foo.empty(). fd7b3712 Replace foo.size() pattern with !foo.empty(). aa773035 Replace !foo.size() pattern with foo.empty(). 64592633 cmListCommand: Use empty() and expand whitespace. 607e1938 Replace 'foo.size() != 0' pattern with !foo.empty(). 930bd478 Replace 'foo.size() == 0' pattern with foo.empty(). d92887ef Replace 'foo.size() > 0' pattern with !foo.empty().
| * Replace 'foo.size() != 0' pattern with !foo.empty().Stephen Kelly2015-01-181-2/+2
| |
* | Use the cmDeleteAll algorithm for types derived from std::map.Stephen Kelly2015-01-171-10/+2
|/
* Merge topic 'delete-algorithm'Brad King2015-01-151-7/+1
|\ | | | | | | | | | | | | | | 65b81da4 cmVariableWatch: Use the cmDeleteAll algorithm with for_each. 30d2de9a cmGeneratorExpressionEvaluator: Replace own algorithm with cmDeleteAll. 4a6e795b Use the cmDeleteAll algorithm instead of trivial raw loops. abb4a678 Add a generic algorithm for deleting items in a container.