2019-04-23 18:38:37 -05:00
|
|
|
add_subdirectory(test)
|
|
|
|
|
2022-07-12 15:13:41 -05:00
|
|
|
# Generate the swig-core-utils-guile.c wrapper file
|
2019-10-02 16:14:31 -05:00
|
|
|
gnc_swig_extract_header_files (gnc-core-utils CORE_UTILS_HEADERS)
|
2019-10-01 05:51:38 -05:00
|
|
|
gnc_add_swig_guile_command (swig-core-utils-guile-c
|
|
|
|
SWIG_CORE_UTILS_GUILE_C swig-core-utils-guile.c
|
2019-10-02 16:14:31 -05:00
|
|
|
${CMAKE_SOURCE_DIR}/bindings/core-utils.i
|
|
|
|
${CMAKE_SOURCE_DIR}/libgnucash/core-utils
|
|
|
|
${CORE_UTILS_HEADERS}
|
2019-10-01 05:51:38 -05:00
|
|
|
)
|
|
|
|
|
2022-08-23 11:22:56 -05:00
|
|
|
set(SWIG_ARGS "-c++" "-procdoc" "sw-gnc-option-doc" "-procdocformat" "plain")
|
|
|
|
# Generate the swig-engine.cpp wrapper file
|
2019-11-24 11:30:33 -06:00
|
|
|
gnc_swig_extract_header_files (gnc-engine ENGINE_HEADERS)
|
2022-08-23 11:22:56 -05:00
|
|
|
gnc_add_swig_guile_command (swig-engine-cpp
|
|
|
|
SWIG_ENGINE_CPP swig-engine.cpp
|
2019-10-05 13:06:58 -05:00
|
|
|
${CMAKE_SOURCE_DIR}/bindings/engine.i
|
|
|
|
"${CMAKE_CURRENT_SOURCE_DIR};${CMAKE_SOURCE_DIR}/libgnucash/engine"
|
|
|
|
${ENGINE_HEADERS}
|
|
|
|
${CMAKE_SOURCE_DIR}/bindings/business-core.i
|
|
|
|
${CMAKE_SOURCE_DIR}/bindings/engine-common.i
|
2022-08-23 11:22:56 -05:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/gnc-optiondb.i #additional dependencies
|
2019-10-05 13:06:58 -05:00
|
|
|
)
|
|
|
|
|
2022-07-12 15:13:41 -05:00
|
|
|
# Generate the swig-app-utils-guile.cpp wrapper file
|
|
|
|
gnc_add_swig_guile_command (swig-apputils-guile-cpp #target
|
|
|
|
SWIG_APP_UTILS_GUILE_CPP swig-app-utils-guile.cpp #outvar, output
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/../app-utils.i #input
|
|
|
|
"${CMAKE_CURRENT_SOURCE_DIR};${CMAKE_SOURCE_DIR}/libgnucash/app-utils" #includes
|
|
|
|
)
|
|
|
|
unset(SWIG_ARGS)
|
|
|
|
|
|
|
|
#Generate the swig-expressions-guile.c wrapper file
|
|
|
|
gnc_add_swig_guile_command(swig-expressions-guile-c #target
|
|
|
|
SWIG_EXPRESSIONS_GUILE_C swig-expressions-guile.c #outvar, output
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/expressions.i #input
|
|
|
|
"${CMAKE_CURRENT_SOURCE_DIR};${CMAKE_SOURCE_DIR}/libgnucash/app-utils;${CMAKE_SOURCE_DIR}/libgnucash/expressions" #includes
|
|
|
|
)
|
|
|
|
|
2019-10-01 04:57:56 -05:00
|
|
|
set(guile_HEADERS
|
2019-10-05 09:48:37 -05:00
|
|
|
glib-guile.h
|
|
|
|
gnc-engine-guile.h
|
2019-10-05 13:06:58 -05:00
|
|
|
gnc-guile-utils.h
|
2022-07-12 15:13:41 -05:00
|
|
|
gnc-helpers.h
|
2019-10-05 09:48:37 -05:00
|
|
|
gnc-kvp-guile.h)
|
2019-09-30 13:41:54 -05:00
|
|
|
|
|
|
|
set(guile_SOURCES
|
2019-10-05 09:48:37 -05:00
|
|
|
glib-guile.c
|
2022-08-23 11:22:56 -05:00
|
|
|
gnc-engine-guile.cpp
|
2019-10-01 04:57:56 -05:00
|
|
|
gnc-guile-bindings.c
|
2019-10-05 13:06:58 -05:00
|
|
|
gnc-guile-utils.c
|
2022-07-12 15:13:41 -05:00
|
|
|
gnc-helpers.c
|
2019-10-05 09:48:37 -05:00
|
|
|
gnc-kvp-guile.cpp)
|
2019-10-01 04:57:56 -05:00
|
|
|
|
2019-10-01 05:51:38 -05:00
|
|
|
add_library(gnucash-guile SHARED
|
|
|
|
${guile_SOURCES}
|
|
|
|
${guile_HEADERS}
|
2019-10-05 13:06:58 -05:00
|
|
|
${SWIG_CORE_UTILS_GUILE_C}
|
2022-08-23 11:22:56 -05:00
|
|
|
${SWIG_ENGINE_CPP}
|
2022-07-12 15:13:41 -05:00
|
|
|
${SWIG_APP_UTILS_GUILE_CPP})
|
2015-12-07 11:17:08 -06:00
|
|
|
|
2019-10-01 05:51:38 -05:00
|
|
|
add_dependencies(gnucash-guile
|
2022-10-08 23:47:12 -05:00
|
|
|
swig-runtime-h
|
|
|
|
swig-core-utils-guile-c
|
2022-10-09 21:27:55 -05:00
|
|
|
swig-engine-cpp
|
|
|
|
swig-apputils-guile-cpp)
|
2019-10-01 04:57:56 -05:00
|
|
|
|
|
|
|
target_include_directories(gnucash-guile
|
|
|
|
PUBLIC
|
2019-10-01 05:51:38 -05:00
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}
|
2019-10-02 05:31:44 -05:00
|
|
|
${GUILE_INCLUDE_DIRS}
|
|
|
|
PRIVATE
|
|
|
|
${CMAKE_SOURCE_DIR}/common
|
|
|
|
${CMAKE_BINARY_DIR}/common)
|
2019-10-01 04:57:56 -05:00
|
|
|
|
|
|
|
target_link_libraries(gnucash-guile
|
2019-10-02 05:31:44 -05:00
|
|
|
PUBLIC
|
|
|
|
${GUILE_LDFLAGS}
|
|
|
|
PRIVATE
|
|
|
|
gnc-core-utils
|
2019-11-24 11:30:33 -06:00
|
|
|
gnc-engine
|
2022-07-12 15:13:41 -05:00
|
|
|
gnc-app-utils
|
2023-02-21 05:22:55 -06:00
|
|
|
PkgConfig::GLIB2)
|
2019-09-30 13:41:54 -05:00
|
|
|
|
|
|
|
install(TARGETS gnucash-guile
|
|
|
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
|
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
|
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
|
|
)
|
|
|
|
|
2022-07-12 15:13:41 -05:00
|
|
|
add_library(gnc-expressions-guile SHARED
|
|
|
|
${SWIG_EXPRESSIONS_GUILE_C})
|
|
|
|
|
|
|
|
target_include_directories(gnc-expressions-guile
|
|
|
|
PUBLIC
|
|
|
|
${CMAKE_SOURCE_DIR}/libgnucash/expressions
|
2023-02-21 05:22:55 -06:00
|
|
|
${GUILE_INCLUDE_DIRS})
|
2022-07-12 15:13:41 -05:00
|
|
|
|
|
|
|
target_link_libraries(gnc-expressions-guile
|
|
|
|
gnc-expressions
|
|
|
|
gnc-engine
|
|
|
|
gnc-app-utils
|
|
|
|
${GUILE_LDFLAGS}
|
2023-02-21 05:22:55 -06:00
|
|
|
PkgConfig::GLIB2)
|
2022-07-12 15:13:41 -05:00
|
|
|
|
|
|
|
install(TARGETS gnc-expressions-guile
|
|
|
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
|
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
|
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
|
|
)
|
2022-10-09 21:27:55 -05:00
|
|
|
add_dependencies(gnc-expressions-guile swig-expressions-guile-c)
|
2022-07-12 15:13:41 -05:00
|
|
|
|
2019-10-01 05:51:38 -05:00
|
|
|
# Scheme
|
|
|
|
|
|
|
|
set (core_utils_SCHEME core-utils.scm)
|
2015-12-07 11:17:08 -06:00
|
|
|
|
2019-10-01 05:51:38 -05:00
|
|
|
set(GUILE_OUTPUT_DIR gnucash)
|
2020-06-21 14:38:40 -05:00
|
|
|
set(GUILE_DEPENDS
|
|
|
|
gnc-core-utils
|
|
|
|
gnucash-guile
|
|
|
|
gncmod-backend-xml)
|
|
|
|
|
|
|
|
if(WITH_SQL)
|
|
|
|
list(APPEND GUILE_DEPENDS gncmod-backend-dbi)
|
|
|
|
endif()
|
2019-10-01 05:51:38 -05:00
|
|
|
|
|
|
|
gnc_add_scheme_targets(scm-core-utils
|
2020-03-08 16:29:01 -05:00
|
|
|
SOURCES "${core_utils_SCHEME}"
|
|
|
|
OUTPUT_DIR ${GUILE_OUTPUT_DIR}
|
2023-02-26 05:42:35 -06:00
|
|
|
DEPENDS "${GUILE_DEPENDS}"
|
|
|
|
MAKE_LINKS)
|
2019-10-01 05:51:38 -05:00
|
|
|
|
2019-10-05 13:06:58 -05:00
|
|
|
set (engine_SCHEME_0
|
|
|
|
gnc-numeric.scm
|
2019-10-05 09:18:50 -05:00
|
|
|
business-core.scm
|
2019-10-05 13:06:58 -05:00
|
|
|
)
|
|
|
|
|
|
|
|
set (engine_SCHEME_1
|
|
|
|
engine.scm
|
|
|
|
)
|
|
|
|
|
|
|
|
set (engine_SCHEME_2
|
|
|
|
utilities.scm
|
|
|
|
)
|
|
|
|
|
|
|
|
set(BACKEND_DEPENDS gncmod-backend-xml)
|
|
|
|
if (WITH_SQL)
|
|
|
|
list(APPEND BACKEND_DEPENDS gncmod-backend-dbi)
|
2020-02-06 10:01:26 -06:00
|
|
|
endif()
|
2019-10-05 13:06:58 -05:00
|
|
|
|
|
|
|
set(GUILE_DEPENDS
|
|
|
|
${BACKEND_DEPENDS}
|
2019-11-24 11:30:33 -06:00
|
|
|
gnc-engine
|
2019-10-05 13:06:58 -05:00
|
|
|
gnucash-guile)
|
|
|
|
|
|
|
|
|
|
|
|
gnc_add_scheme_targets(scm-engine-0
|
2020-03-08 16:29:01 -05:00
|
|
|
SOURCES "${engine_SCHEME_0}"
|
|
|
|
OUTPUT_DIR "gnucash/engine"
|
|
|
|
DEPENDS "${GUILE_DEPENDS}"
|
|
|
|
MAKE_LINKS)
|
2019-10-05 13:06:58 -05:00
|
|
|
|
|
|
|
gnc_add_scheme_targets(scm-engine-1
|
2020-03-08 16:29:01 -05:00
|
|
|
SOURCES "${engine_SCHEME_1}"
|
|
|
|
OUTPUT_DIR gnucash
|
2023-02-26 05:42:35 -06:00
|
|
|
DEPENDS "scm-core-utils;scm-engine-0;${GUILE_DEPENDS}"
|
|
|
|
MAKE_LINKS)
|
2019-10-05 13:06:58 -05:00
|
|
|
|
|
|
|
gnc_add_scheme_targets(scm-engine-2
|
2020-03-08 16:29:01 -05:00
|
|
|
SOURCES "${engine_SCHEME_2}"
|
|
|
|
OUTPUT_DIR gnucash
|
2023-02-26 05:42:35 -06:00
|
|
|
DEPENDS "scm-engine-1;${GUILE_DEPENDS}"
|
|
|
|
MAKE_LINKS)
|
2019-10-05 13:06:58 -05:00
|
|
|
|
2022-08-23 11:22:56 -05:00
|
|
|
|
|
|
|
gnc_add_scheme_targets(scm-options
|
|
|
|
SOURCES options.scm
|
|
|
|
OUTPUT_DIR gnucash
|
|
|
|
DEPENDS "scm-engine-2;scm-core-utils;${GUILE_DEPENDS}")
|
|
|
|
|
|
|
|
add_custom_target(scm-engine ALL DEPENDS scm-options scm-engine-2 scm-engine-1 scm-engine-0)
|
2019-10-05 13:06:58 -05:00
|
|
|
|
2022-07-12 15:13:41 -05:00
|
|
|
set (app_utils_SCHEME_1
|
|
|
|
c-interface.scm
|
|
|
|
date-utilities.scm
|
|
|
|
)
|
|
|
|
|
|
|
|
set (app_utils_SCHEME_2
|
|
|
|
app-utils.scm
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
set(GUILE_DEPENDS
|
|
|
|
gnc-app-utils
|
|
|
|
scm-core-utils
|
|
|
|
scm-engine)
|
|
|
|
|
|
|
|
gnc_add_scheme_targets(scm-app-utils-1
|
|
|
|
SOURCES "${app_utils_SCHEME_1}"
|
|
|
|
OUTPUT_DIR "gnucash/app-utils"
|
|
|
|
DEPENDS "${GUILE_DEPENDS}"
|
|
|
|
MAKE_LINKS)
|
|
|
|
|
|
|
|
gnc_add_scheme_targets(scm-app-utils-2
|
|
|
|
SOURCES "${app_utils_SCHEME_2}"
|
|
|
|
OUTPUT_DIR "gnucash"
|
2022-08-23 11:22:56 -05:00
|
|
|
DEPENDS "scm-app-utils-1"
|
2022-07-12 15:13:41 -05:00
|
|
|
MAKE_LINKS)
|
|
|
|
|
|
|
|
add_custom_target(scm-app-utils ALL DEPENDS scm-app-utils-2 scm-app-utils-1)
|
|
|
|
|
|
|
|
set(expressions_SCHEME
|
|
|
|
fin.scm)
|
|
|
|
|
|
|
|
set(GUILE_INTERNAL_DEPENDS
|
|
|
|
scm-app-utils-1)
|
|
|
|
|
|
|
|
gnc_add_scheme_targets(scm-expressions
|
|
|
|
SOURCES "${expressions_SCHEME}"
|
|
|
|
OUTPUT_DIR "gnucash/app-utils"
|
|
|
|
DEPENDS "${GUILE_INTERNAL_DEPENDS}"
|
|
|
|
MAKE_LINKS)
|
|
|
|
|
2019-10-01 05:51:38 -05:00
|
|
|
set_local_dist(guile_DIST_local
|
|
|
|
CMakeLists.txt
|
|
|
|
core-utils.scm
|
2022-10-02 11:47:35 -05:00
|
|
|
options.scm
|
2019-10-01 05:51:38 -05:00
|
|
|
${guile_SOURCES}
|
2019-10-05 13:06:58 -05:00
|
|
|
${guile_HEADERS}
|
|
|
|
${engine_SCHEME_0}
|
|
|
|
${engine_SCHEME_1}
|
2022-07-12 15:13:41 -05:00
|
|
|
${engine_SCHEME_2}
|
|
|
|
${app_utils_SCHEME_1}
|
|
|
|
${app_utils_SCHEME_1a}
|
|
|
|
${app_utils_SCHEME_1b}
|
|
|
|
${app_utils_SCHEME_1c}
|
|
|
|
${app_utils_SCHEME_2}
|
|
|
|
${app_utils_SCHEME_3}
|
2022-07-31 14:56:59 -05:00
|
|
|
${expressions_SCHEME}
|
2022-08-23 11:22:56 -05:00
|
|
|
gnc-optiondb.i expressions.i)
|
2019-09-30 12:33:58 -05:00
|
|
|
set(guile_DIST ${guile_DIST_local} ${test_guile_DIST} PARENT_SCOPE)
|
2017-02-01 21:48:46 -06:00
|
|
|
|
2015-12-07 11:17:08 -06:00
|
|
|
|