Merge with develop

This commit is contained in:
kervala 2016-02-11 21:01:27 +01:00
commit ea976ec1e8
2 changed files with 13 additions and 9 deletions

View file

@ -2578,13 +2578,13 @@ std::string CPath::makePathAbsolute( const std::string &relativePath, const std:
{ {
absolutePath = relativePath; absolutePath = relativePath;
} }
#else else
// Unix filesystem absolute path #endif
// Unix filesystem absolute path (works also under Windows)
if (relativePath[0] == '/') if (relativePath[0] == '/')
{ {
absolutePath = relativePath; absolutePath = relativePath;
} }
#endif
else else
{ {
// Add a slash to the directory if necessary. // Add a slash to the directory if necessary.
@ -2610,14 +2610,15 @@ std::string CPath::makePathAbsolute( const std::string &relativePath, const std:
// Now build the new absolute path // Now build the new absolute path
absolutePath += relativePath; absolutePath += relativePath;
absolutePath = standardizePath(absolutePath, true);
} }
absolutePath = standardizePath(absolutePath, true);
if (simplify) if (simplify)
{ {
// split all components path to manage parent directories // split all components path to manage parent directories
std::vector<std::string> tokens; std::vector<std::string> tokens;
explode(absolutePath, std::string("/"), tokens, true); explode(absolutePath, std::string("/"), tokens, false);
std::vector<std::string> directoryParts; std::vector<std::string> directoryParts;
@ -2649,7 +2650,10 @@ std::string CPath::makePathAbsolute( const std::string &relativePath, const std:
// rebuild the whole absolute path // rebuild the whole absolute path
for(uint i = 1, len = directoryParts.size(); i < len; ++i) for(uint i = 1, len = directoryParts.size(); i < len; ++i)
absolutePath += "/" + directoryParts[i]; {
if (!directoryParts[i].empty())
absolutePath += "/" + directoryParts[i];
}
// add trailing slash // add trailing slash
absolutePath += "/"; absolutePath += "/";

View file

@ -14,11 +14,11 @@ ADD_DEFINITIONS(-DUNICODE -D_UNICODE -D_7ZIP_PPMD_SUPPPORT)
IF(WITH_PCH) IF(WITH_PCH)
ADD_NATIVE_PRECOMPILED_HEADER(ryzom_sevenzip ${CMAKE_CURRENT_SOURCE_DIR}/Precomp.h ${CMAKE_CURRENT_SOURCE_DIR}/Precomp.cpp) ADD_NATIVE_PRECOMPILED_HEADER(ryzom_sevenzip ${CMAKE_CURRENT_SOURCE_DIR}/Precomp.h ${CMAKE_CURRENT_SOURCE_DIR}/Precomp.cpp)
ENDIF(WITH_PCH) ENDIF()
IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC) IF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC)
INSTALL(TARGETS ryzom_sevenzip LIBRARY DESTINATION ${RYZOM_LIB_PREFIX} ARCHIVE DESTINATION ${RYZOM_LIB_PREFIX} COMPONENT libraries) INSTALL(TARGETS ryzom_sevenzip LIBRARY DESTINATION ${RYZOM_LIB_PREFIX} ARCHIVE DESTINATION ${RYZOM_LIB_PREFIX} COMPONENT libraries)
ENDIF((WITH_INSTALL_LIBRARIES AND WITH_STATIC) OR NOT WITH_STATIC) ENDIF()
IF(WITH_RYZOM_TOOLS) IF(WITH_RYZOM_TOOLS)
ADD_EXECUTABLE(7zDec ${CMAKE_CURRENT_SOURCE_DIR}/7zMain.cpp) ADD_EXECUTABLE(7zDec ${CMAKE_CURRENT_SOURCE_DIR}/7zMain.cpp)
@ -28,4 +28,4 @@ IF(WITH_RYZOM_TOOLS)
NL_ADD_RUNTIME_FLAGS(7zDec) NL_ADD_RUNTIME_FLAGS(7zDec)
INSTALL(TARGETS 7zDec RUNTIME DESTINATION ${RYZOM_BIN_PREFIX} COMPONENT tools) INSTALL(TARGETS 7zDec RUNTIME DESTINATION ${RYZOM_BIN_PREFIX} COMPONENT tools)
ENDIF(WITH_RYZOM_TOOLS) ENDIF()