Fix compilation and runtime for M1 Mac

pull/85/head
jreese42 1 year ago
parent 283bf28518
commit 9bd6d90fb3

@ -31,10 +31,13 @@ set(ONNXRUNTIME_ROOTDIR ${CMAKE_CURRENT_LIST_DIR}/../../lib/${CMAKE_HOST_SYSTEM_
target_link_libraries(piper
onnxruntime
pthread
-static-libgcc -static-libstdc++
${ESPEAK_NG_LIBRARIES}
${PCAUDIO_LIBRARIES})
if(NOT APPLE)
target_link_libraries(-static-libgcc -static-libstdc++)
endif()
target_link_directories(piper PUBLIC
${ESPEAK_NG_LIBRARY_DIRS}
${ONNXRUNTIME_ROOTDIR}/lib)

@ -21,6 +21,10 @@
#include <windows.h>
#endif
#ifdef __APPLE__
#include <mach-o/dyld.h>
#endif
#include "piper.hpp"
using namespace std;
@ -66,8 +70,17 @@ int main(int argc, char *argv[]) {
GetModuleFileNameW(nullptr, moduleFileName, std::size(moduleFileName));
return filesystem::path(moduleFileName);
}();
#else
#ifdef __APPLE__
auto exePath = []() {
char moduleFileName[PATH_MAX] = { 0 };
uint32_t moduleFileNameSize = std::size(moduleFileName);
_NSGetExecutablePath(moduleFileName, &moduleFileNameSize);
return filesystem::path(moduleFileName);
}();
#else
auto exePath = filesystem::canonical("/proc/self/exe");
#endif
#endif
piper::initialize(exePath.parent_path());

Loading…
Cancel
Save