gnucash/libgnucash/gnc-module/CMakeLists.txt
Geert Janssens 49a936c1fd Rewrite gnc_add_swig_guile_command to work in dist tarball as well
When building from git it will add targets to generate the swig files.
When building from tarball it will just point at the generated source
files from the tarball.
2018-01-29 19:46:44 +01:00

63 lines
1.7 KiB
CMake

# CMakeLists.txt for libgnucash/gnc-module
ADD_SUBDIRECTORY(test)
ADD_SUBDIRECTORY(example)
# Command to generate the swig-gnc-module.c wrapper file
gnc_add_swig_guile_command (swig-gnc-module-c
SWIG_GNC_MODULE_C swig-gnc-module.c
${CMAKE_CURRENT_SOURCE_DIR}/gnc-module.i
)
SET (gnc_module_SOURCES gnc-module.c)
# Add dependency on config.h
SET_SOURCE_FILES_PROPERTIES (${gnc_module_SOURCES} PROPERTIES OBJECT_DEPENDS ${CONFIG_H})
SET (gnc_module_HEADERS
gnc-module.h
gnc-module-api.h
)
ADD_LIBRARY (gnc-module
${gnc_module_SOURCES}
${gnc_module_HEADERS}
${SWIG_GNC_MODULE_C}
)
TARGET_LINK_LIBRARIES(gnc-module ${GUILE_LDFLAGS} ${GMODULE_LDFLAGS} ${GLIB2_LDFLAGS})
TARGET_COMPILE_DEFINITIONS (gnc-module PRIVATE -DG_LOG_DOMAIN=\"gnc.module\")
TARGET_INCLUDE_DIRECTORIES (gnc-module
PRIVATE ${GUILE_INCLUDE_DIRS}
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_SOURCE_DIR}/common
${CMAKE_BINARY_DIR}/common # for config.h
${GLIB2_INCLUDE_DIRS}
)
INSTALL(TARGETS gnc-module
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
INSTALL(FILES ${gnc_module_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/gnucash)
# --- Compile Scheme file(s) ---
SET (gnc_module_SCHEME gnc-module.scm)
SET(GUILE_OUTPUT_DIR gnucash)
SET(GUILE_DEPENDS gnc-module)
GNC_ADD_SCHEME_TARGETS(scm-gnc-module
"${gnc_module_SCHEME}"
${GUILE_OUTPUT_DIR}
"${GUILE_DEPENDS}"
FALSE
)
SET_LOCAL_DIST(gnc_module_DIST_local CMakeLists.txt ${gnc_module_SOURCES} ${gnc_module_HEADERS}
gnc-module.i gnc-module.scm README)
SET(gnc_module_DIST ${gnc_module_DIST_local} ${test_gnc_module_DIST} ${example_DIST} PARENT_SCOPE)