mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
CMake improvements for SWIG handling and Python bindings.
* Add ability to either create SWIG C files or use generated ones depending on BUILDING_FROM_VCS. * Add complete support for compiling Python bindings using WITH_PYTHON=YES. * Add CMakeLists.txt files to a couple more directories.
This commit is contained in:
parent
ea3862499b
commit
78ef933e44
@ -56,6 +56,7 @@ OPTION (WITH_AQBANKING "Build this project with aqbanking (online banking) suppo
|
|||||||
OPTION (WITH_GNUCASH "Build all of GnuCash, not just cutecash" ON)
|
OPTION (WITH_GNUCASH "Build all of GnuCash, not just cutecash" ON)
|
||||||
OPTION (WITH_CUTECASH "Also build cutecash" OFF)
|
OPTION (WITH_CUTECASH "Also build cutecash" OFF)
|
||||||
OPTION (WITH_OFX "compile with ofx support (needs LibOFX)" ON)
|
OPTION (WITH_OFX "compile with ofx support (needs LibOFX)" ON)
|
||||||
|
OPTION (WITH_PYTHON "enable python plugin and bindings" OFF)
|
||||||
OPTION (ENABLE_BINRELOC "compile with binary relocation support" ON)
|
OPTION (ENABLE_BINRELOC "compile with binary relocation support" ON)
|
||||||
OPTION (ENABLE_DEBUG "compile with debugging flags set" OFF)
|
OPTION (ENABLE_DEBUG "compile with debugging flags set" OFF)
|
||||||
OPTION (ENABLE_REGISTER2 "compile with register2 enabled" OFF)
|
OPTION (ENABLE_REGISTER2 "compile with register2 enabled" OFF)
|
||||||
@ -100,6 +101,19 @@ IF (SHELL_FROM_ENV) # Replacing this with IF ($ENV{SHELL}) doesn't work.
|
|||||||
SET(SHELL ${SHELL_FROM_ENV})
|
SET(SHELL ${SHELL_FROM_ENV})
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
|
# Determine whether we are building from a VCS or from a tarball
|
||||||
|
EXECUTE_PROCESS(
|
||||||
|
COMMAND ${SHELL} ${CMAKE_SOURCE_DIR}/util/gnc-vcs-info -t ${CMAKE_SOURCE_DIR}
|
||||||
|
RESULT_VARIABLE GNC_VCS_INFO_RESULT
|
||||||
|
OUTPUT_VARIABLE GNC_VCS_INFO_OUTPUT
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
|
)
|
||||||
|
|
||||||
|
SET(BUILDING_FROM_VCS "NO")
|
||||||
|
IF (GNC_VCS_INFO_RESULT EQUAL 0)
|
||||||
|
SET(BUILDING_FROM_VCS "YES")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
IF (WIN32)
|
IF (WIN32)
|
||||||
# Help Windows find the various dependencies. We assume here that the standard advice for building
|
# Help Windows find the various dependencies. We assume here that the standard advice for building
|
||||||
# GnuCash has been followed and that these dependencies live underneath something like C:/GCDEV, which
|
# GnuCash has been followed and that these dependencies live underneath something like C:/GCDEV, which
|
||||||
@ -215,8 +229,10 @@ ENDIF (WIN32)
|
|||||||
# ############################################################
|
# ############################################################
|
||||||
|
|
||||||
# SWIG
|
# SWIG
|
||||||
FIND_PACKAGE (SWIG REQUIRED)
|
IF(BUILDING_FROM_VCS)
|
||||||
INCLUDE (${SWIG_USE_FILE})
|
FIND_PACKAGE (SWIG REQUIRED)
|
||||||
|
INCLUDE (${SWIG_USE_FILE})
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
# Find Guile and determine which version we are using.
|
# Find Guile and determine which version we are using.
|
||||||
# First look for guile-2.0. If not found, try to locate guile-1.8
|
# First look for guile-2.0. If not found, try to locate guile-1.8
|
||||||
@ -325,6 +341,24 @@ ENDIF (WITH_SQL)
|
|||||||
|
|
||||||
# ############################################################
|
# ############################################################
|
||||||
|
|
||||||
|
IF (WITH_PYTHON)
|
||||||
|
FIND_PACKAGE(PythonInterp)
|
||||||
|
IF (NOT PYTHONINTERP_FOUND)
|
||||||
|
MESSAGE(SEND_ERROR "Python support enabled, but Python interpreter not found.")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
IF (PYTHON_VERSION_STRING VERSION_LESS "2.4.0")
|
||||||
|
MESSAGE(SEND_ERROR "Found python version ${PYTHON_VERSION_STRING}, but it's too old. Need python >= 2.4.0")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
FIND_PACKAGE(PythonLibs)
|
||||||
|
IF (NOT PYTHONLIBS_FOUND)
|
||||||
|
MESSAGE(SEND_ERROR "Python support enabled, but Python libraries not found.")
|
||||||
|
ENDIF()
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
FIND_PACKAGE(Perl)
|
FIND_PACKAGE(Perl)
|
||||||
|
|
||||||
if (NOT PERL_FOUND)
|
if (NOT PERL_FOUND)
|
||||||
@ -416,6 +450,7 @@ ENDIF()
|
|||||||
ADD_SUBDIRECTORY (accounts)
|
ADD_SUBDIRECTORY (accounts)
|
||||||
ADD_SUBDIRECTORY (checks)
|
ADD_SUBDIRECTORY (checks)
|
||||||
ADD_SUBDIRECTORY (doc)
|
ADD_SUBDIRECTORY (doc)
|
||||||
|
ADD_SUBDIRECTORY (packaging)
|
||||||
ADD_SUBDIRECTORY (po)
|
ADD_SUBDIRECTORY (po)
|
||||||
ADD_SUBDIRECTORY (src)
|
ADD_SUBDIRECTORY (src)
|
||||||
|
|
||||||
|
2
packaging/CMakeLists.txt
Normal file
2
packaging/CMakeLists.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
|
||||||
|
GNC_CONFIGURE(gnucash.spec.in gnucash.spec)
|
@ -171,13 +171,18 @@ IF (WITH_GNUCASH)
|
|||||||
ADD_SUBDIRECTORY (bin)
|
ADD_SUBDIRECTORY (bin)
|
||||||
ADD_SUBDIRECTORY (business/business-ledger)
|
ADD_SUBDIRECTORY (business/business-ledger)
|
||||||
ADD_SUBDIRECTORY (business/business-gnome)
|
ADD_SUBDIRECTORY (business/business-gnome)
|
||||||
|
ADD_SUBDIRECTORY (doc/design)
|
||||||
ADD_SUBDIRECTORY (gnome)
|
ADD_SUBDIRECTORY (gnome)
|
||||||
ADD_SUBDIRECTORY (gnome-utils)
|
ADD_SUBDIRECTORY (gnome-utils)
|
||||||
ADD_SUBDIRECTORY (gnome-search)
|
ADD_SUBDIRECTORY (gnome-search)
|
||||||
ADD_SUBDIRECTORY (html)
|
ADD_SUBDIRECTORY (html)
|
||||||
|
ADD_SUBDIRECTORY (optional/python-bindings)
|
||||||
ADD_SUBDIRECTORY (plugins/bi_import)
|
ADD_SUBDIRECTORY (plugins/bi_import)
|
||||||
ADD_SUBDIRECTORY (plugins/customer_import)
|
ADD_SUBDIRECTORY (plugins/customer_import)
|
||||||
ADD_SUBDIRECTORY (pixmaps)
|
ADD_SUBDIRECTORY (pixmaps)
|
||||||
|
IF (WITH_PYTHON)
|
||||||
|
ADD_SUBDIRECTORY (python)
|
||||||
|
ENDIF()
|
||||||
ADD_SUBDIRECTORY (quotes)
|
ADD_SUBDIRECTORY (quotes)
|
||||||
ADD_SUBDIRECTORY (register/ledger-core)
|
ADD_SUBDIRECTORY (register/ledger-core)
|
||||||
ADD_SUBDIRECTORY (register/register-core)
|
ADD_SUBDIRECTORY (register/register-core)
|
||||||
|
@ -36,9 +36,16 @@ SET (app_utils_HEADERS
|
|||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# Command to generate the swig-app-utils.c wrapper file
|
IF (BUILDING_FROM_VCS)
|
||||||
SET (SWIG_APP_UTILS_C ${CMAKE_CURRENT_BINARY_DIR}/swig-app-utils.c)
|
# Command to generate the swig-app-utils.c wrapper file
|
||||||
GNC_ADD_SWIG_COMMAND (${SWIG_APP_UTILS_C} ${CMAKE_CURRENT_SOURCE_DIR}/app-utils.i)
|
SET (SWIG_APP_UTILS_GUILE_C ${CMAKE_CURRENT_BINARY_DIR}/swig-app-utils-guile.c)
|
||||||
|
GNC_ADD_SWIG_COMMAND (${SWIG_APP_UTILS_GUILE_C} ${CMAKE_CURRENT_SOURCE_DIR}/app-utils.i)
|
||||||
|
SET (SWIG_APP_UTILS_PYTHON_C ${CMAKE_CURRENT_BINARY_DIR}/swig-app-utils-python.c)
|
||||||
|
GNC_ADD_SWIG_PYTHON_COMMAND (swig-app-utils-python ${SWIG_APP_UTILS_PYTHON_C} ${CMAKE_CURRENT_SOURCE_DIR}/app-utils.i)
|
||||||
|
ELSE()
|
||||||
|
SET (SWIG_APP_UTILS_GUILE_C swig-app-utils-guile.c)
|
||||||
|
SET (SWIG_APP_UTILS_PYTHON_C swig-app-utils-python.c)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
SET (app_utils_SOURCES
|
SET (app_utils_SOURCES
|
||||||
calculation/expression_parser.c
|
calculation/expression_parser.c
|
||||||
@ -66,47 +73,57 @@ SET (app_utils_SOURCES
|
|||||||
gncmod-app-utils.c
|
gncmod-app-utils.c
|
||||||
guile-util.c
|
guile-util.c
|
||||||
option-util.c
|
option-util.c
|
||||||
${SWIG_APP_UTILS_C}
|
${SWIG_APP_UTILS_GUILE_C}
|
||||||
)
|
)
|
||||||
|
|
||||||
IF (WIN32)
|
|
||||||
SET (app_utils_SOURCES ${app_utils_SOURCES} gnc-help-utils.c)
|
|
||||||
ENDIF (WIN32)
|
|
||||||
|
|
||||||
SET_SOURCE_FILES_PROPERTIES (${app_utils_SOURCES} PROPERTIES OBJECT_DEPENDS ${CONFIG_H})
|
SET_SOURCE_FILES_PROPERTIES (${app_utils_SOURCES} PROPERTIES OBJECT_DEPENDS ${CONFIG_H})
|
||||||
|
|
||||||
ADD_LIBRARY (gncmod-app-utils
|
SET(app_utils_ALL_SOURCES ${app_utils_SOURCES} ${app_utils_HEADERS} ${app_utils_noinst_HEADERS})
|
||||||
${app_utils_SOURCES}
|
SET(app_utils_ALL_LIBRARIES gncmod-engine gnc-module ${GTK2_LDFLAGS} ${LIBXML2_LDFLAGS} ${LIBXSLT_LDFLAGS})
|
||||||
${app_utils_HEADERS}
|
SET(app_utils_ALL_INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}/calculation ${LIBXML2_INCLUDE_DIRS}
|
||||||
${app_utils_noinst_HEADERS}
|
${LIBXSLT_INCLUDE_DIRS} ${GTK2_INCLUDE_DIRS})
|
||||||
)
|
|
||||||
|
|
||||||
TARGET_LINK_LIBRARIES(gncmod-app-utils gncmod-engine gnc-module
|
IF (WIN32)
|
||||||
${GTK2_LDFLAGS} ${LIBXML2_LDFLAGS} ${LIBXSLT_LDFLAGS}
|
LIST(APPEND app_utils_ALL_SOURCES gnc-help-utils.c)
|
||||||
)
|
LIST(APPEND app_utils_ALL_LIBRARIES ${HTMLHELP_LIBRARY})
|
||||||
|
LIST(APPEND app_utils_ALL_INCLUDES ${HTMLHELP_INCLUDE_PATH})
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
IF (WIN32)
|
ADD_LIBRARY (gncmod-app-utils ${app_utils_ALL_SOURCES})
|
||||||
TARGET_LINK_LIBRARIES(gncmod-app-utils ${HTMLHELP_LIBRARY})
|
TARGET_LINK_LIBRARIES(gncmod-app-utils ${app_utils_ALL_LIBRARIES})
|
||||||
ENDIF(WIN32)
|
|
||||||
|
|
||||||
TARGET_INCLUDE_DIRECTORIES (gncmod-app-utils
|
TARGET_INCLUDE_DIRECTORIES (gncmod-app-utils
|
||||||
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
|
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
PRIVATE
|
PRIVATE ${app_utils_ALL_INCLUDES}
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/calculation
|
|
||||||
${LIBXML2_INCLUDE_DIRS}
|
|
||||||
${LIBXSLT_INCLUDE_DIRS}
|
|
||||||
${HTMLHELP_INCLUDE_PATH}
|
|
||||||
${GTK2_INCLUDE_DIRS}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
TARGET_COMPILE_DEFINITIONS (gncmod-app-utils PRIVATE -DG_LOG_DOMAIN=\"gnc.app-utils\")
|
TARGET_COMPILE_DEFINITIONS (gncmod-app-utils PRIVATE -DG_LOG_DOMAIN=\"gnc.app-utils\")
|
||||||
|
|
||||||
|
|
||||||
INSTALL(TARGETS gncmod-app-utils
|
INSTALL(TARGETS gncmod-app-utils
|
||||||
LIBRARY DESTINATION lib/gnucash
|
LIBRARY DESTINATION lib/gnucash
|
||||||
ARCHIVE DESTINATION lib/gnucash
|
ARCHIVE DESTINATION lib/gnucash
|
||||||
RUNTIME DESTINATION bin
|
RUNTIME DESTINATION bin
|
||||||
)
|
)
|
||||||
|
|
||||||
|
IF (WITH_PYTHON)
|
||||||
|
ADD_LIBRARY (gncmod-app-utils-python ${app_utils_ALL_SOURCES} ${SWIG_APP_UTILS_PYTHON_C})
|
||||||
|
|
||||||
|
TARGET_LINK_LIBRARIES(gncmod-app-utils-python ${app_utils_ALL_LIBRARIES} ${PYTHON_LIBRARIES})
|
||||||
|
|
||||||
|
TARGET_INCLUDE_DIRECTORIES (gncmod-app-utils-python
|
||||||
|
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
|
PRIVATE ${app_utils_ALL_INCLUDES} ${PYTHON_INCLUDE_DIRS}
|
||||||
|
)
|
||||||
|
TARGET_COMPILE_DEFINITIONS (gncmod-app-utils-python PRIVATE -DG_LOG_DOMAIN=\"gnc.app-utils\")
|
||||||
|
|
||||||
|
INSTALL(TARGETS gncmod-app-utils-python
|
||||||
|
LIBRARY DESTINATION lib/gnucash
|
||||||
|
ARCHIVE DESTINATION lib/gnucash
|
||||||
|
RUNTIME DESTINATION bin
|
||||||
|
)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
INSTALL(FILES ${app_utils_HEADERS} DESTINATION include/gnucash)
|
INSTALL(FILES ${app_utils_HEADERS} DESTINATION include/gnucash)
|
||||||
|
|
||||||
FILE(READ ${CMAKE_SOURCE_DIR}/src/import-export/ofx/migratable-prefs-ofx.xml MIGRATABLE_PREFS_OFX)
|
FILE(READ ${CMAKE_SOURCE_DIR}/src/import-export/ofx/migratable-prefs-ofx.xml MIGRATABLE_PREFS_OFX)
|
||||||
|
@ -9,7 +9,21 @@ MACRO (GNC_ADD_SWIG_COMMAND _target _input)
|
|||||||
ADD_CUSTOM_COMMAND (
|
ADD_CUSTOM_COMMAND (
|
||||||
OUTPUT ${_target}
|
OUTPUT ${_target}
|
||||||
DEPENDS ${_input} ${CMAKE_SOURCE_DIR}/src/base-typemaps.i ${ARGN}
|
DEPENDS ${_input} ${CMAKE_SOURCE_DIR}/src/base-typemaps.i ${ARGN}
|
||||||
COMMAND ${SWIG_EXECUTABLE} -guile ${SWIG_ARGS} -Linkage module -I${CMAKE_SOURCE_DIR}/src/libqof/qof -I${CMAKE_SOURCE_DIR}/src -o ${_target} ${_input}
|
COMMAND ${SWIG_EXECUTABLE} -guile ${SWIG_ARGS} -Linkage module -I${CMAKE_SOURCE_DIR}/src/libqof/qof -I${CMAKE_SOURCE_DIR}/src -o ${_target} ${_input}
|
||||||
)
|
)
|
||||||
|
|
||||||
ENDMACRO (GNC_ADD_SWIG_COMMAND)
|
ENDMACRO (GNC_ADD_SWIG_COMMAND)
|
||||||
|
|
||||||
|
|
||||||
|
MACRO (GNC_ADD_SWIG_PYTHON_COMMAND _target _output _input)
|
||||||
|
|
||||||
|
ADD_CUSTOM_COMMAND(OUTPUT ${_output}
|
||||||
|
|
||||||
|
COMMAND ${SWIG_EXECUTABLE} -python -Wall -Werror ${SWIG_ARGS}
|
||||||
|
-I${CMAKE_SOURCE_DIR}/src/libqof/qof -I${CMAKE_SOURCE_DIR}/src
|
||||||
|
-I${CMAKE_SOURCE_DIR}/src/engine -I${CMAKE_SOURCE_DIR}/src/app-utils
|
||||||
|
-o ${_output} ${_input}
|
||||||
|
DEPENDS ${_input} ${CMAKE_SOURCE_DIR}/src/base-typemaps.i ${ARGN}
|
||||||
|
)
|
||||||
|
ADD_CUSTOM_TARGET(${_target} ALL DEPENDS ${_output} ${CMAKE_SOURCE_DIR}/src/base-typemaps.i ${_input} ${ARGN})
|
||||||
|
ENDMACRO()
|
||||||
|
@ -1,9 +1,16 @@
|
|||||||
# CMakeLists.txt for src/core-utils
|
# CMakeLists.txt for src/core-utils
|
||||||
|
|
||||||
ADD_SUBDIRECTORY(test)
|
ADD_SUBDIRECTORY(test)
|
||||||
# Command to generate the swig-engine.c wrapper file
|
|
||||||
SET (SWIG_CORE_UTILS_C ${CMAKE_CURRENT_BINARY_DIR}/swig-core-utils.c)
|
IF (BUILDING_FROM_VCS)
|
||||||
GNC_ADD_SWIG_COMMAND (${SWIG_CORE_UTILS_C} ${CMAKE_CURRENT_SOURCE_DIR}/core-utils.i)
|
SET (SWIG_CORE_UTILS_GUILE_C ${CMAKE_CURRENT_BINARY_DIR}/swig-core-utils-guile.c)
|
||||||
|
GNC_ADD_SWIG_COMMAND (${SWIG_CORE_UTILS_GUILE_C} ${CMAKE_CURRENT_SOURCE_DIR}/core-utils.i)
|
||||||
|
SET (SWIG_CORE_UTILS_PYTHON_C ${CMAKE_CURRENT_BINARY_DIR}/swig-core-utils-python.c)
|
||||||
|
GNC_ADD_SWIG_PYTHON_COMMAND (swig-core-utils-python ${SWIG_CORE_UTILS_PYTHON_C} ${CMAKE_CURRENT_SOURCE_DIR}/core-utils.i)
|
||||||
|
ELSE()
|
||||||
|
SET(SWIG_CORE_UTILS_GUILE_C swig-core-utils-guile.c)
|
||||||
|
SET(SWIG_CORE_UTILS_PYTHON_C swig-core-utils-python.c)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
SET (core_utils_SOURCES
|
SET (core_utils_SOURCES
|
||||||
binreloc.c
|
binreloc.c
|
||||||
@ -19,7 +26,6 @@ SET (core_utils_SOURCES
|
|||||||
gnc-locale-utils.c
|
gnc-locale-utils.c
|
||||||
gnc-path.c
|
gnc-path.c
|
||||||
gnc-uri-utils.c
|
gnc-uri-utils.c
|
||||||
${SWIG_CORE_UTILS_C}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# Add dependency on config.h
|
# Add dependency on config.h
|
||||||
@ -102,33 +108,59 @@ SET(core_utils_noinst_HEADERS
|
|||||||
gnc-uri-utils.h
|
gnc-uri-utils.h
|
||||||
)
|
)
|
||||||
|
|
||||||
ADD_LIBRARY (gnc-core-utils
|
SET(core_utils_ALL_SOURCES ${core_utils_SOURCES} ${core_utils_noinst_HEADERS})
|
||||||
${core_utils_SOURCES}
|
SET(core_utils_ALL_LIBRARIES gnc-qof ${GUILE_LDFLAGS} ${GLIB2_LDFLAGS} ${GOBJECT_LDFLAGS} ${GTK_MAC_LDFLAGS})
|
||||||
${core_utils_noinst_HEADERS}
|
SET(core_utils_ALL_INCLUDES ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
)
|
${GUILE_INCLUDE_DIRS} ${GTK_MAC_INCLUDE_DIRS})
|
||||||
|
|
||||||
|
IF (MAC_INTEGRATION)
|
||||||
|
LIST(APPEND core_utils_ALL_LIBRARIES ${OSX_EXTRA_LIBRARIES})
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
ADD_LIBRARY (gnc-core-utils ${core_utils_ALL_SOURCES} ${SWIG_CORE_UTILS_GUILE_C})
|
||||||
ADD_DEPENDENCIES(gnc-core-utils gnc-vcs-info)
|
ADD_DEPENDENCIES(gnc-core-utils gnc-vcs-info)
|
||||||
|
|
||||||
TARGET_LINK_LIBRARIES(gnc-core-utils gnc-qof ${GUILE_LDFLAGS} ${GLIB2_LDFLAGS} ${GOBJECT_LDFLAGS} ${GTK_MAC_LDFLAGS})
|
TARGET_LINK_LIBRARIES(gnc-core-utils ${core_utils_ALL_LIBRARIES})
|
||||||
|
|
||||||
TARGET_COMPILE_DEFINITIONS(gnc-core-utils
|
TARGET_COMPILE_DEFINITIONS(gnc-core-utils
|
||||||
PRIVATE -DG_LOG_DOMAIN=\"gnc.core-utils\" ${GTK_MAC_CFLAGS_OTHER})
|
PRIVATE -DG_LOG_DOMAIN=\"gnc.core-utils\" ${GTK_MAC_CFLAGS_OTHER})
|
||||||
|
|
||||||
TARGET_INCLUDE_DIRECTORIES(gnc-core-utils PUBLIC
|
TARGET_INCLUDE_DIRECTORIES(gnc-core-utils PUBLIC ${core_utils_ALL_INCLUDES})
|
||||||
${CMAKE_CURRENT_BINARY_DIR} # for headers generated in core-utils build directory
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}
|
|
||||||
${GUILE_INCLUDE_DIRS}
|
|
||||||
${GTK_MAC_INCLUDE_DIRS}
|
|
||||||
)
|
|
||||||
|
|
||||||
IF (MAC_INTEGRATION)
|
IF (MAC_INTEGRATION)
|
||||||
TARGET_COMPILE_OPTIONS(gnc-core-utils PRIVATE ${OSX_EXTRA_COMPILE_FLAGS})
|
TARGET_COMPILE_OPTIONS(gnc-core-utils PRIVATE ${OSX_EXTRA_COMPILE_FLAGS})
|
||||||
TARGET_LINK_LIBRARIES(gnc-core-utils ${OSX_EXTRA_LIBRARIES})
|
|
||||||
ENDIF(MAC_INTEGRATION)
|
ENDIF(MAC_INTEGRATION)
|
||||||
|
|
||||||
INSTALL(TARGETS gnc-core-utils
|
INSTALL(TARGETS gnc-core-utils
|
||||||
LIBRARY DESTINATION lib
|
LIBRARY DESTINATION lib
|
||||||
ARCHIVE DESTINATION lib
|
ARCHIVE DESTINATION lib
|
||||||
RUNTIME DESTINATION bin)
|
RUNTIME DESTINATION bin
|
||||||
|
)
|
||||||
|
|
||||||
|
IF (WITH_PYTHON)
|
||||||
|
ADD_LIBRARY (gnc-core-utils-python ${core_utils_ALL_SOURCES} ${SWIG_CORE_UTILS_PYTHON_C})
|
||||||
|
ADD_DEPENDENCIES(gnc-core-utils-python gnc-vcs-info)
|
||||||
|
|
||||||
|
TARGET_LINK_LIBRARIES(gnc-core-utils-python ${core_utils_ALL_LIBRARIES} ${PYTHON_LIBRARIES})
|
||||||
|
|
||||||
|
TARGET_COMPILE_DEFINITIONS(gnc-core-utils-python
|
||||||
|
PRIVATE -DG_LOG_DOMAIN=\"gnc.core-utils\" ${GTK_MAC_CFLAGS_OTHER}
|
||||||
|
)
|
||||||
|
|
||||||
|
TARGET_INCLUDE_DIRECTORIES(gnc-core-utils-python PUBLIC ${core_utils_ALL_INCLUDES} ${PYTHON_INCLUDE_DIRS})
|
||||||
|
|
||||||
|
IF (MAC_INTEGRATION)
|
||||||
|
TARGET_COMPILE_OPTIONS(gnc-core-utils-python PRIVATE ${OSX_EXTRA_COMPILE_FLAGS})
|
||||||
|
ENDIF(MAC_INTEGRATION)
|
||||||
|
|
||||||
|
INSTALL(TARGETS gnc-core-utils-python
|
||||||
|
LIBRARY DESTINATION lib
|
||||||
|
ARCHIVE DESTINATION lib
|
||||||
|
RUNTIME DESTINATION bin
|
||||||
|
)
|
||||||
|
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
# No headers to install
|
# No headers to install
|
||||||
|
|
||||||
# Scheme
|
# Scheme
|
||||||
|
38
src/doc/design/CMakeLists.txt
Normal file
38
src/doc/design/CMakeLists.txt
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
|
||||||
|
SET(gnucash_design_TEXINFOS
|
||||||
|
component-manager.texi
|
||||||
|
concept-index.texi
|
||||||
|
engine.texi
|
||||||
|
fdl.texi
|
||||||
|
function-index.texi
|
||||||
|
intro.texi
|
||||||
|
register.texi
|
||||||
|
reports.texi
|
||||||
|
top-level.texi
|
||||||
|
type-index.texi
|
||||||
|
user-preferences.texi
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
EXECUTE_PROCESS(COMMAND date +%e OUTPUT_VARIABLE CURRENT_DATE OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
EXECUTE_PROCESS(COMMAND date +%B OUTPUT_VARIABLE CURRENT_MONTH OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
EXECUTE_PROCESS(COMMAND date +%Y OUTPUT_VARIABLE CURRENT_YEAR OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
SET(UPDATED "${CURRENT_DATE} ${CURRENT_MONTH} ${CURRENT_YEAR}")
|
||||||
|
SET(UPDATED_MONTH "${CURRENT_MONTH} ${CURRENT_YEAR}")
|
||||||
|
|
||||||
|
SET(VERSION_TEXI_IN
|
||||||
|
"@set UPDATED ${UPDATED}
|
||||||
|
@set UPDATED-MONTH ${UPDATED_MONTH}
|
||||||
|
@set EDITION ${VERSION}
|
||||||
|
@set VERSION ${VERSION}
|
||||||
|
")
|
||||||
|
|
||||||
|
FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/version.texi ${VERSION_TEXI_IN})
|
||||||
|
|
||||||
|
FILE(TO_NATIVE_PATH "${CMAKE_CURRENT_BINARY_DIR}" TEXI_BINARY_DIR)
|
||||||
|
FILE(TO_NATIVE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/gnucash-design.texi" TEXI_SOURCE_FILE)
|
||||||
|
|
||||||
|
ADD_CUSTOM_TARGET(gnucash-design.texi ALL
|
||||||
|
COMMAND makeinfo -I ${TEXI_BINARY_DIR} ${TEXI_SOURCE_FILE}
|
||||||
|
DEPENDS ${gnucash_design_TEXINFOS}
|
||||||
|
)
|
@ -73,9 +73,13 @@ SET (engine_HEADERS
|
|||||||
gncVendorP.h
|
gncVendorP.h
|
||||||
)
|
)
|
||||||
|
|
||||||
# Command to generate the swig-engine.c wrapper file
|
IF (BUILDING_FROM_VCS)
|
||||||
SET (SWIG_ENGINE_C ${CMAKE_CURRENT_BINARY_DIR}/swig-engine.c)
|
# Command to generate the swig-engine.c wrapper file
|
||||||
GNC_ADD_SWIG_COMMAND (${SWIG_ENGINE_C} ${CMAKE_CURRENT_SOURCE_DIR}/engine.i ${engine_HEADERS})
|
SET (SWIG_ENGINE_C ${CMAKE_CURRENT_BINARY_DIR}/swig-engine.c)
|
||||||
|
GNC_ADD_SWIG_COMMAND (${SWIG_ENGINE_C} ${CMAKE_CURRENT_SOURCE_DIR}/engine.i ${engine_HEADERS})
|
||||||
|
ELSE()
|
||||||
|
SET (SWIG_ENGINE_C swig-engine.c)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
# Command to generate the iso-4217-currencies.c file
|
# Command to generate the iso-4217-currencies.c file
|
||||||
SET (ISO_4217_C ${CMAKE_CURRENT_BINARY_DIR}/iso-4217-currencies.c)
|
SET (ISO_4217_C ${CMAKE_CURRENT_BINARY_DIR}/iso-4217-currencies.c)
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
# CMakeLists.txt for src/gnc-module
|
# CMakeLists.txt for src/gnc-module
|
||||||
ADD_SUBDIRECTORY(test)
|
ADD_SUBDIRECTORY(test)
|
||||||
|
|
||||||
# Command to generate the swig-engine.c wrapper file
|
IF (BUILDING_FROM_VCS)
|
||||||
SET (SWIG_GNC_MODULE_C ${CMAKE_CURRENT_BINARY_DIR}/swig-gnc-module.c)
|
# Command to generate the swig-engine.c wrapper file
|
||||||
GNC_ADD_SWIG_COMMAND (${SWIG_GNC_MODULE_C} ${CMAKE_CURRENT_SOURCE_DIR}/gnc-module.i)
|
SET (SWIG_GNC_MODULE_C ${CMAKE_CURRENT_BINARY_DIR}/swig-gnc-module.c)
|
||||||
|
GNC_ADD_SWIG_COMMAND (${SWIG_GNC_MODULE_C} ${CMAKE_CURRENT_SOURCE_DIR}/gnc-module.i)
|
||||||
|
ELSE()
|
||||||
|
SET (SWIG_GNC_MODULE_C swig-gnc-module.c)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
SET (gnc_module_SOURCES
|
SET (gnc_module_SOURCES
|
||||||
gnc-module.c
|
gnc-module.c
|
||||||
|
@ -1,6 +1,10 @@
|
|||||||
|
|
||||||
SET (SWIG_BAR_C ${CMAKE_CURRENT_BINARY_DIR}/swig-bar.c)
|
IF (BUILDING_FROM_VCS)
|
||||||
GNC_ADD_SWIG_COMMAND (${SWIG_BAR_C} ${CMAKE_CURRENT_SOURCE_DIR}/bar.i bar.h)
|
SET (SWIG_BAR_C ${CMAKE_CURRENT_BINARY_DIR}/swig-bar.c)
|
||||||
|
GNC_ADD_SWIG_COMMAND (${SWIG_BAR_C} ${CMAKE_CURRENT_SOURCE_DIR}/bar.i bar.h)
|
||||||
|
ELSE()
|
||||||
|
SET (SWIG_BAR_C swig-bar.c)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
ADD_LIBRARY(bar EXCLUDE_FROM_ALL bar.c bar.h)
|
ADD_LIBRARY(bar EXCLUDE_FROM_ALL bar.c bar.h)
|
||||||
ADD_LIBRARY(gncmodbar EXCLUDE_FROM_ALL gnc-mod-bar.c)
|
ADD_LIBRARY(gncmodbar EXCLUDE_FROM_ALL gnc-mod-bar.c)
|
||||||
|
@ -1,6 +1,10 @@
|
|||||||
|
|
||||||
SET (SWIG_BAZ_C ${CMAKE_CURRENT_BINARY_DIR}/swig-baz.c)
|
IF (BUILDING_FROM_VCS)
|
||||||
GNC_ADD_SWIG_COMMAND (${SWIG_BAZ_C} ${CMAKE_CURRENT_SOURCE_DIR}/baz.i baz.h)
|
SET (SWIG_BAZ_C ${CMAKE_CURRENT_BINARY_DIR}/swig-baz.c)
|
||||||
|
GNC_ADD_SWIG_COMMAND (${SWIG_BAZ_C} ${CMAKE_CURRENT_SOURCE_DIR}/baz.i baz.h)
|
||||||
|
ELSE()
|
||||||
|
SET (SWIG_BAZ_C swig-baz.c)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
ADD_LIBRARY(baz EXCLUDE_FROM_ALL baz.c baz.h)
|
ADD_LIBRARY(baz EXCLUDE_FROM_ALL baz.c baz.h)
|
||||||
TARGET_INCLUDE_DIRECTORIES(baz PRIVATE
|
TARGET_INCLUDE_DIRECTORIES(baz PRIVATE
|
||||||
|
@ -1,6 +1,10 @@
|
|||||||
|
|
||||||
SET (SWIG_FOO_C ${CMAKE_CURRENT_BINARY_DIR}/swig-foo.c)
|
IF (BUILDING_FROM_VCS)
|
||||||
GNC_ADD_SWIG_COMMAND (${SWIG_FOO_C} ${CMAKE_CURRENT_SOURCE_DIR}/foo.i foo.h)
|
SET (SWIG_FOO_C ${CMAKE_CURRENT_BINARY_DIR}/swig-foo.c)
|
||||||
|
GNC_ADD_SWIG_COMMAND (${SWIG_FOO_C} ${CMAKE_CURRENT_SOURCE_DIR}/foo.i foo.h)
|
||||||
|
ELSE()
|
||||||
|
SET (SWIG_FOO_C swig-foo.c)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
ADD_LIBRARY(foo EXCLUDE_FROM_ALL foo.c foo.h)
|
ADD_LIBRARY(foo EXCLUDE_FROM_ALL foo.c foo.h)
|
||||||
ADD_LIBRARY(gncmodfoo EXCLUDE_FROM_ALL gnc-mod-foo.c)
|
ADD_LIBRARY(gncmodfoo EXCLUDE_FROM_ALL gnc-mod-foo.c)
|
||||||
|
@ -5,8 +5,12 @@ ADD_SUBDIRECTORY(gtkbuilder)
|
|||||||
ADD_SUBDIRECTORY(ui)
|
ADD_SUBDIRECTORY(ui)
|
||||||
ADD_SUBDIRECTORY(test)
|
ADD_SUBDIRECTORY(test)
|
||||||
|
|
||||||
SET (SWIG_GNOME_UTILS_C ${CMAKE_CURRENT_BINARY_DIR}/swig-gnome-utils.c)
|
IF (BUILDING_FROM_VCS)
|
||||||
GNC_ADD_SWIG_COMMAND (${SWIG_GNOME_UTILS_C} ${CMAKE_CURRENT_SOURCE_DIR}/gnome-utils.i)
|
SET (SWIG_GNOME_UTILS_C ${CMAKE_CURRENT_BINARY_DIR}/swig-gnome-utils.c)
|
||||||
|
GNC_ADD_SWIG_COMMAND (${SWIG_GNOME_UTILS_C} ${CMAKE_CURRENT_SOURCE_DIR}/gnome-utils.i)
|
||||||
|
ELSE()
|
||||||
|
SET (SWIG_GNOME_UTILS_C swig-gnome-utils.c)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/gschemas/org.gnucash.warnings.gschema.xml.in.in
|
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/gschemas/org.gnucash.warnings.gschema.xml.in.in
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/gschemas/org.gnucash.warnings.gschema.xml.in)
|
${CMAKE_CURRENT_BINARY_DIR}/gschemas/org.gnucash.warnings.gschema.xml.in)
|
||||||
|
@ -39,8 +39,12 @@ SET (gnc_gnome_noinst_HEADERS
|
|||||||
window-autoclear.h
|
window-autoclear.h
|
||||||
)
|
)
|
||||||
|
|
||||||
SET (SWIG_GNOME_C ${CMAKE_CURRENT_BINARY_DIR}/swig-gnome.c)
|
IF (BUILDING_FROM_VCS)
|
||||||
GNC_ADD_SWIG_COMMAND (${SWIG_GNOME_C} ${CMAKE_CURRENT_SOURCE_DIR}/gnome.i ${gnc_gnome_HEADERS})
|
SET (SWIG_GNOME_C ${CMAKE_CURRENT_BINARY_DIR}/swig-gnome.c)
|
||||||
|
GNC_ADD_SWIG_COMMAND (${SWIG_GNOME_C} ${CMAKE_CURRENT_SOURCE_DIR}/gnome.i ${gnc_gnome_HEADERS})
|
||||||
|
ELSE()
|
||||||
|
SET (SWIG_GNOME_C swig-gnome.c)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
SET (gnc_gnome_SOURCES
|
SET (gnc_gnome_SOURCES
|
||||||
${SWIG_GNOME_C}
|
${SWIG_GNOME_C}
|
||||||
|
@ -9,8 +9,12 @@ SET (html_HEADERS
|
|||||||
gnc-html-webkit-p.h
|
gnc-html-webkit-p.h
|
||||||
)
|
)
|
||||||
|
|
||||||
SET (SWIG_GNC_HTML_C ${CMAKE_CURRENT_BINARY_DIR}/swig-gnc-html.c)
|
IF (BUILDING_FROM_VCS)
|
||||||
GNC_ADD_SWIG_COMMAND (${SWIG_GNC_HTML_C} ${CMAKE_CURRENT_SOURCE_DIR}/gnc-html.i ${gncmod_html_HEADERS})
|
SET (SWIG_GNC_HTML_C ${CMAKE_CURRENT_BINARY_DIR}/swig-gnc-html.c)
|
||||||
|
GNC_ADD_SWIG_COMMAND (${SWIG_GNC_HTML_C} ${CMAKE_CURRENT_SOURCE_DIR}/gnc-html.i ${gncmod_html_HEADERS})
|
||||||
|
ELSE()
|
||||||
|
SET (SWIG_GNC_HTML_C swig-gnc-html.c)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
SET (html_SOURCES
|
SET (html_SOURCES
|
||||||
gncmod-html.c
|
gncmod-html.c
|
||||||
|
103
src/optional/python-bindings/CMakeLists.txt
Normal file
103
src/optional/python-bindings/CMakeLists.txt
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
|
||||||
|
|
||||||
|
IF (BUILDING_FROM_VCS)
|
||||||
|
SET(SWIG_FILES ${CMAKE_CURRENT_SOURCE_DIR}/gnucash_core.i ${CMAKE_CURRENT_SOURCE_DIR}/timespec.i)
|
||||||
|
SET(GNUCASH_CORE_C_INCLUDES
|
||||||
|
${CMAKE_BINARY_DIR}/src/config.h
|
||||||
|
${CMAKE_SOURCE_DIR}/src/libqof/qof/qofsession.h
|
||||||
|
${CMAKE_SOURCE_DIR}/src/libqof/qof/qofbook.h
|
||||||
|
${CMAKE_SOURCE_DIR}/src/libqof/qof/qofbackend.h
|
||||||
|
${CMAKE_SOURCE_DIR}/src/libqof/qof/qoflog.h
|
||||||
|
${CMAKE_SOURCE_DIR}/src/libqof/qof/qofutil.h
|
||||||
|
${CMAKE_SOURCE_DIR}/src/libqof/qof/qofid.h
|
||||||
|
${CMAKE_SOURCE_DIR}/src/libqof/qof/guid.h
|
||||||
|
${CMAKE_SOURCE_DIR}/src/gnc-module/gnc-module.h
|
||||||
|
${CMAKE_SOURCE_DIR}/src/engine/gnc-engine.h
|
||||||
|
${CMAKE_SOURCE_DIR}/src/engine/Transaction.h
|
||||||
|
${CMAKE_SOURCE_DIR}/src/engine/Split.h
|
||||||
|
${CMAKE_SOURCE_DIR}/src/engine/Account.h
|
||||||
|
${CMAKE_SOURCE_DIR}/src/engine/gnc-commodity.h
|
||||||
|
${CMAKE_SOURCE_DIR}/src/engine/gnc-lot.h
|
||||||
|
${CMAKE_SOURCE_DIR}/src/libqof/qof/gnc-numeric.h
|
||||||
|
${CMAKE_SOURCE_DIR}/src/engine/gncCustomer.h
|
||||||
|
${CMAKE_SOURCE_DIR}/src/engine/gncEmployee.h
|
||||||
|
${CMAKE_SOURCE_DIR}/src/engine/gncVendor.h
|
||||||
|
${CMAKE_SOURCE_DIR}/src/engine/gncAddress.h
|
||||||
|
${CMAKE_SOURCE_DIR}/src/engine/gncBillTerm.h
|
||||||
|
${CMAKE_SOURCE_DIR}/src/engine/gncOwner.h
|
||||||
|
${CMAKE_SOURCE_DIR}/src/engine/gncInvoice.h
|
||||||
|
${CMAKE_SOURCE_DIR}/src/engine/gncJob.h
|
||||||
|
${CMAKE_SOURCE_DIR}/src/engine/gncEntry.h
|
||||||
|
${CMAKE_SOURCE_DIR}/src/engine/gncTaxTable.h
|
||||||
|
${CMAKE_SOURCE_DIR}/src/engine/gncIDSearch.h
|
||||||
|
${CMAKE_SOURCE_DIR}/src/engine/gnc-pricedb.h
|
||||||
|
${CMAKE_SOURCE_DIR}/src/app-utils/gnc-prefs-utils.h
|
||||||
|
)
|
||||||
|
|
||||||
|
SET (SWIG_GNUCASH_CORE_C ${CMAKE_CURRENT_BINARY_DIR}/gnucash_core.c)
|
||||||
|
|
||||||
|
GNC_ADD_SWIG_PYTHON_COMMAND (swig-gnucash-core ${SWIG_GNUCASH_CORE_C}
|
||||||
|
${SWIG_FILES}
|
||||||
|
${CMAKE_SOURCE_DIR}/src/base-typemaps.i
|
||||||
|
${CMAKE_SOURCE_DIR}/src/engine/engine-common.i
|
||||||
|
${GNUCASH_CORE_C_INCLUDES}
|
||||||
|
)
|
||||||
|
ELSE()
|
||||||
|
SET (SWIG_GNUCASH_CORE_C gnucash_core.c)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
IF(WITH_PYTHON)
|
||||||
|
|
||||||
|
SET(gnucash_core_c_INCLUDE_DIRS
|
||||||
|
${CMAKE_SOURCE_DIR}/src/libqof/qof
|
||||||
|
${CMAKE_SOURCE_DIR}/src
|
||||||
|
${CMAKE_SOURCE_DIR}/src/engine
|
||||||
|
${CMAKE_SOURCE_DIR}/src/gnome-utils
|
||||||
|
${CMAKE_SOURCE_DIR}/src/app-utils
|
||||||
|
${CMAKE_SOURCE_DIR}/src/gnc-module
|
||||||
|
${CMAKE_SOURCE_DIR}/src/gnome
|
||||||
|
${CMAKE_SOURCE_DIR}/src/core-utils
|
||||||
|
${CMAKE_SOURCE_DIR}/src/gnc-module
|
||||||
|
${GLIB_INCLUDE_DIRS}
|
||||||
|
${PYTHON_INCLUDE_DIRS}
|
||||||
|
)
|
||||||
|
|
||||||
|
ADD_LIBRARY(gnucash_core_c MODULE ${SWIG_GNUCASH_CORE_C})
|
||||||
|
TARGET_INCLUDE_DIRECTORIES(gnucash_core_c PRIVATE ${gnucash_core_c_INCLUDE_DIRS})
|
||||||
|
|
||||||
|
TARGET_LINK_LIBRARIES(gnucash_core_c gnc-qof gnc-module gncmod-engine gncmod-app-utils ${GLIB_LIBS} ${PYTHON_LIBRARIES})
|
||||||
|
SET_TARGET_PROPERTIES(gnucash_core_c PROPERTIES PREFIX "_")
|
||||||
|
TARGET_COMPILE_OPTIONS(gnucash_core_c PRIVATE -Wno-implicit -Wno-missing-prototypes -Wno-declaration-after-statement -Wno-missing-declarations)
|
||||||
|
|
||||||
|
ADD_EXECUTABLE(sqlite3test EXCLUDE_FROM_ALL sqlite3test.c ${SWIG_GNUCASH_CORE_C})
|
||||||
|
TARGET_LINK_LIBRARIES(sqlite3test gnc-qof gnc-module gncmod-engine gncmod-app-utils ${GLIB_LIBS} ${PYTHON_LIBRARIES})
|
||||||
|
TARGET_INCLUDE_DIRECTORIES(sqlite3test PRIVATE ${gnucash_core_c_INCLUDE_DIRS})
|
||||||
|
TARGET_COMPILE_OPTIONS(sqlite3test PRIVATE -Wno-implicit -Wno-missing-prototypes -Wno-declaration-after-statement -Wno-missing-declarations)
|
||||||
|
|
||||||
|
ADD_TEST(NAME sqlite3test COMMAND sqlite3test)
|
||||||
|
ADD_DEPENDENCIES(check sqlite3test)
|
||||||
|
|
||||||
|
|
||||||
|
# Determine where to install the python libraries.
|
||||||
|
EXECUTE_PROCESS(
|
||||||
|
COMMAND ${PYTHON_EXECUTABLE} -c "import sysconfig; print sysconfig.get_path('platlib', vars = { 'platbase' : '${CMAKE_INSTALL_PREFIX}' } )"
|
||||||
|
RESULT_VARIABLE PYTHON_SYSCONFIG_RESULT
|
||||||
|
OUTPUT_VARIABLE PYTHON_SYSCONFIG_OUTPUT
|
||||||
|
ERROR_VARIABLE PYTHON_SYSCONFIG_ERROR
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
|
ERROR_STRIP_TRAILING_WHITESPACE
|
||||||
|
)
|
||||||
|
IF (PYTHON_SYSCONFIG_RESULT)
|
||||||
|
MESSAGE(SEND_ERROR "Could not determine Python site-package directory:\n${PYTHON_SYSCONFIG_ERROR}")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
INSTALL(TARGETS gnucash_core_c
|
||||||
|
LIBRARY DESTINATION ${PYTHON_SYSCONFIG_OUTPUT}/gnucash
|
||||||
|
ARCHIVE DESTINATION ${PYTHON_SYSCONFIG_OUTPUT}/gnucash
|
||||||
|
)
|
||||||
|
INSTALL(FILES __init__.py function_class.py gnucash_business.py gnucash_core.py
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/gnucash_core_c.py
|
||||||
|
DESTINATION ${PYTHON_SYSCONFIG_OUTPUT}/gnucash
|
||||||
|
)
|
||||||
|
|
||||||
|
ENDIF()
|
@ -62,6 +62,7 @@
|
|||||||
#include "Split.h"
|
#include "Split.h"
|
||||||
#include "Account.h"
|
#include "Account.h"
|
||||||
#include "gnc-commodity.h"
|
#include "gnc-commodity.h"
|
||||||
|
#include "gnc-environment.h"
|
||||||
#include "gnc-lot.h"
|
#include "gnc-lot.h"
|
||||||
#include "gnc-numeric.h"
|
#include "gnc-numeric.h"
|
||||||
#include "gncCustomer.h"
|
#include "gncCustomer.h"
|
||||||
|
17
src/python/CMakeLists.txt
Normal file
17
src/python/CMakeLists.txt
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
# handle pycons directory
|
||||||
|
|
||||||
|
SET(gncmod_python_SOURCES gncmod-python.c)
|
||||||
|
|
||||||
|
ADD_LIBRARY(gncmod-python ${gncmod_python_SOURCES})
|
||||||
|
TARGET_LINK_LIBRARIES(gncmod-python gnc-module gnc-core-utils-python gncmod-app-utils-python
|
||||||
|
${PYTHON_LIBRARIES} ${GLIB_LIBS}) # ${PYTHON_EXTRA_LIBS}
|
||||||
|
TARGET_INCLUDE_DIRECTORIES(gncmod-python
|
||||||
|
PRIVATE ${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/core_utils ${CMAKE_SOURCE_DIR}/gnc-module ${PYTHON_INCLUDE_DIR})
|
||||||
|
TARGET_COMPILE_OPTIONS(gncmod-python PRIVATE -DG_LOG_DOMAIN=\"gnc.python\")
|
||||||
|
INSTALL(TARGETS gncmod-python
|
||||||
|
LIBRARY DESTINATION lib/gnucash
|
||||||
|
ARCHIVE DESTINATION lib/gnucash
|
||||||
|
RUNTIME DESTINATION bin
|
||||||
|
)
|
||||||
|
|
||||||
|
INSTALL(FILES init.py DESTINATION share/python)
|
@ -8,8 +8,12 @@ SET (report_gnome_HEADERS
|
|||||||
window-report.h
|
window-report.h
|
||||||
)
|
)
|
||||||
|
|
||||||
SET (SWIG_REPORT_GNOME_C ${CMAKE_CURRENT_BINARY_DIR}/swig-report-gnome.c)
|
IF (BUILDING_FROM_VCS)
|
||||||
GNC_ADD_SWIG_COMMAND (${SWIG_REPORT_GNOME_C} ${CMAKE_CURRENT_SOURCE_DIR}/report-gnome.i ${report_gnome_HEADERS})
|
SET (SWIG_REPORT_GNOME_C ${CMAKE_CURRENT_BINARY_DIR}/swig-report-gnome.c)
|
||||||
|
GNC_ADD_SWIG_COMMAND (${SWIG_REPORT_GNOME_C} ${CMAKE_CURRENT_SOURCE_DIR}/report-gnome.i ${report_gnome_HEADERS})
|
||||||
|
ELSE()
|
||||||
|
SET (SWIG_REPORT_GNOME_C swig-report-gnome.c)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
SET (report_gnome_SOURCES
|
SET (report_gnome_SOURCES
|
||||||
${SWIG_REPORT_GNOME_C}
|
${SWIG_REPORT_GNOME_C}
|
||||||
|
@ -4,8 +4,13 @@ SET (report_system_HEADERS
|
|||||||
gnc-report.h
|
gnc-report.h
|
||||||
)
|
)
|
||||||
|
|
||||||
SET (SWIG_REPORT_SYSTEM_C ${CMAKE_CURRENT_BINARY_DIR}/swig-report-system.c)
|
IF (BUILDING_FROM_VCS)
|
||||||
GNC_ADD_SWIG_COMMAND (${SWIG_REPORT_SYSTEM_C} ${CMAKE_CURRENT_SOURCE_DIR}/report-system.i ${report_system_HEADERS})
|
SET (SWIG_REPORT_SYSTEM_C ${CMAKE_CURRENT_BINARY_DIR}/swig-report-system.c)
|
||||||
|
GNC_ADD_SWIG_COMMAND (${SWIG_REPORT_SYSTEM_C} ${CMAKE_CURRENT_SOURCE_DIR}/report-system.i ${report_system_HEADERS})
|
||||||
|
ELSE()
|
||||||
|
SET (SWIG_REPORT_SYSTEM_C swig-report-system.c)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
|
||||||
SET (report_system_SOURCES
|
SET (report_system_SOURCES
|
||||||
${SWIG_REPORT_SYSTEM_C}
|
${SWIG_REPORT_SYSTEM_C}
|
||||||
|
@ -25,16 +25,28 @@ IF (UNIX)
|
|||||||
TARGET_COMPILE_OPTIONS(test-core PRIVATE -fPIC)
|
TARGET_COMPILE_OPTIONS(test-core PRIVATE -fPIC)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
SET (SWIG_UNITTEST_SUPPORT_GUILE_C ${CMAKE_CURRENT_BINARY_DIR}/swig-unittest-support-guile.c)
|
IF (BUILDING_FROM_VCS)
|
||||||
GNC_ADD_SWIG_COMMAND (${SWIG_UNITTEST_SUPPORT_GUILE_C}
|
SET (SWIG_UNITTEST_SUPPORT_GUILE_C ${CMAKE_CURRENT_BINARY_DIR}/swig-unittest-support-guile.c)
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/unittest-support.i ${test_core_HEADERS})
|
GNC_ADD_SWIG_COMMAND (${SWIG_UNITTEST_SUPPORT_GUILE_C}
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/unittest-support.i ${test_core_HEADERS})
|
||||||
|
SET (SWIG_UNITTEST_SUPPORT_PYTHON_C ${CMAKE_CURRENT_BINARY_DIR}/swig-unittest-support-python.c)
|
||||||
|
GNC_ADD_SWIG_PYTHON_COMMAND (swig-unittest-support-python ${SWIG_UNITTEST_SUPPORT_PYTHON_C} ${CMAKE_CURRENT_SOURCE_DIR}/unittest-support.i)
|
||||||
|
ELSE()
|
||||||
|
SET (SWIG_UNITTEST_SUPPORT_GUILE_C swig-unittest-support-guile.c)
|
||||||
|
SET (SWIG_UNITTEST_SUPPORT_PYTHON_C swig-unittest-support-python.c)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
|
||||||
SET(test_core_guile_SOURCES ${SWIG_UNITTEST_SUPPORT_GUILE_C})
|
ADD_LIBRARY(test-core-guile ${SWIG_UNITTEST_SUPPORT_GUILE_C})
|
||||||
|
|
||||||
ADD_LIBRARY(test-core-guile ${test_core_guile_SOURCES})
|
|
||||||
TARGET_LINK_LIBRARIES(test-core-guile test-core ${GUILE_LDFLAGS} ${GLIB2_LDFLAGS})
|
TARGET_LINK_LIBRARIES(test-core-guile test-core ${GUILE_LDFLAGS} ${GLIB2_LDFLAGS})
|
||||||
|
|
||||||
|
IF (WITH_PYTHON)
|
||||||
|
ADD_LIBRARY(unittest_support MODULE ${SWIG_UNITTEST_SUPPORT_PYTHON_C})
|
||||||
|
TARGET_LINK_LIBRARIES(unittest_support test-core ${PYTHON_LIBRARIES})
|
||||||
|
TARGET_INCLUDE_DIRECTORIES(unittest_support PRIVATE ${PYTHON_INCLUDE_DIRS})
|
||||||
|
SET_TARGET_PROPERTIES(unittest_support PROPERTIES PREFIX "_")
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
SET(test_core_SCHEME unittest-support.scm)
|
SET(test_core_SCHEME unittest-support.scm)
|
||||||
|
|
||||||
SET(GUILE_OUTPUT_DIR gnucash)
|
SET(GUILE_OUTPUT_DIR gnucash)
|
||||||
|
Loading…
Reference in New Issue
Block a user