diff options
author | Bill Hoffman <bill.hoffman@kitware.com> | 2002-12-22 20:19:48 (GMT) |
---|---|---|
committer | Bill Hoffman <bill.hoffman@kitware.com> | 2002-12-22 20:19:48 (GMT) |
commit | e74377dcd809d078f7d7a24dd2dedc7ed6ef986e (patch) | |
tree | 8121236e27268d199c2f7e5bb6c2ee1a47eef949 | |
parent | d14ceb8a381b470b51eb5a1033dd8296156cd01f (diff) | |
download | CMake-e74377dcd809d078f7d7a24dd2dedc7ed6ef986e.zip CMake-e74377dcd809d078f7d7a24dd2dedc7ed6ef986e.tar.gz CMake-e74377dcd809d078f7d7a24dd2dedc7ed6ef986e.tar.bz2 |
ENH: fixes for borland with spaces in the path
-rw-r--r-- | Modules/Platform/Windows-bcc32.cmake | 4 | ||||
-rw-r--r-- | Source/cmLocalUnixMakefileGenerator.cxx | 12 |
2 files changed, 14 insertions, 2 deletions
diff --git a/Modules/Platform/Windows-bcc32.cmake b/Modules/Platform/Windows-bcc32.cmake index da90d82..c85ca09 100644 --- a/Modules/Platform/Windows-bcc32.cmake +++ b/Modules/Platform/Windows-bcc32.cmake @@ -26,7 +26,7 @@ SET(CMAKE_END_TEMP_FILE "\n|") # create a shared C++ library SET(CMAKE_CXX_CREATE_SHARED_LIBRARY "<CMAKE_CXX_COMPILER> ${CMAKE_START_TEMP_FILE}-e<TARGET> -tWD <LINK_FLAGS> -tWR <LINK_LIBRARIES> <OBJECTS>${CMAKE_END_TEMP_FILE}" - "implib ${CMAKE_START_TEMP_FILE}-w <TARGET_BASE>.lib <TARGET_BASE>.dll${CMAKE_END_TEMP_FILE}" + "implib -w <TARGET_BASE>.lib <TARGET_BASE>.dll" ) SET(CMAKE_CXX_CREATE_SHARED_MODULE ${CMAKE_CXX_CREATE_SHARED_LIBRARY}) @@ -34,7 +34,7 @@ SET(CMAKE_CXX_CREATE_SHARED_MODULE ${CMAKE_CXX_CREATE_SHARED_LIBRARY}) # create a C shared library SET(CMAKE_C_CREATE_SHARED_LIBRARY "<CMAKE_C_COMPILER> ${CMAKE_START_TEMP_FILE}-e<TARGET> -tWD <LINK_FLAGS> -tWR <LINK_LIBRARIES> <OBJECTS>${CMAKE_END_TEMP_FILE}" - "implib ${CMAKE_START_TEMP_FILE}-w <TARGET_BASE>.lib <TARGET_BASE>.dll${CMAKE_END_TEMP_FILE}" + "implib -w <TARGET_BASE>.lib <TARGET_BASE>.dll" ) # create a C shared module just copy the shared library rule diff --git a/Source/cmLocalUnixMakefileGenerator.cxx b/Source/cmLocalUnixMakefileGenerator.cxx index 9e57a15..8a1d453 100644 --- a/Source/cmLocalUnixMakefileGenerator.cxx +++ b/Source/cmLocalUnixMakefileGenerator.cxx @@ -768,6 +768,18 @@ cmLocalUnixMakefileGenerator::ExpandRuleVariables(std::string& s, } if(targetBase) { + // special case for quoted paths with spaces + // if you see <TARGET_BASE>.lib then put the .lib inside + // the quotes, same for .dll + if((strlen(targetBase) > 1) && targetBase[0] == '\"') + { + std::string base = targetBase; + base[base.size()-1] = '.'; + std::string baseLib = base + "lib\""; + std::string baseDll = base + "dll\""; + cmSystemTools::ReplaceString(s, "<TARGET_BASE>.lib", baseLib.c_str()); + cmSystemTools::ReplaceString(s, "<TARGET_BASE>.dll", baseDll.c_str()); + } cmSystemTools::ReplaceString(s, "<TARGET_BASE>", targetBase); } if(linkLibs) |