diff options
Diffstat (limited to 'host/lib')
| -rw-r--r-- | host/lib/constants.hpp.in | 7 | ||||
| -rw-r--r-- | host/lib/utils/paths.cpp | 12 | 
2 files changed, 10 insertions, 9 deletions
| diff --git a/host/lib/constants.hpp.in b/host/lib/constants.hpp.in index 295c8f16c..aa51e558c 100644 --- a/host/lib/constants.hpp.in +++ b/host/lib/constants.hpp.in @@ -21,8 +21,9 @@  #include <uhd/config.hpp>  #include <string> -static const std::string UHD_VERSION_STRING = "@CPACK_PACKAGE_VERSION@"; -static const std::string UHD_INSTALL_PREFIX = "@CMAKE_INSTALL_PREFIX@"; -static const std::string UHD_PKG_DATA_DIR = "@PKG_DATA_DIR@"; +//these should be pre-processor macros to avoid static initialization issues +#define UHD_VERSION_STRING "@CPACK_PACKAGE_VERSION@" +#define UHD_INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@" +#define UHD_PKG_DATA_DIR "@PKG_DATA_DIR@"  #endif /* INCLUDED_LIBUHD_CONSTANTS_HPP */ diff --git a/host/lib/utils/paths.cpp b/host/lib/utils/paths.cpp index 0805a44fe..4029bd989 100644 --- a/host/lib/utils/paths.cpp +++ b/host/lib/utils/paths.cpp @@ -60,12 +60,14 @@ static std::vector<fs::path> get_env_paths(const std::string &var_name){      //split the path at the path separators      std::vector<std::string> path_strings; -    boost::split(path_strings, var_value, boost::is_any_of(env_path_sep)); +    if (not var_value.empty()) boost::split(//dont split empty strings +        path_strings, var_value, boost::is_any_of(env_path_sep) +    );      //convert to filesystem path, filter blank paths      std::vector<fs::path> paths;      BOOST_FOREACH(std::string &path_string, path_strings){ -        if (path_string.size() == 0) continue; +        if (path_string.empty()) continue;          paths.push_back(fs::system_complete(path_string));      }      return paths; @@ -74,17 +76,15 @@ static std::vector<fs::path> get_env_paths(const std::string &var_name){  /***********************************************************************   * Get a list of special purpose paths   **********************************************************************/ -static const fs::path pkg_data_path = fs::path(UHD_INSTALL_PREFIX) / UHD_PKG_DATA_DIR; -  std::vector<fs::path> get_image_paths(void){      std::vector<fs::path> paths = get_env_paths("UHD_IMAGE_PATH"); -    paths.push_back(pkg_data_path / "images"); +    paths.push_back(fs::path(UHD_INSTALL_PREFIX) / UHD_PKG_DATA_DIR / "images");      return paths;  }  std::vector<fs::path> get_module_paths(void){      std::vector<fs::path> paths = get_env_paths("UHD_MODULE_PATH"); -    paths.push_back(pkg_data_path / "modules"); +    paths.push_back(fs::path(UHD_INSTALL_PREFIX) / UHD_PKG_DATA_DIR / "modules");      return paths;  } | 
