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 (register)
|
||||
ADD_SUBDIRECTORY (report)
|
||||
ADD_SUBDIRECTORY (gschemas)
|
||||
|
||||
ADD_DEFINITIONS (-DHAVE_CONFIG_H)
|
||||
|
||||
@ -242,24 +243,6 @@ IF (WIN32)
|
||||
INSTALL(PROGRAMS ${CMD_FILE} DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
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
|
||||
# relative paths.
|
||||
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_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}
|
||||
${overrides_DIST} ${test_bin_DIST} PARENT_SCOPE)
|
||||
|
@ -1,6 +1,5 @@
|
||||
# Note that gnucash/gnome-utils CANNOT depend on gnucash/gnome!
|
||||
|
||||
ADD_SUBDIRECTORY(gschemas)
|
||||
ADD_SUBDIRECTORY(gtkbuilder)
|
||||
ADD_SUBDIRECTORY(ui)
|
||||
ADD_SUBDIRECTORY(test)
|
||||
@ -11,10 +10,7 @@ gnc_add_swig_guile_command (swig-gnome-utils-c
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/gnome-utils.i
|
||||
)
|
||||
|
||||
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/gschemas/org.gnucash.warnings.gschema.xml.in.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/gschemas/org.gnucash.warnings.gschema.xml.in)
|
||||
|
||||
SET (WARNINGS_SCHEMA 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_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}
|
||||
${gnome_utils_noinst_HEADERS} gnome-utils.scm gnome-utils.i gnc-menu-extensions.scm
|
||||
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)
|
||||
|
@ -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(ui)
|
||||
|
||||
@ -201,4 +200,4 @@ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/gnucash.desktop DESTINATION ${CMAKE_I
|
||||
SET_LOCAL_DIST(gnome_DIST_local
|
||||
CMakeLists.txt gnome.i gnucash.appdata.xml.in gnucash.desktop.in.in
|
||||
${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-split-reg2.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-hierarchy.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-window.c
|
||||
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/dialog-account.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/window-main-summarybar.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-factory.c
|
||||
gnucash/html/gnc-html-history.c
|
||||
|
Loading…
Reference in New Issue
Block a user