diff options
| author | Josh Blum <josh@joshknows.com> | 2010-08-16 23:28:37 -0700 | 
|---|---|---|
| committer | Josh Blum <josh@joshknows.com> | 2010-08-16 23:28:37 -0700 | 
| commit | 7d110e73e6b0651f73e8e5b165244f59e66fed87 (patch) | |
| tree | a908018a138c2567939a7193695beab7cc3f6487 | |
| parent | f75869e4f7ffb53ca7f348c3a1b6d6c8fb1499b7 (diff) | |
| download | uhd-7d110e73e6b0651f73e8e5b165244f59e66fed87.tar.gz uhd-7d110e73e6b0651f73e8e5b165244f59e66fed87.tar.bz2 uhd-7d110e73e6b0651f73e8e5b165244f59e66fed87.zip | |
uhd: added the concept of installer path (along with local path) for package data
| -rw-r--r-- | host/lib/CMakeLists.txt | 10 | ||||
| -rw-r--r-- | host/lib/constants.hpp.in | 6 | ||||
| -rw-r--r-- | host/lib/utils/paths.cpp | 8 | 
3 files changed, 16 insertions, 8 deletions
| diff --git a/host/lib/CMakeLists.txt b/host/lib/CMakeLists.txt index b117b99ce..cbb68c725 100644 --- a/host/lib/CMakeLists.txt +++ b/host/lib/CMakeLists.txt @@ -53,8 +53,14 @@ INCLUDE(${CMAKE_CURRENT_SOURCE_DIR}/utils/CMakeLists.txt)  ########################################################################  # Append to the list of sources for lib uhd  ######################################################################## -FILE(TO_NATIVE_PATH ${CMAKE_INSTALL_PREFIX}/${PKG_DATA_DIR} FULL_PKG_DATA_DIR) -MESSAGE(STATUS "Full package data directory: ${FULL_PKG_DATA_DIR}") +FILE(TO_NATIVE_PATH ${CMAKE_INSTALL_PREFIX}/${PKG_DATA_DIR} LOCAL_PKG_DATA_DIR) +MESSAGE(STATUS "Local package data directory: ${LOCAL_PKG_DATA_DIR}") + +IF(UNIX) +    #on unix systems, installers will use this directory for the package data +    FILE(TO_NATIVE_PATH /usr/${PKG_DATA_DIR} INSTALLER_PKG_DATA_DIR) +    MESSAGE(STATUS "Installer package data directory: ${INSTALLER_PKG_DATA_DIR}") +ENDIF(UNIX)  CONFIGURE_FILE(      ${CMAKE_CURRENT_SOURCE_DIR}/constants.hpp.in diff --git a/host/lib/constants.hpp.in b/host/lib/constants.hpp.in index 2ed4e302f..4aedb6d4a 100644 --- a/host/lib/constants.hpp.in +++ b/host/lib/constants.hpp.in @@ -18,11 +18,9 @@  #ifndef INCLUDED_LIBUHD_CONSTANTS_HPP  #define INCLUDED_LIBUHD_CONSTANTS_HPP -#include <uhd/config.hpp> -#include <string> -  //these should be pre-processor macros to avoid static initialization issues  #define UHD_VERSION_STRING "@CPACK_PACKAGE_VERSION@" -#define FULL_PKG_DATA_DIR "@FULL_PKG_DATA_DIR@" +#define LOCAL_PKG_DATA_DIR "@LOCAL_PKG_DATA_DIR@" +#define INSTALLER_PKG_DATA_DIR "@INSTALLER_PKG_DATA_DIR@"  #endif /* INCLUDED_LIBUHD_CONSTANTS_HPP */ diff --git a/host/lib/utils/paths.cpp b/host/lib/utils/paths.cpp index 3f29945dd..6ad12d3cc 100644 --- a/host/lib/utils/paths.cpp +++ b/host/lib/utils/paths.cpp @@ -72,13 +72,17 @@ static std::vector<fs::path> get_env_paths(const std::string &var_name){   **********************************************************************/  std::vector<fs::path> get_image_paths(void){      std::vector<fs::path> paths = get_env_paths("UHD_IMAGE_PATH"); -    paths.push_back(fs::path(FULL_PKG_DATA_DIR) / "images"); +    paths.push_back(fs::path(LOCAL_PKG_DATA_DIR) / "images"); +    if (not std::string(INSTALLER_PKG_DATA_DIR).empty()) +        paths.push_back(fs::path(INSTALLER_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(fs::path(FULL_PKG_DATA_DIR) / "modules"); +    paths.push_back(fs::path(LOCAL_PKG_DATA_DIR) / "modules"); +    if (not std::string(INSTALLER_PKG_DATA_DIR).empty()) +        paths.push_back(fs::path(INSTALLER_PKG_DATA_DIR) / "modules");      return paths;  } | 
