summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* cmTarget: Drop 'head' argument from GetLinkClosureBrad King2014-06-233-19/+14
| | | | It is only ever passed the 'this' target itself.
* cmTarget: Remove 'head' argument from GetLinkerLanguageBrad King2014-06-232-11/+7
| | | | | | It is only ever called with the 'this' target as the head. Co-Author: Stephen Kelly <steveire@gmail.com>
* cmComputeLinkInformation: Remove 'head' argumentBrad King2014-06-235-22/+13
| | | | | | It is only ever constructed with the current target as its own 'head'. Co-Author: Stephen Kelly <steveire@gmail.com>
* cmTarget: Remove 'head' argument from GetLinkInformationBrad King2014-06-232-11/+7
| | | | | | No call sites use it anyway. Co-Author: Stephen Kelly <steveire@gmail.com>
* cmTarget: Cache GetLinkImplementationClosure resultsBrad King2014-06-232-14/+24
| | | | | Store them internally and return by reference to avoid duplicate computation.
* cmTarget: Rename Get{TransitiveTarget => LinkImplementation}ClosureBrad King2014-06-232-5/+5
| | | | | The method computes the transitive closure of targets starting with the current target link implementation libraries. Clarify the name.
* cmTarget: Remove 'head' argument from GetTransitiveTargetClosureBrad King2014-06-232-6/+4
| | | | The method is never called with any headTarget besides "this".
* cmComputeLinkDepends: Simplify CheckWrongConfigItem implementationBrad King2014-06-231-6/+3
| | | | Combine the outer two if() conditions into a single one with &&.
* cmTarget: Simplify processILibs implementationBrad King2014-06-231-13/+10
| | | | | Combine the outer two if() conditions into a single one with &&. Scope inner lookup result inside its condition.
* cmComputeTargetDepends: Remove unused 'linking' argumentBrad King2014-06-232-7/+4
| | | | | The AddInterfaceDepends method is never called with a non-true value for its 'linking' argument. Drop it.
* cmTarget: De-duplicate library list expansionBrad King2014-06-232-34/+31
| | | | | | | Create an ExpandLinkItems method to handle evaluation of generator expressions in a library list and expansion of the ;-list into a vector. Replace some duplicate copies of the implementation with calls to the new helper.
* cmTarget: Remove unused GetInterfaceLinkLibraries methodBrad King2014-06-232-26/+0
|
* Merge topic 'no-parse-directory'Brad King2014-06-101-1/+2
|\ | | | | | | | | b1c113d9 cmake: Do not open directories as scripts (#14966)
| * cmake: Do not open directories as scripts (#14966)Brad King2014-06-091-1/+2
| | | | | | | | | | Check if a file path is a directory before opening it. Extend the RunCMake.CommandLine test with a case running "cmake -P" on a directory.
* | Merge topic 'android-platform'Brad King2014-06-101-0/+1
|\ \ | | | | | | | | | | | | 42f74df6 Add basic Android platform module
| * | Add basic Android platform moduleBrad King2014-06-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create a Platform/Android module that includes Platform/Linux since Android is based on Linux. Provide only the minimal settings needed to get builds with Android NDK toolchains to work. Disable use of RPATH since the Android loader ignores it and we cannot predict the install destination anyway. Android supports soname but shared library names must end in ".so" and we cannot represent the versioned names with associated symlinks on all host operating systems anyway. However, we do want the SONAME of library files to be set so that linking to them by path to the library file produces NEEDED entries with the soname and not the path. Add a new CMAKE_PLATFORM_NO_VERSIONED_SONAME setting to tell the cmTarget::GetLibraryNames method that not to use the VERSION or SOVERSION target properties in the soname.
* | | Merge topic 'vs10-refactor'Brad King2014-06-105-153/+176
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1edaef39 VS: Factor MS-tool-specific vcxproj settings into helper 808f4b1f VS: Re-order logic to group MS-tool-specific options together 13e6d559 VS: Set some options directly instead of using flag map 8f4bdcc6 VS: Remove always-true condition on compile options block eaa9f2f8 VS: Refactor internal generator factory logic 2b3e7b6f VS: Fix vcxproj specification of empty output file extension 39af06e7 VS: Fix vcxproj elements specifying binary output locations ee329d54 VS: Refactor flag table lookup
| * | | VS: Factor MS-tool-specific vcxproj settings into helperBrad King2014-06-092-45/+53
| | | | | | | | | | | | | | | | | | | | | | | | Factor a WriteMSToolConfigurationValues helper method out of the cmVisualStudio10TargetGenerator::WriteProjectConfigurationValues method to isolate the configuration settings specific to MS tools.
| * | | VS: Re-order logic to group MS-tool-specific options togetherBrad King2014-06-091-27/+29
| | | |
| * | | VS: Set some options directly instead of using flag mapBrad King2014-06-091-14/+17
| | | | | | | | | | | | | | | | | | | | Instead of passing /TC, /TP, and /STACK: as strings to be parsed through the flag map, directly set the results in the options map.
| * | | VS: Remove always-true condition on compile options blockBrad King2014-06-091-36/+32
| | | | | | | | | | | | | | | | | | | | | | | | The cmVisualStudio10TargetGenerator::ComputeClOptions method is only called when the target type compiles, so do not duplicate that check in the implementation.
| * | | VS: Refactor internal generator factory logicBrad King2014-06-093-14/+15
| | | | | | | | | | | | | | | | | | | | Consume the space before the platform name as soon as possible instead of including it in the comparison.
| * | | VS: Fix vcxproj specification of empty output file extensionBrad King2014-06-091-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When a binary output file is to have no extension, the TargetExt element in the vcxproj cannot be left empty because VS will choose a default extension. Instead use "." because the Windows filesystem will treat that as an empty extension.
| * | | VS: Fix vcxproj elements specifying binary output locationsBrad King2014-06-091-9/+8
| | | | | | | | | | | | | | | | | | | | Fix generation of OutDir, IntDir, TargetName, and TargetExt element values to encode the values for XML.
| * | | VS: Refactor flag table lookupBrad King2014-06-092-16/+24
| | |/ | |/| | | | | | | | | | | | | | | | | | | In cmVisualStudio10TargetGenerator, convert the static functions currently used to lookup the flag table for each tool into class methods. This avoids passing the this->LocalGenerator member and gives the methods access to other information that may be useful in the future.
* | | Merge topic 'dev/static-regex'Brad King2014-06-106-25/+19
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 1b003c1f cmTarget: Remove an unused variable 7492a7b8 regex: Search on strings where possible 3e7194a2 regex: Use static regexs where possible
| * | | cmTarget: Remove an unused variableBen Boeckel2014-06-091-1/+0
| | | |
| * | | regex: Search on strings where possibleBen Boeckel2014-06-092-5/+5
| | | |
| * | | regex: Use static regexs where possibleBen Boeckel2014-06-095-19/+14
| |/ / | | | | | | | | | | | | Rather than declaring and compiling a constant regex every time a chunk of code is executed, build the regex once.
* | | CMake Nightly Date StampKitware Robot2014-06-101-1/+1
|/ /
* | Merge topic 'dev/backtrace-performance'Brad King2014-06-0934-224/+234
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 86be733f cmGeneratorExpression: Add workaround for Borland compiler 3495ab0a tests: update unused variable test expected output 2a1b2d84 backtrace: Convert to local paths in IssueMessage a0829205 genex: remove the need for backtraces efc20569 cmake: remove dummy backtraces for IssueMessage d46c650d cmMakefile: return a backtrace
| * | cmGeneratorExpression: Add workaround for Borland compilerBrad King2014-06-061-0/+8
| | |
| * | backtrace: Convert to local paths in IssueMessageBen Boeckel2014-06-0513-22/+66
| | | | | | | | | | | | | | | This is the only place we care show the FilePath to the user, so defer the expensive relative path calculation until here.
| * | genex: remove the need for backtracesBen Boeckel2014-06-0520-125/+117
| | | | | | | | | | | | | | | Rather than making dummy backtraces and passing them around, just make backtraces optional.
| * | cmake: remove dummy backtraces for IssueMessageBen Boeckel2014-06-055-17/+14
| | |
| * | cmMakefile: return a backtraceBen Boeckel2014-06-0510-69/+38
| | | | | | | | | | | | | | | This allows backtraces to be fully controlled by the makefile rather than externally (and makes changing how they are manipulated easier).
* | | Merge topic 'fix-ctest-label-regex'Brad King2014-06-091-2/+2
|\ \ \ | | | | | | | | | | | | | | | | 887532f0 CTest: Fix combined inclusive/exclusive label regular expressions
| * | | CTest: Fix combined inclusive/exclusive label regular expressionsNils Gladitz2014-06-061-2/+2
| | | |
* | | | CMake Nightly Date StampKitware Robot2014-06-091-1/+1
| | | |
* | | | CMake Nightly Date StampKitware Robot2014-06-081-1/+1
| | | |
* | | | CMake Nightly Date StampKitware Robot2014-06-071-1/+1
| |_|/ |/| |
* | | Merge topic 'xcode-15-string-apis'Brad King2014-06-061-13/+5
|\ \ \ | | | | | | | | | | | | | | | | 23dc6aa1 Xcode: Fix single-configuration generation for version 1.5
| * | | Xcode: Fix single-configuration generation for version 1.5Brad King2014-06-051-13/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 84fdc992 (stringapi: Pass configuration names as strings, 2014-02-09) a few code paths for the Xcode 1.5 single-configuration generator were not updated to use an empty configuration name instead of a NULL pointer when no configuration is specified in CMAKE_BUILD_TYPE. Fix them now.
* | | | Merge topic 'compile-OBJECT_FILE_DIR'Brad King2014-06-064-0/+19
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | 8256ccb7 Add OBJECT_FILE_DIR rule placeholder for compilation lines
| * | | Add OBJECT_FILE_DIR rule placeholder for compilation linesBrad King2014-06-054-0/+19
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | Some compilers do not offer an option to specify the path to the object file, but rather only to the directory in which to place the object file. See issue 14876 for some examples. Add a new OBJECT_FILE_DIR placeholder to specify the directory containing the object file for the current compilation. This may differ from the main target OBJECT_DIR when the object corresponds to a source in a subdirectory.
* | | CMake Nightly Date StampKitware Robot2014-06-061-1/+1
| |/ |/|
* | Merge topic 'delay-generator-toolset'Brad King2014-06-059-36/+52
|\ \ | | | | | | | | | | | | | | | | | | 528e8af1 Allow a toolchain file to specify a generator toolset 98afb454 VS: Split user- and generator-provided PlatformToolset 3e9f6e36 Xcode: Rename internal variable {Platform => Generator}Toolset
| * | Allow a toolchain file to specify a generator toolsetBrad King2014-06-047-19/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Delay use of CMAKE_GENERATOR_TOOLSET until the CMakeSystem.cmake file has been configured and loaded during the first project() or enable_language() command. This gives the toolchain file named by CMAKE_TOOLCHAIN_FILE a chance to set CMAKE_GENERATOR_TOOLSET. This point is still early enough to set the generator toolset prior to the initialization of any languages that might use the toolset. The cmake::GeneratorToolset member variable remains an indication of what was specified by the -T option or loaded from the cache. It does not need to be updated based on the toolchain file setting. The cmMakefile::TryCompile can still pass cmake::GeneratorToolset into the inner instance because the try-compiled project will do platform and language initialization using the CMakeSystem module configured for the outer project. Extend the RunCMake.GeneratorToolset test with cases that use a toolchain file to set CMAKE_GENERATOR_TOOLSET.
| * | VS: Split user- and generator-provided PlatformToolsetBrad King2014-06-044-13/+25
| | | | | | | | | | | | | | | | | | | | | Divide the cmGlobalVisualStudio10Generator "PlatformToolset" member into two members representing the generator-selected default toolset and the user-specified CMAKE_GENERATOR_TOOLSET value. Prefer the user-specified value, if any, and then fall back to the generator-selected default.
| * | Xcode: Rename internal variable {Platform => Generator}ToolsetBrad King2014-06-042-6/+6
| | | | | | | | | | | | The latter matches with CMAKE_GENERATOR_TOOLSET better.