From b2b263f21243ae24e600f7aa60aca2c67c61b02a Mon Sep 17 00:00:00 2001 From: Willi Goesgens Date: Fri, 27 Feb 2015 14:15:01 +0100 Subject: [PATCH] fix calculation of etc directory for windows install. --- CMakeLists.txt | 10 ++++++++-- lib/ApplicationServer/ApplicationServer.cpp | 9 ++++++++- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 28f551a33d..34f531a417 100755 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -305,8 +305,14 @@ else() set(ETCDIR_INSTALL "${ETCDIR}/arangodb") endif () - file(TO_NATIVE_PATH "${ETCDIR_NATIVE}" ETCDIR_NATIVE) - STRING(REGEX REPLACE "\\\\" "\\\\\\\\" ETCDIR_ESCAPED "${ETCDIR_NATIVE}") + + if (MSVC) + file(TO_NATIVE_PATH "${ETCDIR_INSTALL}" ETCDIR_INSTALL) + STRING(REGEX REPLACE "\\\\" "\\\\\\\\" ETCDIR_ESCAPED "${ETCDIR_INSTALL}") + else () + file(TO_NATIVE_PATH "${ETCDIR_NATIVE}" ETCDIR_NATIVE) + STRING(REGEX REPLACE "\\\\" "\\\\\\\\" ETCDIR_ESCAPED "${ETCDIR_NATIVE}") + endif() add_definitions("-D_SYSCONFDIR_=\"${ETCDIR_ESCAPED}\"") diff --git a/lib/ApplicationServer/ApplicationServer.cpp b/lib/ApplicationServer/ApplicationServer.cpp index e8067391dd..588ea99baf 100644 --- a/lib/ApplicationServer/ApplicationServer.cpp +++ b/lib/ApplicationServer/ApplicationServer.cpp @@ -959,7 +959,14 @@ bool ApplicationServer::readConfigurationFile () { char* d = TRI_LocateConfigDirectory(); if (d != 0) { - string sysDir = string(d) + _systemConfigFile; + string sysDir = string(d); + + if ((sysDir.length() > 0) && + (sysDir[sysDir.length() - 1] != TRI_DIR_SEPARATOR_CHAR)) { + sysDir += TRI_DIR_SEPARATOR_CHAR; + } + sysDir += _systemConfigFile; + string localSysDir = sysDir + ".local"; TRI_FreeString(TRI_CORE_MEM_ZONE, d);