Hello,

currently, all configuration files are placed below
CMAKE_INSTALL_PREFIX. This makes them end up in /usr/etc/ or other
inconvenient places. The attached patch solves this problem by
introducing a SYSCONFDIR parameter. My CMake fu is rather weak though,
so I am not fully sure that the modifications are correct.

This issue was originally reported in http://gnuradio.org/redmine/issues/492


Best regards,
Chí-Thanh Christopher Nguyễn

>From 901a40159d1ea194b01e30c5cdace6b8efb104ae Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ch=C3=AD-Thanh=20Christopher=20Nguy=E1=BB=85n?= <chith...@gentoo.org>
Date: Wed, 13 Jun 2012 01:16:35 +0200
Subject: [PATCH] cmake: add support for SYSCONFDIR

This fixes http://gnuradio.org/redmine/issues/492
---
 CMakeLists.txt                               |    4 ++++
 gnuradio-core/CMakeLists.txt                 |    2 +-
 gnuradio-core/src/lib/general/CMakeLists.txt |    3 ---
 gr-audio/lib/CMakeLists.txt                  |    2 +-
 gr-wxgui/CMakeLists.txt                      |    2 +-
 grc/CMakeLists.txt                           |    2 +-
 6 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9f431a7..e9203e3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -107,6 +107,8 @@ set(GR_PKG_CONF_DIR     ${GR_CONF_DIR}/${CMAKE_PROJECT_NAME}/conf.d)
 set(GR_LIBEXEC_DIR      libexec)
 set(GR_PKG_LIBEXEC_DIR  ${GR_LIBEXEC_DIR}/${CMAKE_PROJECT_NAME})
 set(GRC_BLOCKS_DIR      ${GR_PKG_DATA_DIR}/grc/blocks)
+set(SYSCONFDIR          "${CMAKE_INSTALL_PREFIX}/${GR_CONF_DIR}" CACHE PATH "System configuration directory")
+set(GR_PREFSDIR         ${SYSCONFDIR}/${CMAKE_PROJECT_NAME}/conf.d)
 
 ########################################################################
 # Variables replaced when configuring the package config files
@@ -115,6 +117,8 @@ file(TO_NATIVE_PATH "${CMAKE_INSTALL_PREFIX}"           prefix)
 file(TO_NATIVE_PATH "\${prefix}"                        exec_prefix)
 file(TO_NATIVE_PATH "\${exec_prefix}/${GR_LIBRARY_DIR}" libdir)
 file(TO_NATIVE_PATH "\${prefix}/${GR_INCLUDE_DIR}"      includedir)
+file(TO_NATIVE_PATH "${SYSCONFDIR}"                     SYSCONFDIR)
+file(TO_NATIVE_PATH "${GR_PREFSDIR}"                    GR_PREFSDIR)
 
 ########################################################################
 # Create uninstall target
diff --git a/gnuradio-core/CMakeLists.txt b/gnuradio-core/CMakeLists.txt
index 0227108..a0919d9 100644
--- a/gnuradio-core/CMakeLists.txt
+++ b/gnuradio-core/CMakeLists.txt
@@ -109,7 +109,7 @@ CPACK_COMPONENT("core_swig"
 
 install(
     FILES gnuradio-core.conf
-    DESTINATION ${GR_PKG_CONF_DIR}
+    DESTINATION ${GR_PREFSDIR}
     COMPONENT "core_runtime"
 )
 
diff --git a/gnuradio-core/src/lib/general/CMakeLists.txt b/gnuradio-core/src/lib/general/CMakeLists.txt
index ab9b870..a2c9f94 100644
--- a/gnuradio-core/src/lib/general/CMakeLists.txt
+++ b/gnuradio-core/src/lib/general/CMakeLists.txt
@@ -48,9 +48,6 @@ message(STATUS "Loading build date ${BUILD_DATE} into gr_constants...")
 
 message(STATUS "Loading version ${VERSION} into gr_constants...")
 
-file(TO_NATIVE_PATH "${CMAKE_INSTALL_PREFIX}/${GR_CONF_DIR}"     SYSCONFDIR)
-file(TO_NATIVE_PATH "${CMAKE_INSTALL_PREFIX}/${GR_PKG_CONF_DIR}" GR_PREFSDIR)
-
 #double escape for windows backslash path separators
 string(REPLACE "\\" "\\\\" prefix ${prefix})
 string(REPLACE "\\" "\\\\" SYSCONFDIR ${SYSCONFDIR})
diff --git a/gr-audio/lib/CMakeLists.txt b/gr-audio/lib/CMakeLists.txt
index 7e0252a..c1781af 100644
--- a/gr-audio/lib/CMakeLists.txt
+++ b/gr-audio/lib/CMakeLists.txt
@@ -150,4 +150,4 @@ add_library(gnuradio-audio SHARED ${gr_audio_sources})
 target_link_libraries(gnuradio-audio ${gr_audio_libs})
 GR_LIBRARY_FOO(gnuradio-audio RUNTIME_COMPONENT "audio_runtime" DEVEL_COMPONENT "audio_devel")
 
-install(FILES ${gr_audio_confs} DESTINATION ${GR_PKG_CONF_DIR} COMPONENT "audio_runtime")
+install(FILES ${gr_audio_confs} DESTINATION ${GR_PREFSDIR} COMPONENT "audio_runtime")
diff --git a/gr-wxgui/CMakeLists.txt b/gr-wxgui/CMakeLists.txt
index 0fc26de..8150c7d 100644
--- a/gr-wxgui/CMakeLists.txt
+++ b/gr-wxgui/CMakeLists.txt
@@ -76,7 +76,7 @@ install(
 ########################################################################
 install(
     FILES ${CMAKE_CURRENT_SOURCE_DIR}/gr-wxgui.conf
-    DESTINATION ${GR_PKG_CONF_DIR}
+    DESTINATION ${GR_PREFSDIR}
     COMPONENT "wxgui"
 )
 
diff --git a/grc/CMakeLists.txt b/grc/CMakeLists.txt
index f54aa4f..219bbe1 100644
--- a/grc/CMakeLists.txt
+++ b/grc/CMakeLists.txt
@@ -75,7 +75,7 @@ configure_file(
 
 install(
     FILES ${CMAKE_CURRENT_BINARY_DIR}/grc.conf
-    DESTINATION ${GR_PKG_CONF_DIR}
+    DESTINATION ${GR_PREFSDIR}
     COMPONENT "grc"
 )
 
-- 
1.7.3.4


_______________________________________________
Patch-gnuradio mailing list
Patch-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/patch-gnuradio

Reply via email to