gnucash/bindings/guile/CMakeLists.txt
Geert Janssens 28fa4c6465 core-utils - move wrapper code to bindings/guile
Note core-utils.i is used by both the guile and the python bindings so
it is moved up to the common bindings directory, while guile
specific changes are in bindings/guile.
2019-12-06 19:59:11 +01:00

89 lines
2.0 KiB
CMake

add_subdirectory(test)
# Command to generate the swig-core-utils-guile.c wrapper file
gnc_add_swig_guile_command (swig-core-utils-guile-c
SWIG_CORE_UTILS_GUILE_C swig-core-utils-guile.c
${CMAKE_SOURCE_DIR}/bindings/core-utils.i ${CMAKE_SOURCE_DIR}/libgnucash/core-utils
)
set(guile_HEADERS
gnc-guile-utils.h)
set(guile_SOURCES
gnc-guile-bindings.c
gnc-guile-utils.c)
add_library(gnucash-guile SHARED
${guile_SOURCES}
${guile_HEADERS}
${SWIG_CORE_UTILS_GUILE_C})
add_dependencies(gnucash-guile
swig-runtime-h)
target_include_directories(gnucash-guile
PRIVATE
${CMAKE_SOURCE_DIR}/common
${CMAKE_BINARY_DIR}/common
${CMAKE_SOURCE_DIR}/libgnucash/core-utils
${CMAKE_BINARY_DIR}/libgnucash/core-utils # For gnc-version-info.h
${GLIB2_INCLUDE_DIRS}
${GTK_MAC_INCLUDE_DIRS}
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
${GUILE_INCLUDE_DIRS})
target_link_libraries(gnucash-guile
gnc-core-utils
${GUILE_LDFLAGS}
${GLIB2_LDFLAGS}
${GOBJECT_LDFLAGS}
${GTK_MAC_LDFLAGS})
install(TARGETS gnucash-guile
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)
# Scheme
set(GUILE_DEPENDS scm-core-utils scm-gnc-module gncmod-engine)
gnc_add_scheme_targets(scm-scm
"utilities.scm"
gnucash
"${GUILE_DEPENDS}"
FALSE
)
# depends on main.scm
gnc_add_scheme_targets(price-quotes
price-quotes.scm
gnucash
"scm-scm;scm-app-utils"
FALSE)
set (core_utils_SCHEME core-utils.scm)
set(GUILE_OUTPUT_DIR gnucash)
set(GUILE_DEPENDS gnc-core-utils gnucash-guile)
gnc_add_scheme_targets(scm-core-utils
"${core_utils_SCHEME}"
${GUILE_OUTPUT_DIR}
"${GUILE_DEPENDS}"
FALSE
)
set_local_dist(guile_DIST_local
CMakeLists.txt
core-utils.scm
utilities.scm
price-quotes.scm
${guile_SOURCES}
${guile_HEADERS})
set(guile_DIST ${guile_DIST_local} ${test_guile_DIST} PARENT_SCOPE)