diff --git a/src/plugin/CMakeLists.txt b/src/plugin/CMakeLists.txt index 9617b2b..073eb07 100644 --- a/src/plugin/CMakeLists.txt +++ b/src/plugin/CMakeLists.txt @@ -16,7 +16,4 @@ add_library(linuxdeploy_plugin STATIC ) target_link_libraries(linuxdeploy_plugin PUBLIC linuxdeploy_core linuxdeploy_subprocess) -unset(headers) -unset(headers_dir) - install(TARGETS linuxdeploy_plugin) diff --git a/src/plugin/plugin.cpp b/src/plugin/plugin.cpp index 2285279..d774069 100644 --- a/src/plugin/plugin.cpp +++ b/src/plugin/plugin.cpp @@ -48,7 +48,11 @@ namespace linuxdeploy { // also, look for plugins in current working directory // could be useful in a "use linuxdeploy centrally, but download plugins into project directory" scenario +#ifdef _GNU_SOURCE std::shared_ptr cwd(get_current_dir_name(), free); +#else + std::shared_ptr cwd(getcwd(nullptr, 0), free); +#endif paths.emplace_back(cwd.get()); for (const auto& dir : paths) { diff --git a/src/subprocess/process.cpp b/src/subprocess/process.cpp index 72f05bc..01ba67b 100644 --- a/src/subprocess/process.cpp +++ b/src/subprocess/process.cpp @@ -4,7 +4,7 @@ #include #include #include -#include +#include #include // local headers diff --git a/src/subprocess/util.cpp b/src/subprocess/util.cpp index d3619c9..d254f8c 100644 --- a/src/subprocess/util.cpp +++ b/src/subprocess/util.cpp @@ -5,6 +5,13 @@ #include "linuxdeploy/subprocess/util.h" #include "linuxdeploy/util/misc.h" +#ifdef __FreeBSD__ +// On FreeBSD environ has to be declared in the consumer code +extern "C" { + extern char** environ; +} +#endif + namespace linuxdeploy::subprocess { subprocess_env_map_t get_environment() { subprocess_env_map_t result;