Merge pull request #453 from bakineggs/master
Add protoc path detection for Mac OS
This commit is contained in:
commit
96f1d4ada2
1 changed files with 14 additions and 0 deletions
|
@ -53,6 +53,10 @@
|
|||
#include <google/protobuf/stubs/shared_ptr.h>
|
||||
#endif
|
||||
|
||||
#ifdef __APPLE__
|
||||
#include <mach-o/dyld.h>
|
||||
#endif
|
||||
|
||||
#include <google/protobuf/stubs/common.h>
|
||||
#include <google/protobuf/stubs/stringprintf.h>
|
||||
#include <google/protobuf/compiler/importer.h>
|
||||
|
@ -186,6 +190,16 @@ bool GetProtocAbsolutePath(string* path) {
|
|||
#ifdef _WIN32
|
||||
char buffer[MAX_PATH];
|
||||
int len = GetModuleFileName(NULL, buffer, MAX_PATH);
|
||||
#elif __APPLE__
|
||||
char buffer[PATH_MAX];
|
||||
int len = 0;
|
||||
|
||||
char dirtybuffer[PATH_MAX];
|
||||
uint32_t size = sizeof(dirtybuffer);
|
||||
if (_NSGetExecutablePath(dirtybuffer, &size) == 0) {
|
||||
realpath(dirtybuffer, buffer);
|
||||
len = strlen(buffer);
|
||||
}
|
||||
#else
|
||||
char buffer[PATH_MAX];
|
||||
int len = readlink("/proc/self/exe", buffer, PATH_MAX);
|
||||
|
|
Loading…
Add table
Reference in a new issue