Fix macOS build issue with recent commit

Add objc_args in meson when compiling to pass C defines also to
bundle_open.m.

Default "bundle" option to false to have by default a unix-like
build and install.

In the run-local script always expect that "bundle" option is to
false to have a unix-like install.

In the build-package script pass the -Dbundle=true option when
building on macos.

When setting the resouce path revert to original method using

[[NSBundle mainBundle] resourcePath]

to have the real resource path when the bundle option will be
activated. With the recent commit the function
set_macos_bundle_resources will be called only if the "bundle"
option is activate and is not used in unix-like mode.
This commit is contained in:
Francesco Abbate
2021-08-19 14:33:39 -07:00
parent 717f4eb782
commit c9669410ad
5 changed files with 10 additions and 25 deletions
+2 -19
View File
@@ -5,25 +5,8 @@
void set_macos_bundle_resources(lua_State *L)
{ @autoreleasepool
{
/* Use resolved executablePath instead of resourcePath to allow lanching
the lite-xl binary via a symlink, like typically done by Homebrew:
/usr/local/bin/lite-xl -> /Applications/lite-xl.app/Contents/MacOS/lite-xl
The resourcePath returns /usr/local in this case instead of
/Applications/lite-xl.app/Contents/Resources, which makes later
access to the resource files fail. Resolving the symlink to the
executable and then the relative path to the expected directory
Resources is a workaround for starting the application from both
the launcher directly and the command line via the symlink.
*/
NSString* executable_path = [[NSBundle mainBundle] executablePath];
char resolved_path[PATH_MAX + 16 + 1];
realpath([executable_path UTF8String], resolved_path);
strcat(resolved_path, "/../../Resources");
char resource_path[PATH_MAX + 1];
realpath(resolved_path, resource_path);
lua_pushstring(L, resource_path);
NSString* resource_path = [[NSBundle mainBundle] resourcePath];
lua_pushstring(L, [resource_path UTF8String]);
lua_setglobal(L, "MACOS_RESOURCES");
}}
#endif
+1
View File
@@ -28,6 +28,7 @@ executable('lite-xl',
include_directories: [lite_include, font_renderer_include],
dependencies: lite_deps,
c_args: lite_cargs,
objc_args: lite_cargs,
link_with: libfontrenderer,
link_args: lite_link_args,
install_dir: lite_bindir,