Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 2687


Ignore:
Timestamp:
Feb 21, 2009, 12:20:23 AM (16 years ago)
Author:
rgrieder
Message:

Installation paths should be relative when using in C++ code if they're actually relative.
This ensures copy & paste installations under windows. For Unix it is only useful when installation to an arbitrary folder instead of /usr
(also resolves a problem the with tcl lib path; Apparently Tcl cannot cope with spaces in the path (and neither "\") so C:/Program Files/ was not working at all)

  • boost::filesystem::path::native_file_string is depricated, using file_string now.
Location:
code/branches/buildsystem3
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • code/branches/buildsystem3/cmake/BuildConfig.cmake

    r2686 r2687  
    126126  SET(ORXONOX_LOG_INSTALL_PATH     ${USER_DIR}/.orxonox/log)
    127127  SET(ORXONOX_CONFIG_INSTALL_PATH  ${USER_DIR}/.orxonox/config)
     128
     129  # Execution paths, either relative to the binary dir or absolute
     130  # For Windows copy&paste installs relative paths are much better
     131  SET(ORXONOX_MEDIA_INSTALL_PATH_EXEC ../../share/orxonox)
     132  SET(ORXONOX_CONFIG_INSTALL_PATH_EXEC ${ORXONOX_CONFIG_INSTALL_PATH})
     133  SET(ORXONOX_LOG_INSTALL_PATH_EXEC    ${ORXONOX_LOG_INSTALL_PATH})
    128134ELSEIF(WIN32)
    129135  SET(ORXONOX_RUNTIME_INSTALL_PATH ${CMAKE_INSTALL_PREFIX}/bin)
     
    134140  SET(ORXONOX_LOG_INSTALL_PATH     ${CMAKE_INSTALL_PREFIX}/log)
    135141  SET(ORXONOX_CONFIG_INSTALL_PATH  ${CMAKE_INSTALL_PREFIX}/config)
     142
     143  # Execution paths, either relative to the binary dir or absolute
     144  # For Windows copy&paste installs relative paths are much better
     145  SET(ORXONOX_MEDIA_INSTALL_PATH_EXEC ../media)
     146  SET(ORXONOX_CONFIG_INSTALL_PATH_EXEC ../config)
     147  SET(ORXONOX_LOG_INSTALL_PATH_EXEC ../log)
    136148ENDIF()
    137149
  • code/branches/buildsystem3/src/OrxonoxConfig.h.in

    r2685 r2687  
    198198namespace orxonox
    199199{
    200     const char* const ORXONOX_MEDIA_INSTALL_PATH ("@ORXONOX_MEDIA_INSTALL_PATH@/");
    201     const char* const ORXONOX_CONFIG_INSTALL_PATH("@ORXONOX_CONFIG_INSTALL_PATH@/");
    202     const char* const ORXONOX_LOG_INSTALL_PATH   ("@ORXONOX_LOG_INSTALL_PATH@/");
     200    const char* const ORXONOX_MEDIA_INSTALL_PATH ("@ORXONOX_MEDIA_INSTALL_PATH_EXEC@/");
     201    const char* const ORXONOX_CONFIG_INSTALL_PATH("@ORXONOX_CONFIG_INSTALL_PATH_EXEC@/");
     202    const char* const ORXONOX_LOG_INSTALL_PATH   ("@ORXONOX_LOG_INSTALL_PATH_EXEC@/");
    203203
    204204    const char* const ORXONOX_MEDIA_DEV_PATH     ("@ORXONOX_MEDIA_DEV_PATH@/");
  • code/branches/buildsystem3/src/core/CommandLine.cc

    r2685 r2687  
    308308        // They will not overwrite the arguments given directly
    309309        std::ifstream file;
    310         file.open(filepath.native_file_string().c_str());
     310        file.open(filepath.file_string().c_str());
    311311        args.clear();
    312312        if (file)
  • code/branches/buildsystem3/src/core/ConfigFileManager.cc

    r2685 r2687  
    230230        // This creates the config file if it's not existing
    231231        std::ofstream createFile;
    232         createFile.open(filepath.native_file_string().c_str(), std::fstream::app);
     232        createFile.open(filepath.file_string().c_str(), std::fstream::app);
    233233        createFile.close();
    234234
    235235        // Open the file
    236236        std::ifstream file;
    237         file.open(filepath.native_file_string().c_str(), std::fstream::in);
     237        file.open(filepath.file_string().c_str(), std::fstream::in);
    238238
    239239        if (!file.is_open())
     
    345345
    346346        std::ofstream file;
    347         file.open(filepath.native_file_string().c_str(), std::fstream::out);
     347        file.open(filepath.file_string().c_str(), std::fstream::out);
    348348        file.setf(std::ios::fixed, std::ios::floatfield);
    349349        file.precision(6);
  • code/branches/buildsystem3/src/core/Language.cc

    r2685 r2687  
    211211        // This creates the file if it's not existing
    212212        std::ofstream createFile;
    213         createFile.open(filepath.native_file_string().c_str(), std::fstream::app);
     213        createFile.open(filepath.file_string().c_str(), std::fstream::app);
    214214        createFile.close();
    215215
    216216        // Open the file
    217217        std::ifstream file;
    218         file.open(filepath.native_file_string().c_str(), std::fstream::in);
     218        file.open(filepath.file_string().c_str(), std::fstream::in);
    219219
    220220        if (!file.is_open())
     
    263263        // Open the file
    264264        std::ifstream file;
    265         file.open(filepath.native_file_string().c_str(), std::fstream::in);
     265        file.open(filepath.file_string().c_str(), std::fstream::in);
    266266
    267267        if (!file.is_open())
     
    320320        // Open the file
    321321        std::ofstream file;
    322         file.open(filepath.native_file_string().c_str(), std::fstream::out);
     322        file.open(filepath.file_string().c_str(), std::fstream::out);
    323323
    324324        if (!file.is_open())
  • code/branches/buildsystem3/src/core/LuaBind.cc

    r2685 r2687  
    9090    output_ = "";
    9191    std::ifstream file;
    92     file.open(filepath.native_file_string().c_str(), std::fstream::in);
     92    file.open(filepath.file_string().c_str(), std::fstream::in);
    9393
    9494    if (!file.is_open())
  • code/branches/buildsystem3/src/core/input/KeyBinder.cc

    r2685 r2687  
    260260        // get bindings from default file if filename doesn't exist.
    261261        std::ifstream infile;
    262         infile.open(filepath.native_file_string().c_str());
     262        infile.open(filepath.file_string().c_str());
    263263        if (!infile)
    264264        {
  • code/branches/buildsystem3/src/orxonox/gamestates/GSGraphics.cc

    r2685 r2687  
    305305        // create our own log that we can listen to
    306306        Ogre::Log *myLog;
    307         myLog = ogreLogger_->createLog(ogreLogFilepath.native_file_string(), true, false, false);
     307        myLog = ogreLogger_->createLog(ogreLogFilepath.file_string(), true, false, false);
    308308        COUT(4) << "Ogre Log created" << std::endl;
    309309
     
    315315        // check for config file existence because Ogre displays (caught) exceptions if not
    316316        std::ifstream probe;
    317         probe.open(ogreConfigFilepath.native_file_string().c_str());
     317        probe.open(ogreConfigFilepath.file_string().c_str());
    318318        if (!probe)
    319319        {
    320320            // create a zero sized file
    321321            std::ofstream creator;
    322             creator.open(ogreConfigFilepath.native_file_string().c_str());
     322            creator.open(ogreConfigFilepath.file_string().c_str());
    323323            creator.close();
    324324        }
     
    327327
    328328        // Leave plugins file empty. We're going to do that part manually later
    329         ogreRoot_ = new Ogre::Root("", ogreConfigFilepath.native_file_string(), ogreLogFilepath.native_file_string());
     329        ogreRoot_ = new Ogre::Root("", ogreConfigFilepath.file_string(), ogreLogFilepath.file_string());
    330330
    331331        COUT(3) << "Ogre set up done." << std::endl;
     
    342342        SubString plugins(ogrePlugins_, ",", " ", false, 92, false, 34, false, 40, 41, false, '\0');
    343343        for (unsigned int i = 0; i < plugins.size(); ++i)
    344             ogreRoot_->loadPlugin((folder / plugins[i]).native_file_string());
     344            ogreRoot_->loadPlugin((folder / plugins[i]).file_string());
    345345    }
    346346
  • code/branches/buildsystem3/src/orxonox/gui/GUIManager.cc

    r2685 r2687  
    153153                boost::filesystem::path ceguiLogFilepath(Core::getLogPath() + "cegui.log");
    154154                this->ceguiLogger_ = new DefaultLogger();
    155                 this->ceguiLogger_->setLogFilename(ceguiLogFilepath.native_file_string());
     155                this->ceguiLogger_->setLogFilename(ceguiLogFilepath.file_string());
    156156                // set the log level according to ours (translate by subtracting 1)
    157157                this->ceguiLogger_->setLoggingLevel(
Note: See TracChangeset for help on using the changeset viewer.