summaryrefslogtreecommitdiffstats
path: root/Source/cmLocalUnixMakefileGenerator.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2003-02-07 19:04:16 (GMT)
committerBrad King <brad.king@kitware.com>2003-02-07 19:04:16 (GMT)
commitcde384411d1907d93369c144ec7b2f28da2628d5 (patch)
tree2b5aeb18901a5c20d408b3eff32e27e82c252be8 /Source/cmLocalUnixMakefileGenerator.cxx
parentf2b47501694f6951c97335676b2c577cbb4fd76f (diff)
downloadCMake-cde384411d1907d93369c144ec7b2f28da2628d5.zip
CMake-cde384411d1907d93369c144ec7b2f28da2628d5.tar.gz
CMake-cde384411d1907d93369c144ec7b2f28da2628d5.tar.bz2
Several fixes/improvements:
- Fixed CollapseFullPath to work on relative paths with base paths not in the current working directory. - INCLUDE command now supports relative paths (using above fix). - Added ABSOLUTE option to GET_FILENAME_COMPONENT command to unwind symlinks and relative paths. - Fixed libName_EXPORTS macro definition to be valid C identifier. - Added DEFINE_SYMBOL target propterty for customizing the export symbol. - Implemented LINK_FLAGS target propterty for libraries in VC6 and VC7. Several of these fixes were contributed by Gareth Jones.
Diffstat (limited to 'Source/cmLocalUnixMakefileGenerator.cxx')
-rw-r--r--Source/cmLocalUnixMakefileGenerator.cxx13
1 files changed, 12 insertions, 1 deletions
diff --git a/Source/cmLocalUnixMakefileGenerator.cxx b/Source/cmLocalUnixMakefileGenerator.cxx
index 6acd51e..1079ce1 100644
--- a/Source/cmLocalUnixMakefileGenerator.cxx
+++ b/Source/cmLocalUnixMakefileGenerator.cxx
@@ -2477,7 +2477,18 @@ void cmLocalUnixMakefileGenerator::OutputSourceObjectBuildRules(std::ostream& fo
std::string exportsDef = "";
if(shared)
{
- exportsDef = "-D"+target->first+"_EXPORTS ";
+ std::string export_symbol;
+ if (const char* custom_export_name = target->second.GetProperty("DEFINE_SYMBOL"))
+ {
+ export_symbol = custom_export_name;
+ }
+ else
+ {
+ std::string in = target->first + "_EXPORTS";
+ export_symbol = cmSystemTools::MakeCindentifier(in.c_str());
+ }
+
+ exportsDef = "-D"+ export_symbol;
}
// Iterate over every source for this target.
const std::vector<cmSourceFile*>& sources = target->second.GetSourceFiles();