From d863dbb36bc9e68f35216aa69a0b50e2d5bf67b0 Mon Sep 17 00:00:00 2001 From: Jim Nelson Date: Fri, 24 May 2013 14:49:52 -0700 Subject: [PATCH] GSettings doesn't respect --prefix: Closes #6001 --- cmake/GSettings.cmake | 26 +++++++++++++++----------- src/CMakeLists.txt | 2 +- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/cmake/GSettings.cmake b/cmake/GSettings.cmake index 5902baab..df32e4fe 100644 --- a/cmake/GSettings.cmake +++ b/cmake/GSettings.cmake @@ -17,7 +17,7 @@ if (GSETTINGS_COMPILE_IN_PLACE) message(STATUS "GSettings schemas will be compiled in-place.") endif () -macro(add_schemas GSETTINGS_TARGET SCHEMA_DIRECTORY) +macro(add_schemas GSETTINGS_TARGET SCHEMA_DIRECTORY PREFIX) set(PKG_CONFIG_EXECUTABLE pkg-config) # Locate all schema files. @@ -25,16 +25,20 @@ macro(add_schemas GSETTINGS_TARGET SCHEMA_DIRECTORY) "${SCHEMA_DIRECTORY}/*.gschema.xml" ) - # Find the GLib path for schema installation - execute_process( - COMMAND - ${PKG_CONFIG_EXECUTABLE} - glib-2.0 - --variable prefix - OUTPUT_VARIABLE - _glib_prefix - OUTPUT_STRIP_TRAILING_WHITESPACE - ) + if ("${PREFIX}" STREQUAL "") + # Find the GLib path for schema installation + execute_process( + COMMAND + ${PKG_CONFIG_EXECUTABLE} + glib-2.0 + --variable prefix + OUTPUT_VARIABLE + _glib_prefix + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + else () + set(_glib_prefix ${PREFIX}) + endif () set(GSETTINGS_DIR "${_glib_prefix}/share/glib-2.0/schemas/" CACHE INTERNAL "") diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 810fbfd4..51fadb6b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -469,7 +469,7 @@ add_custom_command( # This needs to be here and not in desktop/CMakeLists.txt in order for Geary to run in the build # directory include(GSettings) -add_schemas(geary ${GSETTINGS_DIR}) +add_schemas(geary ${GSETTINGS_DIR} ${CMAKE_INSTALL_PREFIX}) IF (XGETTEXT_FOUND) MESSAGE("Creating POT file")