Keep ui files for optional modules within the module

This goes for ofx and aqbanking. If either
module is not part of the build, the ui files
should not be part of the resource of gnucash.
It turns out each compilation unit can have
its proper resource though, so the build system
was changed to include the ui files in a local resource
for the aqbanking and ofx modules instead of to
the gnucash global resource.
This commit is contained in:
Geert Janssens 2022-12-31 13:13:36 +01:00
parent 31d79e3004
commit 57294d7e16
6 changed files with 43 additions and 7 deletions

View File

@ -27,9 +27,6 @@
<file>ui/gnc-plugin-page-report.ui</file>
<file>ui/gnc-plugin-page-sx-list.ui</file>
<file>ui/gnc-plugin-ofx.ui</file>
<file>ui/gnc-plugin-aqbanking.ui</file>
<file>ui/gnc-plugin-qif-import.ui</file>
<file>ui/gnc-reconcile-window.ui</file>

View File

@ -41,9 +41,27 @@ set (aqbanking_noinst_HEADERS
set(aqbanking_GLADE assistant-ab-initial.glade dialog-ab.glade dialog-ab-pref.glade)
set(aqbanking_UI gnc-plugin-aqbanking.ui)
if(WITH_AQBANKING)
add_custom_command(
OUTPUT aqb-gresources.c
COMMAND
"${GLIB_COMPILE_RESOURCES_EXECUTABLE}"
--target=aqb-gresources.c
--sourcedir=${CMAKE_CURRENT_SOURCE_DIR}
--generate-source
${CMAKE_CURRENT_SOURCE_DIR}/aqb-gresources.xml
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/aqb-gresources.xml ${aqbanking_UI}
WORKING_DIRECTORY
${CMAKE_CURRENT_BINARY_DIR}
)
add_library (gncmod-aqbanking
${aqbanking_SOURCES}
${CMAKE_CURRENT_BINARY_DIR}/aqb-gresources.c
${aqbanking_noinst_HEADERS}
)

View File

@ -15,8 +15,29 @@ set(ofx_noinst_HEADERS
gnc-plugin-ofx.h
)
set(ofx_UI gnc-plugin-ofx.ui)
if (WITH_OFX)
add_library(gncmod-ofx ${ofx_SOURCES} ${ofx_noinst_HEADERS})
add_custom_command(
OUTPUT ofx-gresources.c
COMMAND
"${GLIB_COMPILE_RESOURCES_EXECUTABLE}"
--target=ofx-gresources.c
--sourcedir=${CMAKE_CURRENT_SOURCE_DIR}
--generate-source
${CMAKE_CURRENT_SOURCE_DIR}/ofx-gresources.xml
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/ofx-gresources.xml ${ofx_UI}
WORKING_DIRECTORY
${CMAKE_CURRENT_BINARY_DIR}
)
add_library(gncmod-ofx
${ofx_SOURCES}
${CMAKE_CURRENT_BINARY_DIR}/ofx-gresources.c
${ofx_noinst_HEADERS}
)
target_link_libraries(gncmod-ofx gnc-generic-import gnc-engine gnc-app-utils gnc-core-utils
gnc-gnome-utils gnc-gnome gnc-module ${LIBOFX_LDFLAGS})
@ -36,5 +57,5 @@ endif()
endif()
set_local_dist(ofx_DIST_local CMakeLists.txt ${ofx_SOURCES} ${ofx_noinst_HEADERS} )
set_local_dist(ofx_DIST_local CMakeLists.txt ${ofx_SOURCES} ${ofx_noinst_HEADERS} ${ofx_UI})
set(ofx_DIST ${ofx_DIST_local} ${test_ofx_DIST} ${ofx_gschema_DIST} PARENT_SCOPE)

View File

@ -315,6 +315,7 @@ gnucash/import-export/aqb/gnc-flicker-gui.c
gnucash/import-export/aqb/gnc-gwen-gui.c
gnucash/import-export/aqb/gncmod-aqbanking.c
gnucash/import-export/aqb/gnc-plugin-aqbanking.c
gnucash/import-export/aqb/gnc-plugin-aqbanking.ui
gnucash/import-export/aqb/gschemas/org.gnucash.GnuCash.dialogs.flicker.gschema.xml.in
gnucash/import-export/aqb/gschemas/org.gnucash.GnuCash.dialogs.import.hbci.gschema.xml.in
gnucash/import-export/bi-import/dialog-bi-import.c
@ -361,6 +362,7 @@ gnucash/import-export/log-replay/gnc-plugin-log-replay.c
gnucash/import-export/ofx/gncmod-ofx-import.c
gnucash/import-export/ofx/gnc-ofx-import.c
gnucash/import-export/ofx/gnc-plugin-ofx.c
gnucash/import-export/ofx/gnc-plugin-ofx.ui
gnucash/import-export/ofx/gschemas/org.gnucash.GnuCash.dialogs.import.ofx.gschema.xml.in
gnucash/import-export/qif-imp/assistant-qif-import.c
gnucash/import-export/qif-imp/dialog-account-picker.c
@ -508,7 +510,6 @@ gnucash/report/trep-engine.scm
gnucash/ui/gnc-embedded-register-window.ui
gnucash/ui/gnc-main-window.ui
gnucash/ui/gnc-plugin-account-tree.ui
gnucash/ui/gnc-plugin-aqbanking.ui
gnucash/ui/gnc-plugin-basic-commands.ui
gnucash/ui/gnc-plugin-bi-import.ui
gnucash/ui/gnc-plugin-budget.ui
@ -518,7 +519,6 @@ gnucash/ui/gnc-plugin-csv-import.ui
gnucash/ui/gnc-plugin-customer-import.ui
gnucash/ui/gnc-plugin-file-history.ui
gnucash/ui/gnc-plugin-log-replay.ui
gnucash/ui/gnc-plugin-ofx.ui
gnucash/ui/gnc-plugin-page-account-tree.ui
gnucash/ui/gnc-plugin-page-budget.ui
gnucash/ui/gnc-plugin-page-invoice.ui