summaryrefslogtreecommitdiffstats
path: root/Source/cmFindPackageCommand.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmFindPackageCommand.cxx')
-rw-r--r--Source/cmFindPackageCommand.cxx12
1 files changed, 12 insertions, 0 deletions
diff --git a/Source/cmFindPackageCommand.cxx b/Source/cmFindPackageCommand.cxx
index ff1d94c..3a791d9 100644
--- a/Source/cmFindPackageCommand.cxx
+++ b/Source/cmFindPackageCommand.cxx
@@ -23,6 +23,10 @@
#include "cmVariableWatch.h"
#endif
+#if defined(__HAIKU__)
+#include <StorageKit.h>
+#endif
+
void cmFindPackageNeedBackwardsCompatibility(const std::string& variable,
int access_type, void*, const char* newValue,
const cmMakefile*)
@@ -1159,6 +1163,14 @@ void cmFindPackageCommand::AddPrefixesRegistry()
#if defined(_WIN32) && !defined(__CYGWIN__)
this->LoadPackageRegistryWin();
+#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());
+ }
#else
if(const char* home = cmSystemTools::GetEnv("HOME"))
{