mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
116 lines
3.8 KiB
CMake
116 lines
3.8 KiB
CMake
|
|
ADD_SUBDIRECTORY(mod-foo)
|
|
ADD_SUBDIRECTORY(mod-bar)
|
|
ADD_SUBDIRECTORY(mod-baz)
|
|
ADD_SUBDIRECTORY(misc-mods)
|
|
|
|
SET(GNC_MODULE_TEST_INCLUDE_DIRS
|
|
${CMAKE_BINARY_DIR}/common # for config.h
|
|
${CMAKE_SOURCE_DIR}/libgnucash/gnc-module
|
|
${CMAKE_SOURCE_DIR}/common/test-core
|
|
${GLIB2_INCLUDE_DIRS}
|
|
${GUILE_INCLUDE_DIRS}
|
|
)
|
|
|
|
SET(GNC_MODULE_TEST_LIBS gnc-module test-core)
|
|
|
|
MACRO(ADD_GNC_MODULE_TEST _TARGET _SOURCE_FILES)
|
|
GNC_ADD_TEST(${_TARGET} "${_SOURCE_FILES}" GNC_MODULE_TEST_INCLUDE_DIRS GNC_MODULE_TEST_LIBS)
|
|
ENDMACRO()
|
|
|
|
FUNCTION(RUN_TEST_WITH_GUILE _TARGET _SOURCE_FILE)
|
|
GET_GUILE_ENV()
|
|
SET(CMAKE_COMMAND_TMP "")
|
|
IF (${CMAKE_VERSION} VERSION_GREATER 3.1)
|
|
SET(CMAKE_COMMAND_TMP ${CMAKE_COMMAND} -E env "${GUILE_ENV};GNC_MODULE_PATH=${CMAKE_BINARY_DIR}/lib/gnucash/test")
|
|
ENDIF()
|
|
ADD_TEST(NAME ${_TARGET}
|
|
COMMAND ${CMAKE_COMMAND_TMP}
|
|
${GUILE_EXECUTABLE} -s ${_SOURCE_FILE}
|
|
)
|
|
|
|
SET_TESTS_PROPERTIES(${_TARGET} PROPERTIES ENVIRONMENT "${GUILE_ENV};${ARGN}")
|
|
ENDFUNCTION()
|
|
|
|
GNC_ADD_TEST_WITH_GUILE(test-load-c test-load-c.c GNC_MODULE_TEST_INCLUDE_DIRS GNC_MODULE_TEST_LIBS "GNC_MODULE_PATH=${CMAKE_BINARY_DIR}/lib/gnucash/test")
|
|
|
|
RUN_TEST_WITH_GUILE(test-load-scm ${CMAKE_CURRENT_SOURCE_DIR}/test-load-scm.in)
|
|
|
|
RUN_TEST_WITH_GUILE(test-load-deps ${CMAKE_CURRENT_SOURCE_DIR}/test-load-deps.in)
|
|
|
|
RUN_TEST_WITH_GUILE(test-scm-init ${CMAKE_CURRENT_SOURCE_DIR}/test-scm-init.in)
|
|
|
|
RUN_TEST_WITH_GUILE(test-scm-multi ${CMAKE_CURRENT_SOURCE_DIR}/test-scm-multi.in)
|
|
|
|
RUN_TEST_WITH_GUILE(test-scm-dynload ${CMAKE_CURRENT_SOURCE_DIR}/test-scm-dynload.in)
|
|
|
|
GNC_ADD_TEST_WITH_GUILE(test-modsysver test-modsysver.c
|
|
GNC_MODULE_TEST_INCLUDE_DIRS GNC_MODULE_TEST_LIBS
|
|
)
|
|
GNC_ADD_TEST_WITH_GUILE(test-incompatdep test-incompatdep.c
|
|
GNC_MODULE_TEST_INCLUDE_DIRS GNC_MODULE_TEST_LIBS
|
|
)
|
|
GNC_ADD_TEST_WITH_GUILE(test-agedver test-agedver.c
|
|
GNC_MODULE_TEST_INCLUDE_DIRS GNC_MODULE_TEST_LIBS
|
|
"GNC_MODULE_PATH=${CMAKE_BINARY_DIR}/lib/gnucash/test"
|
|
)
|
|
|
|
SET(_LIBDIR ${CMAKE_BINARY_DIR}/lib)
|
|
IF (WIN32)
|
|
SET(_LIBDIR ${CMAKE_BINARY_DIR}/bin)
|
|
ENDIF()
|
|
GNC_ADD_TEST(test-dynload test-dynload.c
|
|
GNC_MODULE_TEST_INCLUDE_DIRS GNC_MODULE_TEST_LIBS
|
|
LIBDIR=${_LIBDIR}
|
|
)
|
|
|
|
SET(GUILE ${GUILE_EXECUTABLE})
|
|
CONFIGURE_FILE(test-gwrapped-c.in test-gwrapped-c @ONLY)
|
|
CONFIGURE_FILE(test-scm-module.in test-scm-module @ONLY)
|
|
CONFIGURE_FILE(test-load-deps.in test-load-deps @ONLY)
|
|
CONFIGURE_FILE(test-load-scm.in test-load-scm @ONLY)
|
|
CONFIGURE_FILE(test-scm-dynload.in test-scm-dynload @ONLY)
|
|
CONFIGURE_FILE(test-scm-init.in test-scm-init @ONLY)
|
|
CONFIGURE_FILE(test-scm-multi.in test-scm-multi @ONLY)
|
|
|
|
FUNCTION(RUN_GUILE_SHELL_TEST _TARGET _SOURCE_FILE)
|
|
GET_GUILE_ENV()
|
|
SET(CMAKE_COMMAND_TMP "")
|
|
IF (${CMAKE_VERSION} VERSION_GREATER 3.1)
|
|
SET(CMAKE_COMMAND_TMP ${CMAKE_COMMAND} -E env "${GUILE_ENV};GNC_MODULE_PATH=${CMAKE_BINARY_DIR}/lib/gnucash/test")
|
|
ENDIF()
|
|
ADD_TEST(NAME ${_TARGET}
|
|
COMMAND ${CMAKE_COMMAND_TMP}
|
|
${SHELL} ${_SOURCE_FILE}
|
|
)
|
|
SET_TESTS_PROPERTIES(${_TARGET} PROPERTIES ENVIRONMENT "${GUILE_ENV};GNC_MODULE_PATH=${CMAKE_BINARY_DIR}/lib/gnucash/test")
|
|
ENDFUNCTION()
|
|
|
|
RUN_GUILE_SHELL_TEST(test-gwrapped-c ${CMAKE_CURRENT_BINARY_DIR}/test-gwrapped-c)
|
|
|
|
RUN_GUILE_SHELL_TEST(test-scm-module ${CMAKE_CURRENT_BINARY_DIR}/test-scm-module)
|
|
|
|
SET(test_gnc_module_SOURCE_DIST
|
|
test-agedver.c
|
|
test-dynload.c
|
|
test-incompatdep.c
|
|
test-load-c.c
|
|
test-modsysver.c
|
|
)
|
|
|
|
SET(test_gnc_module_EXTRA_DIST
|
|
README
|
|
test-gwrapped-c.in
|
|
test-load-deps.in
|
|
test-load-scm.in
|
|
test-scm-dynload.in
|
|
test-scm-init.in
|
|
test-scm-module.in
|
|
test-scm-multi.in
|
|
)
|
|
|
|
SET_LOCAL_DIST(test_gnc_module_DIST_local CMakeLists.txt Makefile.am README ${test_gnc_module_SOURCE_DIST} ${test_gnc_module_EXTRA_DIST})
|
|
|
|
SET(test_gnc_module_DIST ${test_gnc_module_DIST_local} ${misc_mods_DIST}
|
|
${mod_bar_DIST} ${mod_baz_DIST} ${mod_foo_DIST} PARENT_SCOPE)
|