summaryrefslogtreecommitdiffstats
path: root/Source/cmTarget.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'cmRange-API'Brad King2015-07-271-21/+32
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | 8d336875 cmMakefile: Use Ranges for buildsystem property access. 514a1dff cmAlgorithms: Add some convenient typedefs. c7b39d06 cmMakefile: Split accessors for include directories and origins. b2de25ad cmMakefile: Split accessors for compile options and origins. d6239507 cmMakefile: Split accessors for compile definitions and origins. ef17bbef cmMakefile: Separate storage of buildsystem properties and their origins. a89c02ce cmMakefile: Out of line some API. b19587e7 cmMakefile: Remove some references from APIs. 1fe71e2e cmAlgorithms: Move Range type out of private namespace. 8ea0b81d cmAlgorithms: Rename cmRange to cmMakeRange.
| * cmMakefile: Use Ranges for buildsystem property access.Stephen Kelly2015-07-221-8/+7
| | | | | | | | Don't return vector copies.
| * cmMakefile: Split accessors for include directories and origins.Stephen Kelly2015-07-221-11/+16
| |
| * cmMakefile: Split accessors for compile options and origins.Stephen Kelly2015-07-221-8/+14
| |
| * cmMakefile: Split accessors for compile definitions and origins.Stephen Kelly2015-07-221-3/+4
| |
| * cmAlgorithms: Rename cmRange to cmMakeRange.Stephen Kelly2015-07-221-1/+1
| |
* | Add SOURCE_DIR and BINARY_DIR target propertiesClifford Yapp2015-07-211-0/+12
|/ | | | | This will allow project code to recover the directory information about where a target was created.
* Genex: Store a backtrace, not a pointer to one.Stephen Kelly2015-07-171-18/+18
| | | | | | | | | | 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.
* VS: Add more Nsight Tegra generator Android property settingsMikhail Filimonov2015-07-141-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Extend the Nsight Tegra project generator to add bunch of properties with the backing variables to fine-tune the generated projects. Add target properties that map to all "Configuration" PropertyGroups for each configuration: * ANDROID_ARCH * ANDROID_STL_TYPE Add target properties that map to the AntBuild section of vcxproj files: * ANDROID_ANT_ADDITIONAL_OPTIONS * ANDROID_ASSETS_DIRECTORIES * ANDROID_JAR_DEPENDENCIES * ANDROID_JAR_DIRECTORIES * ANDROID_JAVA_SOURCE_DIR * ANDROID_NATIVE_LIB_DEPENDENCIES * ANDROID_NATIVE_LIB_DIRECTORIES * ANDROID_PROCESS_MAX * ANDROID_PROGUARD * ANDROID_PROGUARD_CONFIG_PATH * ANDROID_SECURE_PROPS_PATH * ANDROID_SKIP_ANT_STEP Reviewed-by: Dmitry Polyanitsa <dpolyanitsa@nvidia.com>
* Add generator expression support to OUTPUT_NAME target propertyRobert Goulet2015-07-091-3/+13
|
* Merge topic 'empty-LINK_LIBRARIES'Brad King2015-07-091-6/+12
|\ | | | | | | | | 7aa9e80e set_property: Fix crash when setting LINK_LIBRARIES to nothing
| * set_property: Fix crash when setting LINK_LIBRARIES to nothingBrad King2015-07-081-6/+12
| | | | | | | | | | | | | | | | We use a special dedicated structure to store the LINK_LIBRARIES target property. Do not try to construct a string from a NULL value. Instead leave the property structure empty when no value is given. Reported-by: Ghyslain Leclerc <ghleclerc@gmail.com>
* | 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.