浏览代码

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 <[email protected]>
Adrien Destugues 12 年之前
父节点
当前提交
1dc61f8142
共有 4 个文件被更改,包括 32 次插入23 次删除
  1. 6 5
      Source/CPack/cmCPackGenerator.cxx
  2. 8 6
      Source/cmExportCommand.cxx
  3. 11 7
      Source/cmFindPackageCommand.cxx
  4. 7 5
      Source/cmLocalGenerator.cxx

+ 6 - 5
Source/CPack/cmCPackGenerator.cxx

@@ -26,7 +26,8 @@
 #include <algorithm>
 #include <algorithm>
 
 
 #if defined(__HAIKU__)
 #if defined(__HAIKU__)
-#include <StorageKit.h>
+#include <FindDirectory.h>
+#include <StorageDefs.h>
 #endif
 #endif
 
 
 //----------------------------------------------------------------------
 //----------------------------------------------------------------------
@@ -1263,14 +1264,14 @@ const char* cmCPackGenerator::GetInstallPath()
   this->InstallPath += "-";
   this->InstallPath += "-";
   this->InstallPath += this->GetOption("CPACK_PACKAGE_VERSION");
   this->InstallPath += this->GetOption("CPACK_PACKAGE_VERSION");
 #elif defined(__HAIKU__)
 #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
   else
     {
     {
-    this->InstallPath = "/boot/common";
+    this->InstallPath = "/boot/system";
     }
     }
 #else
 #else
   this->InstallPath = "/usr/local/";
   this->InstallPath = "/usr/local/";

+ 8 - 6
Source/cmExportCommand.cxx

@@ -20,7 +20,8 @@
 #include "cmExportBuildFileGenerator.h"
 #include "cmExportBuildFileGenerator.h"
 
 
 #if defined(__HAIKU__)
 #if defined(__HAIKU__)
-#include <StorageKit.h>
+#include <FindDirectory.h>
+#include <StorageDefs.h>
 #endif
 #endif
 
 
 cmExportCommand::cmExportCommand()
 cmExportCommand::cmExportCommand()
@@ -316,14 +317,15 @@ void cmExportCommand::StorePackageRegistryDir(std::string const& package,
                                               const char* hash)
                                               const char* hash)
 {
 {
 #if defined(__HAIKU__)
 #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;
     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
 #else
   const char* home = cmSystemTools::GetEnv("HOME");
   const char* home = cmSystemTools::GetEnv("HOME");
   if(!home)
   if(!home)

+ 11 - 7
Source/cmFindPackageCommand.cxx

@@ -19,7 +19,9 @@
 #endif
 #endif
 
 
 #if defined(__HAIKU__)
 #if defined(__HAIKU__)
-#include <StorageKit.h>
+#include <string.h>
+#include <FindDirectory.h>
+#include <StorageDefs.h>
 #endif
 #endif
 
 
 void cmFindPackageNeedBackwardsCompatibility(const std::string& variable,
 void cmFindPackageNeedBackwardsCompatibility(const std::string& variable,
@@ -1584,12 +1586,14 @@ void cmFindPackageCommand::AddPrefixesUserRegistry()
 #if defined(_WIN32) && !defined(__CYGWIN__)
 #if defined(_WIN32) && !defined(__CYGWIN__)
   this->LoadPackageRegistryWinUser();
   this->LoadPackageRegistryWinUser();
 #elif defined(__HAIKU__)
 #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
 #else
   if(const char* home = cmSystemTools::GetEnv("HOME"))
   if(const char* home = cmSystemTools::GetEnv("HOME"))

+ 7 - 5
Source/cmLocalGenerator.cxx

@@ -37,7 +37,8 @@
 #include <assert.h>
 #include <assert.h>
 
 
 #if defined(__HAIKU__)
 #if defined(__HAIKU__)
-#include <StorageKit.h>
+#include <FindDirectory.h>
+#include <StorageDefs.h>
 #endif
 #endif
 
 
 cmLocalGenerator::cmLocalGenerator()
 cmLocalGenerator::cmLocalGenerator()
@@ -349,16 +350,17 @@ void cmLocalGenerator::GenerateInstallRules()
     prefix = prefix_win32.c_str();
     prefix = prefix_win32.c_str();
     }
     }
 #elif defined(__HAIKU__)
 #elif defined(__HAIKU__)
+  char dir[B_PATH_NAME_LENGTH];
   if (!prefix)
   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
     else
       {
       {
-      prefix = "/boot/common";
+      prefix = "/boot/system";
       }
       }
     }
     }
 #else
 #else