mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-16 18:25:11 -06:00
Cutecash: Compile & link SQL backend as well (but there is no GUI for this yet)
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@18968 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
parent
d5742f24fc
commit
932eeb766d
@ -14,6 +14,10 @@ INCLUDE (GncAddSwigCommand)
|
||||
|
||||
# ############################################################
|
||||
|
||||
OPTION (WITH_SQL "Build this project with SQL (libdbi) support" OFF)
|
||||
|
||||
# ############################################################
|
||||
|
||||
# Find pkg-config
|
||||
FIND_PACKAGE (PkgConfig REQUIRED)
|
||||
|
||||
@ -83,6 +87,20 @@ ENDIF (NOT GUILE_EXECUTABLE)
|
||||
|
||||
# ############################################################
|
||||
|
||||
# libdbi
|
||||
FIND_PATH (LIBDBI_INCLUDE_PATH dbi/dbi.h)
|
||||
FIND_LIBRARY (LIBDBI_LIBRARY dbi)
|
||||
IF (WITH_SQL)
|
||||
IF (NOT LIBDBI_INCLUDE_PATH)
|
||||
MESSAGE (SEND_ERROR "Include file <dbi/dbi.h> was not found - did you install libdbi0-dev or libdbi-dev?")
|
||||
ENDIF (NOT LIBDBI_INCLUDE_PATH)
|
||||
IF (NOT LIBDBI_LIBRARY)
|
||||
MESSAGE (SEND_ERROR "Library libdbi was not found")
|
||||
ENDIF (NOT LIBDBI_LIBRARY)
|
||||
ENDIF (WITH_SQL)
|
||||
|
||||
# ############################################################
|
||||
|
||||
# Qt
|
||||
SET (QT_MIN_VERSION "4.5.0")
|
||||
FIND_PACKAGE (Qt4 REQUIRED) # find and setup Qt4 for this project
|
||||
|
@ -18,6 +18,7 @@ FILE (APPEND ${CONFIG_H} "
|
||||
#define HAVE_LIBQOF /**/
|
||||
#define HAVE_TOWUPPER 1
|
||||
#define QOF_DISABLE_DEPRECATED 1
|
||||
#define GNC_NO_LOADABLE_MODULES 1
|
||||
")
|
||||
|
||||
IF (WIN32)
|
||||
@ -137,6 +138,11 @@ ADD_SUBDIRECTORY (backend/xml)
|
||||
ADD_SUBDIRECTORY (business/business-core)
|
||||
ADD_SUBDIRECTORY (calculation)
|
||||
ADD_SUBDIRECTORY (app-utils)
|
||||
IF (WITH_SQL)
|
||||
ADD_SUBDIRECTORY (backend/dbi)
|
||||
ADD_SUBDIRECTORY (backend/sql)
|
||||
ADD_SUBDIRECTORY (business/business-core/sql)
|
||||
ENDIF (WITH_SQL)
|
||||
|
||||
ADD_SUBDIRECTORY (gnc)
|
||||
|
||||
|
30
src/backend/dbi/CMakeLists.txt
Normal file
30
src/backend/dbi/CMakeLists.txt
Normal file
@ -0,0 +1,30 @@
|
||||
# CMakeLists.txt for src/backend/dbi
|
||||
|
||||
ADD_DEFINITIONS (-DG_LOG_DOMAIN=\"gnc.backend.dbi\")
|
||||
|
||||
INCLUDE_DIRECTORIES (${GCONF2_INCLUDE_DIRS})
|
||||
INCLUDE_DIRECTORIES (${GLIB2_INCLUDE_DIRS})
|
||||
INCLUDE_DIRECTORIES (${LIBINTL_INCLUDE_PATH})
|
||||
INCLUDE_DIRECTORIES (${REGEX_INCLUDE_PATH})
|
||||
INCLUDE_DIRECTORIES (${CMAKE_BINARY_DIR}/src ) # for config.h
|
||||
INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/src ) # for gnc-ui.h
|
||||
INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/lib/libc) # for gnc-ui.h
|
||||
INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/src/libqof/qof)
|
||||
INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/src/core-utils)
|
||||
INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/src/engine)
|
||||
INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/src/backend/sql)
|
||||
|
||||
SET (libgnc_backend_dbi_SOURCES
|
||||
gnc-backend-dbi.c
|
||||
)
|
||||
SET (libgnc_backend_dbi_HEADERS
|
||||
gnc-backend-dbi.h
|
||||
)
|
||||
|
||||
# Add dependency on config.h
|
||||
SET_SOURCE_FILES_PROPERTIES (${libgnc_backend_dbi_SOURCES} PROPERTIES OBJECT_DEPENDS ${CONFIG_H})
|
||||
|
||||
ADD_LIBRARY (gnc-backend-dbi
|
||||
${libgnc_backend_dbi_SOURCES}
|
||||
${libgnc_backend_dbi_HEADERS}
|
||||
)
|
@ -1000,12 +1000,6 @@ gnc_dbi_check_sqlite3_file( const gchar *uri )
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
G_MODULE_EXPORT void
|
||||
qof_backend_module_init( void )
|
||||
{
|
||||
gnc_module_init_backend_dbi();
|
||||
}
|
||||
|
||||
void
|
||||
gnc_module_init_backend_dbi(void)
|
||||
{
|
||||
@ -1119,11 +1113,19 @@ gnc_module_init_backend_dbi(void)
|
||||
qof_log_set_level( log_module, QOF_LOG_DEBUG );
|
||||
}
|
||||
|
||||
#ifndef GNC_NO_LOADABLE_MODULES
|
||||
G_MODULE_EXPORT void
|
||||
qof_backend_module_init( void )
|
||||
{
|
||||
gnc_module_init_backend_dbi();
|
||||
}
|
||||
|
||||
G_MODULE_EXPORT void
|
||||
qof_backend_module_finalize( void )
|
||||
{
|
||||
gnc_module_finalize_backend_dbi();
|
||||
}
|
||||
#endif /* GNC_NO_LOADABLE_MODULES */
|
||||
|
||||
void
|
||||
gnc_module_finalize_backend_dbi( void )
|
||||
|
@ -38,7 +38,12 @@ void gnc_module_init_backend_dbi(void);
|
||||
* statically linked into the application. */
|
||||
void gnc_module_finalize_backend_dbi(void);
|
||||
|
||||
#ifndef GNC_NO_LOADABLE_MODULES
|
||||
/** This is the standarized initialization function of a qof_backend
|
||||
* GModule, but compiling this can be disabled by defining
|
||||
* GNC_NO_LOADABLE_MODULES. */
|
||||
G_MODULE_EXPORT void qof_backend_module_init(void);
|
||||
G_MODULE_EXPORT void qof_backend_module_finalize(void);
|
||||
#endif
|
||||
|
||||
#endif /* GNC_BACKEND_DBI_H_ */
|
||||
|
53
src/backend/sql/CMakeLists.txt
Normal file
53
src/backend/sql/CMakeLists.txt
Normal file
@ -0,0 +1,53 @@
|
||||
# CMakeLists.txt for src/backend/dbi
|
||||
|
||||
ADD_DEFINITIONS (-DG_LOG_DOMAIN=\"gnc.backend.sql\")
|
||||
|
||||
INCLUDE_DIRECTORIES (${GCONF2_INCLUDE_DIRS})
|
||||
INCLUDE_DIRECTORIES (${GLIB2_INCLUDE_DIRS})
|
||||
INCLUDE_DIRECTORIES (${LIBINTL_INCLUDE_PATH})
|
||||
INCLUDE_DIRECTORIES (${LIBGUILE_INCLUDE_PATH})
|
||||
INCLUDE_DIRECTORIES (${REGEX_INCLUDE_PATH})
|
||||
INCLUDE_DIRECTORIES (${CMAKE_BINARY_DIR}/src ) # for config.h
|
||||
INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/src ) # for gnc-ui.h
|
||||
INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/lib/libc) # for gnc-ui.h
|
||||
INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/src/libqof/qof)
|
||||
INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/src/core-utils)
|
||||
INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/src/gnc-module)
|
||||
INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/src/engine)
|
||||
|
||||
SET (libgnc_backend_sql_SOURCES
|
||||
gnc-backend-sql.c
|
||||
gnc-account-sql.c
|
||||
gnc-book-sql.c
|
||||
gnc-budget-sql.c
|
||||
gnc-commodity-sql.c
|
||||
gnc-lots-sql.c
|
||||
gnc-price-sql.c
|
||||
gnc-recurrence-sql.c
|
||||
gnc-schedxaction-sql.c
|
||||
gnc-slots-sql.c
|
||||
gnc-transaction-sql.c
|
||||
escape.c
|
||||
)
|
||||
SET (libgnc_backend_sql_HEADERS
|
||||
gnc-account-sql.h
|
||||
gnc-backend-sql.h
|
||||
gnc-book-sql.h
|
||||
gnc-budget-sql.h
|
||||
gnc-commodity-sql.h
|
||||
gnc-lots-sql.h
|
||||
gnc-price-sql.h
|
||||
gnc-recurrence-sql.h
|
||||
gnc-schedxaction-sql.h
|
||||
gnc-slots-sql.h
|
||||
gnc-transaction-sql.h
|
||||
escape.h
|
||||
)
|
||||
|
||||
# Add dependency on config.h
|
||||
SET_SOURCE_FILES_PROPERTIES (${libgnc_backend_sql_SOURCES} PROPERTIES OBJECT_DEPENDS ${CONFIG_H})
|
||||
|
||||
ADD_LIBRARY (gnc-backend-sql
|
||||
${libgnc_backend_sql_SOURCES}
|
||||
${libgnc_backend_sql_HEADERS}
|
||||
)
|
@ -1169,11 +1169,13 @@ gnc_provider_free (QofBackendProvider *prov)
|
||||
g_free (prov);
|
||||
}
|
||||
|
||||
#ifndef GNC_NO_LOADABLE_MODULES
|
||||
G_MODULE_EXPORT void
|
||||
qof_backend_module_init(void)
|
||||
{
|
||||
gnc_module_init_backend_xml();
|
||||
}
|
||||
#endif
|
||||
|
||||
void
|
||||
gnc_module_init_backend_xml(void)
|
||||
|
@ -60,9 +60,13 @@ typedef struct FileBackend_struct FileBackend;
|
||||
* statically linked into the application. */
|
||||
void gnc_module_init_backend_xml(void);
|
||||
|
||||
#ifndef GNC_NO_LOADABLE_MODULES
|
||||
/** This is the standarized initialization function of a qof_backend
|
||||
* GModule. This one simply calls gnc_module_init_backend_file(). */
|
||||
G_MODULE_EXPORT void
|
||||
qof_backend_module_init(void);
|
||||
* GModule, but compiling this can be disabled by defining
|
||||
* GNC_NO_LOADABLE_MODULES. This one simply calls
|
||||
* gnc_module_init_backend_file(). */
|
||||
G_MODULE_EXPORT
|
||||
void qof_backend_module_init(void);
|
||||
#endif
|
||||
|
||||
#endif /* GNC_BACKEND_XML_H_ */
|
||||
|
53
src/business/business-core/sql/CMakeLists.txt
Normal file
53
src/business/business-core/sql/CMakeLists.txt
Normal file
@ -0,0 +1,53 @@
|
||||
# CMakeLists.txt for src/backend/dbi
|
||||
|
||||
ADD_DEFINITIONS (-DG_LOG_DOMAIN=\"gnc.backend.sql\")
|
||||
|
||||
INCLUDE_DIRECTORIES (${GCONF2_INCLUDE_DIRS})
|
||||
INCLUDE_DIRECTORIES (${GLIB2_INCLUDE_DIRS})
|
||||
INCLUDE_DIRECTORIES (${LIBINTL_INCLUDE_PATH})
|
||||
INCLUDE_DIRECTORIES (${LIBGUILE_INCLUDE_PATH})
|
||||
INCLUDE_DIRECTORIES (${REGEX_INCLUDE_PATH})
|
||||
INCLUDE_DIRECTORIES (${CMAKE_BINARY_DIR}/src ) # for config.h
|
||||
INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/src ) # for gnc-ui.h
|
||||
INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/lib/libc) # for gnc-ui.h
|
||||
INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/src/libqof/qof)
|
||||
INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/src/gnc-module)
|
||||
INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/src/engine)
|
||||
INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/src/business/business-core)
|
||||
INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/src/backend/sql)
|
||||
|
||||
SET (libgnc_business_backend_sql_SOURCES
|
||||
gncmod-business-backend-sql.c
|
||||
gnc-address-sql.c
|
||||
gnc-bill-term-sql.c
|
||||
gnc-customer-sql.c
|
||||
gnc-employee-sql.c
|
||||
gnc-entry-sql.c
|
||||
gnc-invoice-sql.c
|
||||
gnc-job-sql.c
|
||||
gnc-order-sql.c
|
||||
gnc-owner-sql.c
|
||||
gnc-tax-table-sql.c
|
||||
gnc-vendor-sql.c
|
||||
)
|
||||
SET (libgnc_business_backend_sql_HEADERS
|
||||
gnc-address-sql.h
|
||||
gnc-bill-term-sql.h
|
||||
gnc-customer-sql.h
|
||||
gnc-employee-sql.h
|
||||
gnc-entry-sql.h
|
||||
gnc-invoice-sql.h
|
||||
gnc-job-sql.h
|
||||
gnc-order-sql.h
|
||||
gnc-owner-sql.h
|
||||
gnc-tax-table-sql.h
|
||||
gnc-vendor-sql.h
|
||||
)
|
||||
|
||||
# Add dependency on config.h
|
||||
SET_SOURCE_FILES_PROPERTIES (${libgnc_business_backend_sql_SOURCES} PROPERTIES OBJECT_DEPENDS ${CONFIG_H})
|
||||
|
||||
ADD_LIBRARY (gnc-business-backend-sql
|
||||
${libgnc_business_backend_sql_SOURCES}
|
||||
${libgnc_business_backend_sql_HEADERS}
|
||||
)
|
@ -57,6 +57,11 @@ SET (gnc_RESOURCES
|
||||
gnucash.qrc
|
||||
gtk-icons.qrc
|
||||
)
|
||||
|
||||
IF (WITH_SQL)
|
||||
ADD_DEFINITIONS (-DWITH_SQL)
|
||||
ENDIF (WITH_SQL)
|
||||
|
||||
# Generation of resource files
|
||||
QT4_ADD_RESOURCES (gnc_RESOURCE ${gnc_RESOURCES})
|
||||
|
||||
@ -93,6 +98,11 @@ ADD_EXECUTABLE (cutecash
|
||||
TARGET_LINK_LIBRARIES (cutecash business-core)
|
||||
TARGET_LINK_LIBRARIES (cutecash gnc-backend-xml)
|
||||
TARGET_LINK_LIBRARIES (cutecash app-utils calculation)
|
||||
IF (WITH_SQL)
|
||||
TARGET_LINK_LIBRARIES (cutecash gnc-business-backend-sql)
|
||||
TARGET_LINK_LIBRARIES (cutecash gnc-backend-dbi gnc-backend-sql)
|
||||
TARGET_LINK_LIBRARIES (cutecash ${LIBDBI_LIBRARY})
|
||||
ENDIF (WITH_SQL)
|
||||
TARGET_LINK_LIBRARIES (cutecash engine gnc-module core-utils qof)
|
||||
TARGET_LINK_LIBRARIES (cutecash ${GCONF2_LIBRARIES})
|
||||
TARGET_LINK_LIBRARIES (cutecash ${GTHREAD_LIBRARIES} ${GOBJECT_LIBRARIES} ${GMODULE_LIBRARIES} ${GLIB2_LIBRARIES})
|
||||
|
@ -50,6 +50,9 @@ extern "C"
|
||||
#include "backend/xml/gnc-backend-xml.h"
|
||||
#include "business/business-core/gncBusiness.h"
|
||||
#include "business/business-core/xml/gncmod-business-backend-xml.h"
|
||||
#ifdef WITH_SQL
|
||||
# include "backend/dbi/gnc-backend-dbi.h"
|
||||
#endif
|
||||
} // END extern C
|
||||
|
||||
#ifdef HAVE_GETTEXT
|
||||
@ -182,7 +185,7 @@ main(int argc, char ** argv)
|
||||
// Call the statically-linked versions of the backend init
|
||||
// functions
|
||||
gnc_module_init_backend_xml();
|
||||
//gnc_module_init_backend_dbi();
|
||||
gnc_module_init_backend_dbi();
|
||||
gnc_module_init_business_core_init();
|
||||
gnc_module_init_business_core_xml_init();
|
||||
gnc_ui_util_init();
|
||||
@ -204,7 +207,7 @@ main(int argc, char ** argv)
|
||||
|
||||
// Shutdown of the C side after all C++ was destructed already.
|
||||
gnc_exp_parser_shutdown();
|
||||
//gnc_module_finalize_backend_dbi();
|
||||
gnc_module_finalize_backend_dbi();
|
||||
qof_close();
|
||||
return r;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user