r21485 - gnucash/trunk - [Cutecash] Prepare cutecash for integration of the glibmm wrappers of the engine objects.

Christian Stimming cstim at code.gnucash.org
Mon Oct 24 03:59:31 EDT 2011


Author: cstim
Date: 2011-10-24 03:59:30 -0400 (Mon, 24 Oct 2011)
New Revision: 21485
Trac: http://svn.gnucash.org/trac/changeset/21485

Added:
   gnucash/trunk/src/optional/gtkmm/CMakeLists.txt
Modified:
   gnucash/trunk/CMakeLists.txt
   gnucash/trunk/src/CMakeLists.txt
   gnucash/trunk/src/gnc/CMakeLists.txt
   gnucash/trunk/src/gnc/main.cpp
Log:
[Cutecash] Prepare cutecash for integration of the glibmm wrappers of the engine objects.

This would be an excellent test case for those wrappers...

Modified: gnucash/trunk/CMakeLists.txt
===================================================================
--- gnucash/trunk/CMakeLists.txt	2011-10-24 07:59:18 UTC (rev 21484)
+++ gnucash/trunk/CMakeLists.txt	2011-10-24 07:59:30 UTC (rev 21485)
@@ -43,6 +43,7 @@
 PKG_CHECK_MODULES (GOBJECT gobject-2.0>=2.20)
 PKG_CHECK_MODULES (GMODULE gmodule-2.0>=2.20)
 PKG_CHECK_MODULES (GTHREAD gthread-2.0>=2.20)
+PKG_CHECK_MODULES (GLIBMM glibmm-2.4>=2.24)
 
 IF (MSVC)
   MESSAGE (STATUS "Hint: To create the import libraries for the gnome DLLs (e.g. gconf-2.lib), use the dlltool as follows: pexports bin/libgconf-2-4.dll > lib/libgconf-2.def ; dlltool -d lib/libgconf-2.def -D bin/libgconf-2-4.dll -l lib/gconf-2.lib")

Modified: gnucash/trunk/src/CMakeLists.txt
===================================================================
--- gnucash/trunk/src/CMakeLists.txt	2011-10-24 07:59:18 UTC (rev 21484)
+++ gnucash/trunk/src/CMakeLists.txt	2011-10-24 07:59:30 UTC (rev 21485)
@@ -95,6 +95,7 @@
   ADD_SUBDIRECTORY (backend/dbi)
   ADD_SUBDIRECTORY (backend/sql)
 ENDIF (WITH_SQL)
+ADD_SUBDIRECTORY (optional/gtkmm)
 
 ADD_SUBDIRECTORY (gnc)
 

Modified: gnucash/trunk/src/gnc/CMakeLists.txt
===================================================================
--- gnucash/trunk/src/gnc/CMakeLists.txt	2011-10-24 07:59:18 UTC (rev 21484)
+++ gnucash/trunk/src/gnc/CMakeLists.txt	2011-10-24 07:59:30 UTC (rev 21485)
@@ -8,6 +8,7 @@
   ${GTHREAD_LIBRARY_DIRS}
   ${GCONF2_LIBRARY_DIRS}
   ${GUILE_LIBRARY_DIRS}
+  ${GLIBMM_LIBRARY_DIRS}
 #  ${GWENHYWFAR_LIBRARY_DIRS}
 #  ${AQBANKING_LIBRARY_DIRS}
 )
@@ -86,6 +87,7 @@
 QT4_WRAP_UI (gnc_FORMS_HEADERS ${gnc_FORMS})
 
 INCLUDE_DIRECTORIES (${GLIB2_INCLUDE_DIRS})
+INCLUDE_DIRECTORIES (${GLIBMM_INCLUDE_DIRS})
 INCLUDE_DIRECTORIES (${LIBINTL_INCLUDE_PATH})
 INCLUDE_DIRECTORIES (${REGEX_INCLUDE_PATH})
 INCLUDE_DIRECTORIES (${GUILE_INCLUDE_DIRS})
@@ -95,6 +97,7 @@
 INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/src/gnc-module) # for gnc-glib-utils.h
 INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/src/core-utils) # for gnc-glib-utils.h
 INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/src/engine) # for gnc-glib-utils.h
+INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/src/optional/gtkmm)
 INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/src/backend/xml)
 INCLUDE_DIRECTORIES (${CMAKE_BINARY_DIR}/src/engine) # for swig-runtime.h
 INCLUDE_DIRECTORIES (${CMAKE_CURRENT_BINARY_DIR}) # for ui_mainwindow.h
@@ -120,7 +123,10 @@
   TARGET_LINK_LIBRARIES (cutecash gnc-aqbanking)
 #  TARGET_LINK_LIBRARIES (cutecash ${AQBANKING_LIBRARIES} ${GWENHYWFAR_LIBRARIES})
 ENDIF (WITH_AQBANKING)
+#TARGET_LINK_LIBRARIES (cutecash libgncmod-gtkmm) # requires replacing the qt-based engine wrappers
 TARGET_LINK_LIBRARIES (cutecash engine gnc-module core-utils qof)
+
+TARGET_LINK_LIBRARIES (cutecash ${GLIBMM_LIBRARIES})
 TARGET_LINK_LIBRARIES (cutecash ${GCONF2_LIBRARIES})
 TARGET_LINK_LIBRARIES (cutecash ${GTHREAD_LIBRARIES} ${GOBJECT_LIBRARIES} ${GMODULE_LIBRARIES} ${GLIB2_LIBRARIES})
 TARGET_LINK_LIBRARIES (cutecash ${GUILE_LIBRARIES})

Modified: gnucash/trunk/src/gnc/main.cpp
===================================================================
--- gnucash/trunk/src/gnc/main.cpp	2011-10-24 07:59:18 UTC (rev 21484)
+++ gnucash/trunk/src/gnc/main.cpp	2011-10-24 07:59:30 UTC (rev 21485)
@@ -58,6 +58,11 @@
 #  include <locale.h>
 #endif
 
+// Glibmm includes
+#include <glibmm.h>
+#include "gncmm/wrap_init.hpp"
+
+// Qt includes
 #include <QApplication>
 #include "mainwindow.hpp"
 
@@ -172,6 +177,10 @@
     gnc_module_system_init();
     gnc_engine_init_static(argc, argv);
 
+    // Initialize glibmm
+    Glib::init();
+    //gnc::wrap_init(); // requires replacing the qt-based engine wrappers
+
     // Call the statically-linked versions of the backend init
     // functions
     gnc_module_init_backend_xml();

Added: gnucash/trunk/src/optional/gtkmm/CMakeLists.txt
===================================================================
--- gnucash/trunk/src/optional/gtkmm/CMakeLists.txt	                        (rev 0)
+++ gnucash/trunk/src/optional/gtkmm/CMakeLists.txt	2011-10-24 07:59:30 UTC (rev 21485)
@@ -0,0 +1,50 @@
+# CMakeLists.txt for src/optional/gtkmm
+
+ADD_DEFINITIONS (-DG_LOG_DOMAIN=\"gnc.gtkmm\")
+
+INCLUDE_DIRECTORIES (${GLIB2_INCLUDE_DIRS})
+INCLUDE_DIRECTORIES (${GLIBMM_INCLUDE_DIRS})
+INCLUDE_DIRECTORIES (${LIBINTL_INCLUDE_PATH})
+INCLUDE_DIRECTORIES (${REGEX_INCLUDE_PATH})
+INCLUDE_DIRECTORIES (${GUILE_INCLUDE_DIRS})
+INCLUDE_DIRECTORIES (${CMAKE_BINARY_DIR}/src ) # for config.h
+INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/src ) # for gnc-ui.h
+INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/src/libqof/qof) # for qof.h
+INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/src/gnc-module) # for gnc-glib-utils.h
+INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/src/core-utils) # for gnc-glib-utils.h
+INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/src/engine) # for gnc-glib-utils.h
+INCLUDE_DIRECTORIES (${CMAKE_SOURCE_DIR}/src/backend/xml)
+INCLUDE_DIRECTORIES (${CMAKE_BINARY_DIR}/src/engine) # for swig-runtime.h
+
+SET (libgncmod_gtkmm_HEADERS
+  gncmm/Account.hpp
+  gncmm/Book.hpp
+  gncmm/Commodity.hpp
+  gncmm/GncInstance.hpp
+  gncmm/Numeric.hpp
+  gncmm/Split.hpp
+  gncmm/Transaction.hpp
+  gncmm/private/Account_p.hpp
+  gncmm/private/Book_p.hpp
+  gncmm/private/Commodity_p.hpp
+  gncmm/private/GncInstance_p.hpp
+  gncmm/private/Split_p.hpp
+  gncmm/private/Transaction_p.hpp
+  gncmm/wrap_init.hpp
+)
+
+SET (libgncmod_gtkmm_SOURCES
+  gncmm/Account.cpp
+  gncmm/Book.cpp
+  gncmm/Commodity.cpp
+  gncmm/GncInstance.cpp
+  gncmm/Numeric.cpp
+  gncmm/Split.cpp
+  gncmm/Transaction.cpp
+  gncmm/wrap_init.cpp
+)
+
+ADD_LIBRARY (libgncmod-gtkmm
+  ${libgncmod_gtkmm_SOURCES}
+  ${libgncmod_gtkmm_HEADERS}
+  )



More information about the gnucash-changes mailing list