mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Bug 792884 - cmake: gschemas.compiled missing
Fix handling of gschemas.compiled. It should only be called at install time to regenerate gschemas.compiled based on all available gschema files. In the installation directory that can be more than just our own. Note to force the compilation to run after all gschema files themselves are installed, the gnome and gnome-utils gschemas have been moved into a higher-level gschemas directory and the install command is added there.
This commit is contained in:
parent
5cf58758a2
commit
c7b5061e8f
@ -27,6 +27,7 @@ ADD_SUBDIRECTORY (import-export)
|
|||||||
ADD_SUBDIRECTORY (python)
|
ADD_SUBDIRECTORY (python)
|
||||||
ADD_SUBDIRECTORY (register)
|
ADD_SUBDIRECTORY (register)
|
||||||
ADD_SUBDIRECTORY (report)
|
ADD_SUBDIRECTORY (report)
|
||||||
|
ADD_SUBDIRECTORY (gschemas)
|
||||||
|
|
||||||
ADD_DEFINITIONS (-DHAVE_CONFIG_H)
|
ADD_DEFINITIONS (-DHAVE_CONFIG_H)
|
||||||
|
|
||||||
@ -242,24 +243,6 @@ IF (WIN32)
|
|||||||
INSTALL(PROGRAMS ${CMD_FILE} DESTINATION ${CMAKE_INSTALL_BINDIR})
|
INSTALL(PROGRAMS ${CMD_FILE} DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||||
ENDIF(WIN32)
|
ENDIF(WIN32)
|
||||||
|
|
||||||
|
|
||||||
# Handle gschemas.compiled
|
|
||||||
set(CMAKE_COMMAND_TMP "")
|
|
||||||
if (${CMAKE_VERSION} VERSION_GREATER 3.1)
|
|
||||||
set(CMAKE_COMMAND_TMP ${CMAKE_COMMAND} -E env)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
add_custom_command(
|
|
||||||
OUTPUT ${SCHEMADIR_BUILD}/gschemas.compiled
|
|
||||||
COMMAND ${CMAKE_COMMAND_TMP} ${GLIB_COMPILE_SCHEMAS} ${SCHEMADIR_BUILD}
|
|
||||||
DEPENDS ${gschema_depends}
|
|
||||||
)
|
|
||||||
|
|
||||||
add_custom_target(compiled-schemas ALL DEPENDS ${SCHEMADIR_BUILD}/gschemas.compiled)
|
|
||||||
|
|
||||||
install(FILES ${SCHEMADIR_BUILD}/gschemas.compiled DESTINATION ${CMAKE_INSTALL_DATADIR}/glib-2.0/schemas)
|
|
||||||
|
|
||||||
|
|
||||||
# The GResource Files are absolute paths but SET_LOCAL_DIST requires
|
# The GResource Files are absolute paths but SET_LOCAL_DIST requires
|
||||||
# relative paths.
|
# relative paths.
|
||||||
FOREACH(gres_file ${gresource_files})
|
FOREACH(gres_file ${gresource_files})
|
||||||
@ -272,6 +255,6 @@ SET_LOCAL_DIST(gnucash_DIST_local CMakeLists.txt environment.in generate-gnc-scr
|
|||||||
gnucash-bin.c gnucash.rc.in gnucash-valgrind.in gnucash-gresources.xml ${gresource_files}
|
gnucash-bin.c gnucash.rc.in gnucash-valgrind.in gnucash-gresources.xml ${gresource_files}
|
||||||
${gnucash_EXTRA_DIST})
|
${gnucash_EXTRA_DIST})
|
||||||
|
|
||||||
SET(gnucash_DIST ${gnucash_DIST_local} ${gnome_DIST} ${gnome_search_DIST}
|
SET(gnucash_DIST ${gnucash_DIST_local} ${gschemas_DIST} ${gnome_DIST} ${gnome_search_DIST}
|
||||||
${gnome_utils_DIST} ${html_DIST} ${import_export_DIST} ${python_DIST} ${register_DIST} ${report_DIST}
|
${gnome_utils_DIST} ${html_DIST} ${import_export_DIST} ${python_DIST} ${register_DIST} ${report_DIST}
|
||||||
${overrides_DIST} ${test_bin_DIST} PARENT_SCOPE)
|
${overrides_DIST} ${test_bin_DIST} PARENT_SCOPE)
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
# Note that gnucash/gnome-utils CANNOT depend on gnucash/gnome!
|
# Note that gnucash/gnome-utils CANNOT depend on gnucash/gnome!
|
||||||
|
|
||||||
ADD_SUBDIRECTORY(gschemas)
|
|
||||||
ADD_SUBDIRECTORY(gtkbuilder)
|
ADD_SUBDIRECTORY(gtkbuilder)
|
||||||
ADD_SUBDIRECTORY(ui)
|
ADD_SUBDIRECTORY(ui)
|
||||||
ADD_SUBDIRECTORY(test)
|
ADD_SUBDIRECTORY(test)
|
||||||
@ -11,10 +10,7 @@ gnc_add_swig_guile_command (swig-gnome-utils-c
|
|||||||
${CMAKE_CURRENT_SOURCE_DIR}/gnome-utils.i
|
${CMAKE_CURRENT_SOURCE_DIR}/gnome-utils.i
|
||||||
)
|
)
|
||||||
|
|
||||||
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/gschemas/org.gnucash.warnings.gschema.xml.in.in
|
SET (WARNINGS_SCHEMA ../gschemas/org.gnucash.warnings.gschema.xml.in)
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/gschemas/org.gnucash.warnings.gschema.xml.in)
|
|
||||||
|
|
||||||
SET (WARNINGS_SCHEMA gschemas/org.gnucash.warnings.gschema.xml.in)
|
|
||||||
SET (GNC_WARNINGS_C ${CMAKE_CURRENT_BINARY_DIR}/gnc-warnings.c)
|
SET (GNC_WARNINGS_C ${CMAKE_CURRENT_BINARY_DIR}/gnc-warnings.c)
|
||||||
SET (GNC_WARNINGS_H ${CMAKE_CURRENT_BINARY_DIR}/gnc-warnings.h)
|
SET (GNC_WARNINGS_H ${CMAKE_CURRENT_BINARY_DIR}/gnc-warnings.h)
|
||||||
|
|
||||||
@ -274,5 +270,5 @@ ADD_CUSTOM_TARGET(scm-gnome-utils ALL DEPENDS scm-gnome-utils-2 scm-gnome-utils-
|
|||||||
SET_LOCAL_DIST(gnome_utils_DIST_local CMakeLists.txt ${gnome_utils_SOURCES} ${gnome_utils_HEADERS}
|
SET_LOCAL_DIST(gnome_utils_DIST_local CMakeLists.txt ${gnome_utils_SOURCES} ${gnome_utils_HEADERS}
|
||||||
${gnome_utils_noinst_HEADERS} gnome-utils.scm gnome-utils.i gnc-menu-extensions.scm
|
${gnome_utils_noinst_HEADERS} gnome-utils.scm gnome-utils.i gnc-menu-extensions.scm
|
||||||
make-gnc-warnings-c.xsl make-gnc-warnings-h.xsl)
|
make-gnc-warnings-c.xsl make-gnc-warnings-h.xsl)
|
||||||
SET(gnome_utils_DIST ${gnome_utils_DIST_local} ${gnome_utils_gschema_DIST} ${test_gnome_utils_DIST}
|
SET(gnome_utils_DIST ${gnome_utils_DIST_local} ${test_gnome_utils_DIST}
|
||||||
${gnome_utils_ui_DIST} ${gnome_utils_gtkbuilder_DIST} PARENT_SCOPE)
|
${gnome_utils_ui_DIST} ${gnome_utils_gtkbuilder_DIST} PARENT_SCOPE)
|
||||||
|
@ -1,7 +0,0 @@
|
|||||||
|
|
||||||
SET(gnome_utils_GSCHEMA org.gnucash.history.gschema.xml org.gnucash.warnings.gschema.xml)
|
|
||||||
|
|
||||||
add_gschema_targets("${gnome_utils_GSCHEMA}")
|
|
||||||
|
|
||||||
SET_DIST_LIST(gnome_utils_gschema_DIST CMakeLists.txt org.gnucash.history.gschema.xml.in.in
|
|
||||||
org.gnucash.warnings.gschema.xml.in.in)
|
|
@ -1,5 +1,4 @@
|
|||||||
|
|
||||||
ADD_SUBDIRECTORY(gschemas)
|
|
||||||
ADD_SUBDIRECTORY(gtkbuilder)
|
ADD_SUBDIRECTORY(gtkbuilder)
|
||||||
ADD_SUBDIRECTORY(ui)
|
ADD_SUBDIRECTORY(ui)
|
||||||
|
|
||||||
@ -201,4 +200,4 @@ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/gnucash.desktop DESTINATION ${CMAKE_I
|
|||||||
SET_LOCAL_DIST(gnome_DIST_local
|
SET_LOCAL_DIST(gnome_DIST_local
|
||||||
CMakeLists.txt gnome.i gnucash.appdata.xml.in gnucash.desktop.in.in
|
CMakeLists.txt gnome.i gnucash.appdata.xml.in gnucash.desktop.in.in
|
||||||
${gnc_gnome_noinst_HEADERS} ${gnc_gnome_SOURCES})
|
${gnc_gnome_noinst_HEADERS} ${gnc_gnome_SOURCES})
|
||||||
SET(gnome_DIST ${gnome_DIST_local} ${gnome_ui_DIST} ${gnome_gschema_DIST} ${gnome_gtkbuilder_DIST} PARENT_SCOPE)
|
SET(gnome_DIST ${gnome_DIST_local} ${gnome_ui_DIST} ${gnome_gtkbuilder_DIST} PARENT_SCOPE)
|
||||||
|
@ -1,22 +0,0 @@
|
|||||||
|
|
||||||
SET(gnome_GSCHEMA
|
|
||||||
org.gnucash.dialogs.gschema.xml
|
|
||||||
org.gnucash.dialogs.business.gschema.xml
|
|
||||||
org.gnucash.dialogs.commodities.gschema.xml
|
|
||||||
org.gnucash.dialogs.checkprinting.gschema.xml
|
|
||||||
org.gnucash.dialogs.reconcile.gschema.xml
|
|
||||||
org.gnucash.dialogs.sxs.gschema.xml
|
|
||||||
org.gnucash.dialogs.totd.gschema.xml
|
|
||||||
org.gnucash.gschema.xml
|
|
||||||
org.gnucash.general.finance-quote.gschema.xml
|
|
||||||
org.gnucash.window.pages.account.tree.gschema.xml
|
|
||||||
org.gnucash.window.pages.gschema.xml
|
|
||||||
)
|
|
||||||
|
|
||||||
add_gschema_targets("${gnome_GSCHEMA}")
|
|
||||||
|
|
||||||
SET(gnome_gschema_DIST_local "")
|
|
||||||
FOREACH(file ${gnome_GSCHEMA})
|
|
||||||
LIST(APPEND gnome_gschema_DIST_local ${file}.in.in)
|
|
||||||
ENDFOREACH()
|
|
||||||
SET_DIST_LIST(gnome_gschema_DIST CMakeLists.txt ${gnome_gschema_DIST_local})
|
|
47
gnucash/gschemas/CMakeLists.txt
Normal file
47
gnucash/gschemas/CMakeLists.txt
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
|
||||||
|
SET(gschema_SOURCES
|
||||||
|
org.gnucash.dialogs.gschema.xml
|
||||||
|
org.gnucash.dialogs.business.gschema.xml
|
||||||
|
org.gnucash.dialogs.commodities.gschema.xml
|
||||||
|
org.gnucash.dialogs.checkprinting.gschema.xml
|
||||||
|
org.gnucash.dialogs.reconcile.gschema.xml
|
||||||
|
org.gnucash.dialogs.sxs.gschema.xml
|
||||||
|
org.gnucash.dialogs.totd.gschema.xml
|
||||||
|
org.gnucash.gschema.xml
|
||||||
|
org.gnucash.general.finance-quote.gschema.xml
|
||||||
|
org.gnucash.history.gschema.xml
|
||||||
|
org.gnucash.warnings.gschema.xml
|
||||||
|
org.gnucash.window.pages.account.tree.gschema.xml
|
||||||
|
org.gnucash.window.pages.gschema.xml
|
||||||
|
)
|
||||||
|
|
||||||
|
add_gschema_targets("${gschema_SOURCES}")
|
||||||
|
|
||||||
|
# Handle gschemas.compiled
|
||||||
|
set(CMAKE_COMMAND_TMP "")
|
||||||
|
if (${CMAKE_VERSION} VERSION_GREATER 3.1)
|
||||||
|
set(CMAKE_COMMAND_TMP ${CMAKE_COMMAND} -E env)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
add_custom_command(
|
||||||
|
OUTPUT ${SCHEMADIR_BUILD}/gschemas.compiled
|
||||||
|
COMMAND ${CMAKE_COMMAND_TMP} ${GLIB_COMPILE_SCHEMAS} ${SCHEMADIR_BUILD}
|
||||||
|
DEPENDS ${gschema_depends}
|
||||||
|
)
|
||||||
|
|
||||||
|
add_custom_target(compiled-schemas ALL DEPENDS ${SCHEMADIR_BUILD}/gschemas.compiled)
|
||||||
|
|
||||||
|
|
||||||
|
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/compile_schemas.sh
|
||||||
|
"set -e
|
||||||
|
echo \"Compiling gschema files in $DESTDIR${CMAKE_INSTALL_FULL_DATADIR}/glib-2.0/schemas\"
|
||||||
|
${GLIB_COMPILE_SCHEMAS} $DESTDIR${CMAKE_INSTALL_FULL_DATADIR}/glib-2.0/schemas")
|
||||||
|
|
||||||
|
|
||||||
|
install(CODE "execute_process(COMMAND ${SHELL} ${CMAKE_CURRENT_BINARY_DIR}/compile_schemas.sh)")
|
||||||
|
|
||||||
|
SET(gschemas_DIST_local "")
|
||||||
|
FOREACH(file ${gschema_SOURCES})
|
||||||
|
LIST(APPEND gschemas_DIST_local ${file}.in.in)
|
||||||
|
ENDFOREACH()
|
||||||
|
SET_DIST_LIST(gschemas_DIST CMakeLists.txt ${gschemas_DIST_local})
|
@ -84,17 +84,6 @@ gnucash/gnome/gnc-plugin-register2.c
|
|||||||
gnucash/gnome/gnc-plugin-register.c
|
gnucash/gnome/gnc-plugin-register.c
|
||||||
gnucash/gnome/gnc-split-reg2.c
|
gnucash/gnome/gnc-split-reg2.c
|
||||||
gnucash/gnome/gnc-split-reg.c
|
gnucash/gnome/gnc-split-reg.c
|
||||||
[type: gettext/gsettings]gnucash/gnome/gschemas/org.gnucash.dialogs.business.gschema.xml.in.in
|
|
||||||
[type: gettext/gsettings]gnucash/gnome/gschemas/org.gnucash.dialogs.checkprinting.gschema.xml.in.in
|
|
||||||
[type: gettext/gsettings]gnucash/gnome/gschemas/org.gnucash.dialogs.commodities.gschema.xml.in.in
|
|
||||||
[type: gettext/gsettings]gnucash/gnome/gschemas/org.gnucash.dialogs.gschema.xml.in.in
|
|
||||||
[type: gettext/gsettings]gnucash/gnome/gschemas/org.gnucash.dialogs.reconcile.gschema.xml.in.in
|
|
||||||
[type: gettext/gsettings]gnucash/gnome/gschemas/org.gnucash.dialogs.sxs.gschema.xml.in.in
|
|
||||||
[type: gettext/gsettings]gnucash/gnome/gschemas/org.gnucash.dialogs.totd.gschema.xml.in.in
|
|
||||||
[type: gettext/gsettings]gnucash/gnome/gschemas/org.gnucash.general.finance-quote.gschema.xml.in.in
|
|
||||||
[type: gettext/gsettings]gnucash/gnome/gschemas/org.gnucash.gschema.xml.in.in
|
|
||||||
[type: gettext/gsettings]gnucash/gnome/gschemas/org.gnucash.window.pages.account.tree.gschema.xml.in.in
|
|
||||||
[type: gettext/gsettings]gnucash/gnome/gschemas/org.gnucash.window.pages.gschema.xml.in.in
|
|
||||||
gnucash/gnome/gtkbuilder/assistant-acct-period.glade
|
gnucash/gnome/gtkbuilder/assistant-acct-period.glade
|
||||||
gnucash/gnome/gtkbuilder/assistant-hierarchy.glade
|
gnucash/gnome/gtkbuilder/assistant-hierarchy.glade
|
||||||
gnucash/gnome/gtkbuilder/assistant-loan.glade
|
gnucash/gnome/gtkbuilder/assistant-loan.glade
|
||||||
@ -225,8 +214,6 @@ gnucash/gnome-utils/gnc-tree-view-split-reg.c
|
|||||||
gnucash/gnome-utils/gnc-tree-view-sx-list.c
|
gnucash/gnome-utils/gnc-tree-view-sx-list.c
|
||||||
gnucash/gnome-utils/gnc-window.c
|
gnucash/gnome-utils/gnc-window.c
|
||||||
gnucash/gnome-utils/gnome-utils.scm
|
gnucash/gnome-utils/gnome-utils.scm
|
||||||
[type: gettext/gsettings]gnucash/gnome-utils/gschemas/org.gnucash.history.gschema.xml.in.in
|
|
||||||
[type: gettext/gsettings]gnucash/gnome-utils/gschemas/org.gnucash.warnings.gschema.xml.in.in
|
|
||||||
gnucash/gnome-utils/gtkbuilder/assistant-xml-encoding.glade
|
gnucash/gnome-utils/gtkbuilder/assistant-xml-encoding.glade
|
||||||
gnucash/gnome-utils/gtkbuilder/dialog-account.glade
|
gnucash/gnome-utils/gtkbuilder/dialog-account.glade
|
||||||
gnucash/gnome-utils/gtkbuilder/dialog-book-close.glade
|
gnucash/gnome-utils/gtkbuilder/dialog-book-close.glade
|
||||||
@ -251,6 +238,19 @@ gnucash/gnome-utils/search-param.c
|
|||||||
gnucash/gnome-utils/tree-view-utils.c
|
gnucash/gnome-utils/tree-view-utils.c
|
||||||
gnucash/gnome-utils/window-main-summarybar.c
|
gnucash/gnome-utils/window-main-summarybar.c
|
||||||
gnucash/gnucash-bin.c
|
gnucash/gnucash-bin.c
|
||||||
|
[type: gettext/gsettings]gnucash/gschemas/org.gnucash.dialogs.business.gschema.xml.in.in
|
||||||
|
[type: gettext/gsettings]gnucash/gschemas/org.gnucash.dialogs.checkprinting.gschema.xml.in.in
|
||||||
|
[type: gettext/gsettings]gnucash/gschemas/org.gnucash.dialogs.commodities.gschema.xml.in.in
|
||||||
|
[type: gettext/gsettings]gnucash/gschemas/org.gnucash.dialogs.gschema.xml.in.in
|
||||||
|
[type: gettext/gsettings]gnucash/gschemas/org.gnucash.dialogs.reconcile.gschema.xml.in.in
|
||||||
|
[type: gettext/gsettings]gnucash/gschemas/org.gnucash.dialogs.sxs.gschema.xml.in.in
|
||||||
|
[type: gettext/gsettings]gnucash/gschemas/org.gnucash.dialogs.totd.gschema.xml.in.in
|
||||||
|
[type: gettext/gsettings]gnucash/gschemas/org.gnucash.general.finance-quote.gschema.xml.in.in
|
||||||
|
[type: gettext/gsettings]gnucash/gschemas/org.gnucash.gschema.xml.in.in
|
||||||
|
[type: gettext/gsettings]gnucash/gschemas/org.gnucash.history.gschema.xml.in.in
|
||||||
|
[type: gettext/gsettings]gnucash/gschemas/org.gnucash.warnings.gschema.xml.in.in
|
||||||
|
[type: gettext/gsettings]gnucash/gschemas/org.gnucash.window.pages.account.tree.gschema.xml.in.in
|
||||||
|
[type: gettext/gsettings]gnucash/gschemas/org.gnucash.window.pages.gschema.xml.in.in
|
||||||
gnucash/html/gnc-html.c
|
gnucash/html/gnc-html.c
|
||||||
gnucash/html/gnc-html-factory.c
|
gnucash/html/gnc-html-factory.c
|
||||||
gnucash/html/gnc-html-history.c
|
gnucash/html/gnc-html-history.c
|
||||||
|
Loading…
Reference in New Issue
Block a user