Merge Richard Cohen's fix-scheme-tests into master.

This commit is contained in:
John Ralls 2023-02-28 15:25:08 -08:00
commit e9f6bf7a5c
6 changed files with 28 additions and 10 deletions

View File

@ -127,7 +127,8 @@ endif()
gnc_add_scheme_targets(scm-core-utils
SOURCES "${core_utils_SCHEME}"
OUTPUT_DIR ${GUILE_OUTPUT_DIR}
DEPENDS "${GUILE_DEPENDS}")
DEPENDS "${GUILE_DEPENDS}"
MAKE_LINKS)
set (engine_SCHEME_0
gnc-numeric.scm
@ -162,12 +163,14 @@ gnc_add_scheme_targets(scm-engine-0
gnc_add_scheme_targets(scm-engine-1
SOURCES "${engine_SCHEME_1}"
OUTPUT_DIR gnucash
DEPENDS "scm-core-utils;scm-engine-0;${GUILE_DEPENDS}")
DEPENDS "scm-core-utils;scm-engine-0;${GUILE_DEPENDS}"
MAKE_LINKS)
gnc_add_scheme_targets(scm-engine-2
SOURCES "${engine_SCHEME_2}"
OUTPUT_DIR gnucash
DEPENDS "scm-engine-1;${GUILE_DEPENDS}")
DEPENDS "scm-engine-1;${GUILE_DEPENDS}"
MAKE_LINKS)
gnc_add_scheme_targets(scm-options

View File

@ -32,7 +32,7 @@ function(get_guile_env)
list(APPEND env "GUILE=${GUILE_EXECUTABLE}")
set(guile_load_paths "")
#list(APPEND guile_load_paths "${CMAKE_BINARY_DIR}/${GUILE_REL_SITEDIR}")
list(APPEND guile_load_paths "${CMAKE_BINARY_DIR}/${GUILE_REL_SITEDIR}")
list(APPEND guile_load_paths "${CMAKE_BINARY_DIR}/${GUILE_REL_SITEDIR}/gnucash/deprecated") # Path to gnucash' deprecated modules
set(guile_load_path "${guile_load_paths}")
@ -109,7 +109,17 @@ endfunction()
function(gnc_add_scheme_test _TARGET _SOURCE_FILE)
add_test(${_TARGET} ${CMAKE_COMMAND} -E env
${GUILE_EXECUTABLE} --debug -c "(load-from-path \"${_TARGET}\")(exit (run-test))"
${GUILE_EXECUTABLE} --debug -c "
(set! %load-hook
(lambda (filename)
(when (and filename
(string-contains filename \"${GUILE_REL_SITEDIR}\")
(not (string-prefix? \"${CMAKE_BINARY_DIR}\" filename)))
(format #t \"%load-path = ~s~%\" %load-path)
(format #t \"%load-compiled-path = ~s~%\" %load-compiled-path)
(error \"Loading guile/site file from outside build tree!\" filename))))
(load-from-path \"${_TARGET}\")
(exit (run-test))"
)
get_guile_env()
set_tests_properties(${_TARGET} PROPERTIES ENVIRONMENT "${GUILE_ENV};${ARGN}")

View File

@ -267,7 +267,8 @@ gnc_add_scheme_targets(scm-gnome-utils-1
gnc_add_scheme_targets(scm-gnome-utils-2
SOURCES gnome-utils.scm
OUTPUT_DIR gnucash
DEPENDS "scm-gnome-utils-1")
DEPENDS "scm-gnome-utils-1"
MAKE_LINKS)
add_custom_target(scm-gnome-utils ALL DEPENDS scm-gnome-utils-2 scm-gnome-utils-1)

View File

@ -41,7 +41,8 @@ set(GUILE_DEPENDS gnc-html gnucash-guile scm-core-utils)
gnc_add_scheme_targets(scm-gnc-html
SOURCES "${gnc_html_SCHEME}"
OUTPUT_DIR ${GUILE_OUTPUT_DIR}
DEPENDS "${GUILE_DEPENDS}")
DEPENDS "${GUILE_DEPENDS}"
MAKE_LINKS)
set_dist_list(html_DIST CMakeLists.txt ${html_HEADERS} ${html_SOURCES} gnc-html.i ${html_EXTRA_DIST} html.scm)

View File

@ -108,12 +108,14 @@ gnc_add_scheme_targets(scm-report-2
gnc_add_scheme_targets(scm-report-eguile-parts
SOURCES "${report_eguile_parts_SCHEME}"
OUTPUT_DIR "gnucash/eguile"
DEPENDS scm-report-2)
DEPENDS scm-report-2
MAKE_LINKS)
gnc_add_scheme_targets(scm-report-eguile
SOURCES "${report_eguile_SCHEME}"
OUTPUT_DIR "gnucash"
DEPENDS scm-report-eguile-parts)
DEPENDS scm-report-eguile-parts
MAKE_LINKS)
add_custom_target(scm-report ALL DEPENDS scm-report-2 scm-report-eguile)

View File

@ -56,7 +56,8 @@ gnc_add_scheme_targets(scm-tax-us-2
gnc_add_scheme_targets(scm-tax-us-3
SOURCES "${gncmod_tax_us_SCHEME_3}"
OUTPUT_DIR "gnucash/locale/us"
DEPENDS "scm-tax-us-2;${GUILE_DEPENDS}")
DEPENDS "scm-tax-us-2;${GUILE_DEPENDS}"
MAKE_LINKS)
gnc_add_scheme_targets(scm-tax-de_DE-1
SOURCES "${gncmod_tax_de_DE_SCHEME_1}"