From 1dc61f814277744581bb36ae40c91893c1bef851 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Sat, 5 Oct 2013 16:31:36 +0200 Subject: Haiku: Remove use of B_COMMON_DIRECTORY The common directory was removed in Haiku. Applications are now installed in the system directory. Applied-by: Rolf Eike Beer --- Source/CPack/cmCPackGenerator.cxx | 11 ++++++----- Source/cmExportCommand.cxx | 14 ++++++++------ Source/cmFindPackageCommand.cxx | 18 +++++++++++------- Source/cmLocalGenerator.cxx | 12 +++++++----- 4 files changed, 32 insertions(+), 23 deletions(-) diff --git a/Source/CPack/cmCPackGenerator.cxx b/Source/CPack/cmCPackGenerator.cxx index 3c685bd..63a7596 100644 --- a/Source/CPack/cmCPackGenerator.cxx +++ b/Source/CPack/cmCPackGenerator.cxx @@ -26,7 +26,8 @@ #include #if defined(__HAIKU__) -#include +#include +#include #endif //---------------------------------------------------------------------- @@ -1263,14 +1264,14 @@ const char* cmCPackGenerator::GetInstallPath() this->InstallPath += "-"; this->InstallPath += this->GetOption("CPACK_PACKAGE_VERSION"); #elif defined(__HAIKU__) - BPath dir; - if (find_directory(B_COMMON_DIRECTORY, &dir) == B_OK) + char dir[B_PATH_NAME_LENGTH]; + if (find_directory(B_SYSTEM_DIRECTORY, -1, false, dir, sizeof(dir)) == B_OK) { - this->InstallPath = dir.Path(); + this->InstallPath = dir; } else { - this->InstallPath = "/boot/common"; + this->InstallPath = "/boot/system"; } #else this->InstallPath = "/usr/local/"; diff --git a/Source/cmExportCommand.cxx b/Source/cmExportCommand.cxx index f059ceb..729f007 100644 --- a/Source/cmExportCommand.cxx +++ b/Source/cmExportCommand.cxx @@ -20,7 +20,8 @@ #include "cmExportBuildFileGenerator.h" #if defined(__HAIKU__) -#include +#include +#include #endif cmExportCommand::cmExportCommand() @@ -316,14 +317,15 @@ void cmExportCommand::StorePackageRegistryDir(std::string const& package, const char* hash) { #if defined(__HAIKU__) - BPath dir; - if (find_directory(B_USER_SETTINGS_DIRECTORY, &dir) != B_OK) + char dir[B_PATH_NAME_LENGTH]; + if (find_directory(B_USER_SETTINGS_DIRECTORY, -1, false, dir, sizeof(dir)) != + B_OK) { return; } - dir.Append("cmake/packages"); - dir.Append(package.c_str()); - std::string fname = dir.Path(); + std::string fname = dir; + fname += "/cmake/packages/"; + fname += package; #else const char* home = cmSystemTools::GetEnv("HOME"); if(!home) diff --git a/Source/cmFindPackageCommand.cxx b/Source/cmFindPackageCommand.cxx index aa3a73d..1d6530f 100644 --- a/Source/cmFindPackageCommand.cxx +++ b/Source/cmFindPackageCommand.cxx @@ -19,7 +19,9 @@ #endif #if defined(__HAIKU__) -#include +#include +#include +#include #endif void cmFindPackageNeedBackwardsCompatibility(const std::string& variable, @@ -1584,12 +1586,14 @@ void cmFindPackageCommand::AddPrefixesUserRegistry() #if defined(_WIN32) && !defined(__CYGWIN__) this->LoadPackageRegistryWinUser(); #elif defined(__HAIKU__) - BPath dir; - if (find_directory(B_USER_SETTINGS_DIRECTORY, &dir) == B_OK) - { - dir.Append("cmake/packages"); - dir.Append(this->Name.c_str()); - this->LoadPackageRegistryDir(dir.Path()); + char dir[B_PATH_NAME_LENGTH]; + if (find_directory(B_USER_SETTINGS_DIRECTORY, -1, false, dir, sizeof(dir)) == + B_OK) + { + std::string fname = dir; + fname += "/cmake/packages/"; + fname += Name; + this->LoadPackageRegistryDir(fname); } #else if(const char* home = cmSystemTools::GetEnv("HOME")) diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx index afc04b9..d7f36c2 100644 --- a/Source/cmLocalGenerator.cxx +++ b/Source/cmLocalGenerator.cxx @@ -37,7 +37,8 @@ #include #if defined(__HAIKU__) -#include +#include +#include #endif cmLocalGenerator::cmLocalGenerator() @@ -349,16 +350,17 @@ void cmLocalGenerator::GenerateInstallRules() prefix = prefix_win32.c_str(); } #elif defined(__HAIKU__) + char dir[B_PATH_NAME_LENGTH]; if (!prefix) { - BPath dir; - if (find_directory(B_COMMON_DIRECTORY, &dir) == B_OK) + if (find_directory(B_SYSTEM_DIRECTORY, -1, false, dir, sizeof(dir)) + == B_OK) { - prefix = dir.Path(); + prefix = dir; } else { - prefix = "/boot/common"; + prefix = "/boot/system"; } } #else -- cgit v0.12