diff options
author | Brad King <brad.king@kitware.com> | 2003-02-07 19:04:16 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2003-02-07 19:04:16 (GMT) |
commit | cde384411d1907d93369c144ec7b2f28da2628d5 (patch) | |
tree | 2b5aeb18901a5c20d408b3eff32e27e82c252be8 /Source/cmLocalUnixMakefileGenerator.cxx | |
parent | f2b47501694f6951c97335676b2c577cbb4fd76f (diff) | |
download | CMake-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.cxx | 13 |
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(); |