diff options
| author | Přemysl Eric Janouch <p@janouch.name> | 2023-06-29 02:24:59 +0200 | 
|---|---|---|
| committer | Přemysl Eric Janouch <p@janouch.name> | 2023-06-29 02:25:23 +0200 | 
| commit | c420e3ce861bff2433c7f3e6da3bb9df18c8e095 (patch) | |
| tree | d76b4be3db76f7305080ffa0b9ba82c9020dff7b | |
| parent | 11567dc05cba0c8c5cd36523063066666a212caf (diff) | |
| download | ponymap-c420e3ce861bff2433c7f3e6da3bb9df18c8e095.tar.gz ponymap-c420e3ce861bff2433c7f3e6da3bb9df18c8e095.tar.xz ponymap-c420e3ce861bff2433c7f3e6da3bb9df18c8e095.zip | |
Fix plugin search path on Nix
Even its non-full GNUInstallDirs paths are absolute,
which is apparently allowed.
| -rw-r--r-- | CMakeLists.txt | 1 | ||||
| -rw-r--r-- | config.h.in | 2 | ||||
| -rw-r--r-- | ponymap.c | 2 | 
3 files changed, 4 insertions, 1 deletions
| diff --git a/CMakeLists.txt b/CMakeLists.txt index 6750eb9..fb004be 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -70,6 +70,7 @@ set (project_headers ${PROJECT_BINARY_DIR}/config.h)  # Generate a configuration file  include (GNUInstallDirs)  set (plugin_dir ${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME}) +set (full_plugin_dir ${CMAKE_INSTALL_FULL_LIBDIR}/${PROJECT_NAME})  configure_file (${PROJECT_SOURCE_DIR}/config.h.in ${PROJECT_BINARY_DIR}/config.h)  include_directories (${PROJECT_SOURCE_DIR} ${PROJECT_BINARY_DIR}) diff --git a/config.h.in b/config.h.in index d35dfe2..124feae 100644 --- a/config.h.in +++ b/config.h.in @@ -5,6 +5,6 @@  #define PROGRAM_VERSION "${PROJECT_VERSION}"  #cmakedefine WITH_LUA -#define PLUGIN_DIR "${CMAKE_INSTALL_PREFIX}/${plugin_dir}" +#define PLUGIN_DIR "${full_plugin_dir}"  #endif  // ! CONFIG_H @@ -840,6 +840,7 @@ load_one_plugin (struct app_context *ctx, const char *name, const char *path)  	void *table = dlopen (path, RTLD_LAZY | RTLD_LOCAL);  	if (!table)  	{ +		print_debug ("%s", path);  		print_error ("could not load `%s': %s", name, dlerror ());  		return false;  	} @@ -874,6 +875,7 @@ load_plugins (struct app_context *ctx)  	DIR *dir = opendir (plugin_dir);  	if (!dir)  	{ +		print_debug ("%s", plugin_dir);  		print_fatal ("%s: %s",  			"cannot open plugin directory", strerror (errno));  		return false; | 
