diff options
author | Brad King <brad.king@kitware.com> | 2008-10-15 14:21:14 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2008-10-15 14:21:14 (GMT) |
commit | 07454a39f1fc57b147d1311b952702f3ff2b595b (patch) | |
tree | 011334564c55097ba6d50f21e01c7316eac704aa /Source/cmMakefileLibraryTargetGenerator.cxx | |
parent | cd1528279c8c3662af0d1641e0d95e05821b6d10 (diff) | |
download | CMake-07454a39f1fc57b147d1311b952702f3ff2b595b.zip CMake-07454a39f1fc57b147d1311b952702f3ff2b595b.tar.gz CMake-07454a39f1fc57b147d1311b952702f3ff2b595b.tar.bz2 |
ENH: Factor out listing of objects on command line
Previously generation of object file lists for linker and cleaning
command lines was duplicated for library and executable target
generators. This combines the implementations.
Diffstat (limited to 'Source/cmMakefileLibraryTargetGenerator.cxx')
-rw-r--r-- | Source/cmMakefileLibraryTargetGenerator.cxx | 32 |
1 files changed, 3 insertions, 29 deletions
diff --git a/Source/cmMakefileLibraryTargetGenerator.cxx b/Source/cmMakefileLibraryTargetGenerator.cxx index 9cde469..a67b44a 100644 --- a/Source/cmMakefileLibraryTargetGenerator.cxx +++ b/Source/cmMakefileLibraryTargetGenerator.cxx @@ -687,36 +687,10 @@ void cmMakefileLibraryTargetGenerator::WriteLibraryRules // Construct object file lists that may be needed to expand the // rule. - std::string variableName; - std::string variableNameExternal; - this->WriteObjectsVariable(variableName, variableNameExternal); std::string buildObjs; - if(useResponseFile) - { - std::string objects; - this->WriteObjectsString(objects); - std::string objects_rsp = - this->CreateResponseFile("objects.rsp", objects, depends); - buildObjs = "@"; - buildObjs += this->Convert(objects_rsp.c_str(), - cmLocalGenerator::NONE, - cmLocalGenerator::SHELL); - } - else if(useLinkScript) - { - if(!useArchiveRules) - { - this->WriteObjectsString(buildObjs); - } - } - else - { - buildObjs = "$("; - buildObjs += variableName; - buildObjs += ") $("; - buildObjs += variableNameExternal; - buildObjs += ")"; - } + this->CreateObjectLists(useLinkScript, useArchiveRules, useResponseFile, + buildObjs, depends); + cmLocalGenerator::RuleVariables vars; vars.TargetPDB = targetOutPathPDB.c_str(); |