mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-18 06:06:01 -06:00
ide: Fixed libclang detection issue in fedora
This commit is contained in:
parent
873a620f55
commit
371e90cd82
3 changed files with 12 additions and 7 deletions
|
|
@ -30,7 +30,7 @@ void PutAssist(const char *s);
|
|||
|
||||
#include "libclang.h"
|
||||
|
||||
bool LoadLibClang(const char *dir);
|
||||
bool LoadLibClang(const String& dir);
|
||||
bool LoadLibClangAutomatically();
|
||||
|
||||
inline bool HasLibClang()
|
||||
|
|
|
|||
|
|
@ -10,9 +10,8 @@
|
|||
bool hasLibClang = false;
|
||||
String LibClangPath;
|
||||
|
||||
bool LoadLibClang0(const char *dir, const char *file)
|
||||
bool LoadLibClang0(const char *path)
|
||||
{
|
||||
String path = AppendFileName(dir, file);
|
||||
hasLibClang = LibClang(path);
|
||||
if(hasLibClang) {
|
||||
LibClangPath = path;
|
||||
|
|
@ -21,16 +20,20 @@ bool LoadLibClang0(const char *dir, const char *file)
|
|||
return hasLibClang;
|
||||
}
|
||||
|
||||
bool LoadLibClang(const char *dir)
|
||||
bool LoadLibClang(const String& dir)
|
||||
{
|
||||
#ifdef PLATFORM_MACOS // it does not seem to work for some reason, block it for now
|
||||
if(LoadLibClang0(dir, "libclang.dylib"))
|
||||
return true;
|
||||
#endif
|
||||
if(LoadLibClang0(dir, "libclang.so"))
|
||||
if(LoadLibClang0(dir + "/libclang.so"))
|
||||
return true;
|
||||
for(int i = 0; i < 20; i++)
|
||||
if(LoadLibClang0(dir, "libclang.so." + AsString(i)))
|
||||
Vector<String> ps;
|
||||
for(FindFile ff(dir + "/libclang.so*"); ff; ff.Next())
|
||||
ps << ff.GetPath();
|
||||
Sort(ps, StdGreater<String>());
|
||||
for(String p : ps)
|
||||
if(LoadLibClang0(p))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -149,6 +149,8 @@ bool TryLoadLibClang()
|
|||
}
|
||||
if(LoadLibClang(libdir))
|
||||
return true;
|
||||
if(LoadLibClang("/usr/lib64"))
|
||||
return true;
|
||||
if(LoadLibClang("/usr/lib"))
|
||||
return true;
|
||||
for(int i = 200; i >= 10; i--)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue