Use base dir instead of working dir for data files
parent
97a8cfe6f9
commit
5cefa57dd5
|
@ -394,24 +394,32 @@ if(PORTABLE OR (PLATFORM_WINDOWS AND MXE))
|
|||
# We need to use STRING because PATH doesn't accept relative paths
|
||||
set(COLOBOT_INSTALL_BIN_DIR ./ CACHE STRING "Colobot binary directory")
|
||||
set(COLOBOT_INSTALL_LIB_DIR ./ CACHE STRING "Colobot libraries directory")
|
||||
set(COLOBOT_RELATIVE_DATA_DIR data CACHE STRING "Colobot shared data directory (relative)")
|
||||
set(COLOBOT_RELATIVE_I18N_DIR lang CACHE STRING "Colobot translations directory (relative)")
|
||||
set(COLOBOT_INSTALL_DATA_DIR ./data CACHE STRING "Colobot shared data directory")
|
||||
set(COLOBOT_INSTALL_I18N_DIR ./lang CACHE STRING "Colobot translations directory")
|
||||
set(COLOBOT_INSTALL_DOC_DIR ./doc CACHE STRING "Colobot documentation directory")
|
||||
elseif(PLATFORM_WINDOWS)
|
||||
set(COLOBOT_INSTALL_BIN_DIR ${CMAKE_INSTALL_PREFIX}/ CACHE PATH "Colobot binary directory")
|
||||
set(COLOBOT_INSTALL_LIB_DIR ${CMAKE_INSTALL_PREFIX}/ CACHE PATH "Colobot libraries directory")
|
||||
set(COLOBOT_RELATIVE_DATA_DIR data CACHE STRING "Colobot shared data directory (relative)")
|
||||
set(COLOBOT_RELATIVE_I18N_DIR lang CACHE STRING "Colobot translations directory (relative)")
|
||||
set(COLOBOT_INSTALL_DATA_DIR ${CMAKE_INSTALL_PREFIX}/data CACHE PATH "Colobot shared data directory")
|
||||
set(COLOBOT_INSTALL_I18N_DIR ${CMAKE_INSTALL_PREFIX}/lang CACHE PATH "Colobot translations directory")
|
||||
set(COLOBOT_INSTALL_DOC_DIR ${CMAKE_INSTALL_PREFIX}/doc CACHE PATH "Colobot documentation directory")
|
||||
elseif(PLATFORM_MACOSX)
|
||||
set(COLOBOT_INSTALL_BIN_DIR ../MacOS CACHE STRING "Colobot binary directory")
|
||||
set(COLOBOT_INSTALL_LIB_DIR ../MacOS CACHE STRING "Colobot libraries directory")
|
||||
set(COLOBOT_RELATIVE_DATA_DIR . CACHE STRING "Colobot shared data directory (relative)")
|
||||
set(COLOBOT_RELATIVE_I18N_DIR i18n CACHE STRING "Colobot translations directory (relative)")
|
||||
set(COLOBOT_INSTALL_DATA_DIR . CACHE STRING "Colobot shared data directory")
|
||||
set(COLOBOT_INSTALL_I18N_DIR i18n CACHE SRING "Colobot translations directory")
|
||||
set(COLOBOT_INSTALL_DOC_DIR doc CACHE STRING "Colobot documentation directory")
|
||||
else()
|
||||
set(COLOBOT_INSTALL_BIN_DIR ${CMAKE_INSTALL_PREFIX}/games CACHE PATH "Colobot binary directory")
|
||||
set(COLOBOT_INSTALL_LIB_DIR ${CMAKE_INSTALL_PREFIX}/lib/colobot CACHE PATH "Colobot libraries directory")
|
||||
set(COLOBOT_RELATIVE_DATA_DIR ../share/games/colobot CACHE STRING "Colobot shared data directory (relative)")
|
||||
set(COLOBOT_RELATIVE_I18N_DIR ../share/locale CACHE STRING "Colobot translations directory (relative)")
|
||||
set(COLOBOT_INSTALL_DATA_DIR ${CMAKE_INSTALL_PREFIX}/share/games/colobot CACHE PATH "Colobot shared data directory")
|
||||
set(COLOBOT_INSTALL_I18N_DIR ${CMAKE_INSTALL_PREFIX}/share/locale CACHE PATH "Colobot translations directory")
|
||||
set(COLOBOT_INSTALL_DOC_DIR ${CMAKE_INSTALL_PREFIX}/share/doc/colobot CACHE PATH "Colobot documentation directory")
|
||||
|
|
|
@ -18,5 +18,5 @@
|
|||
|
||||
#cmakedefine PORTABLE_SAVES @PORTABLE_SAVES@
|
||||
|
||||
#define COLOBOT_DEFAULT_DATADIR "@COLOBOT_INSTALL_DATA_DIR@"
|
||||
#define COLOBOT_I18N_DIR "@COLOBOT_INSTALL_I18N_DIR@"
|
||||
#define COLOBOT_DEFAULT_DATADIR "@COLOBOT_RELATIVE_DATA_DIR@"
|
||||
#define COLOBOT_I18N_DIR "@COLOBOT_RELATIVE_I18N_DIR@"
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
#include <iostream>
|
||||
#include <algorithm>
|
||||
|
||||
#include <physfs.h>
|
||||
|
||||
std::unique_ptr<CSystemUtils> CSystemUtils::Create()
|
||||
{
|
||||
|
@ -178,12 +179,12 @@ float CSystemUtils::TimeStampDiff(SystemTimeStamp *before, SystemTimeStamp *afte
|
|||
|
||||
std::string CSystemUtils::GetDataPath()
|
||||
{
|
||||
return COLOBOT_DEFAULT_DATADIR;
|
||||
return std::string{PHYSFS_getBaseDir()} + COLOBOT_DEFAULT_DATADIR;
|
||||
}
|
||||
|
||||
std::string CSystemUtils::GetLangPath()
|
||||
{
|
||||
return COLOBOT_I18N_DIR;
|
||||
return std::string{PHYSFS_getBaseDir()} + COLOBOT_I18N_DIR;
|
||||
}
|
||||
|
||||
std::string CSystemUtils::GetSaveDir()
|
||||
|
|
Loading…
Reference in New Issue