gnucash maint: Multiple changes pushed

John Ralls jralls at code.gnucash.org
Thu Aug 15 18:26:33 EDT 2019


Updated	 via  https://github.com/Gnucash/gnucash/commit/8eb3819a (commit)
	 via  https://github.com/Gnucash/gnucash/commit/1b4e4812 (commit)
	from  https://github.com/Gnucash/gnucash/commit/24d45766 (commit)



commit 8eb3819a3c96ddc5df55f9358ddc1a55ae2645e7
Merge: 24d457661 1b4e48129
Author: John Ralls <jralls at ceridwen.us>
Date:   Thu Aug 15 15:18:07 2019 -0700

    Merge Christian Gruber's 'rework_gtest_src' into maint.


commit 1b4e481296d7b836fcbb6f86de46bc9faba84ef0
Author: Christian Gruber <christian.gruber at posteo.de>
Date:   Thu Aug 15 23:20:45 2019 +0200

    Add gtest_main.cc to libgtest.a
    
    Currently when compiling GoogleTest from source code, source file
    gtest_main.cc from GoogleTest repository is not compiled into any
    library as in GoogleTest repository, where it is compiled into
    libgtest_main.a. Instead gtest_main.cc is added to source file list
    GTEST_SRC, which is then added to the list of source files of every
    single GoogleTest based test application.
    
    To simplify this gtest_main.cc is added to the source file list of
    target gtest now. Additionally GTEST_SRC is merged into
    lib_gtest_SOURCES, since both variables defined source files for
    GoogleTest libraries.
    
    Now target gtest generates library libgtest.a, which already contains
    the main function from source file gtest_main.cc. This is different to
    GoogleTest build system, where both are separated into two independent
    libraries libgtest.a and libgtest_main.a.

diff --git a/common/cmake_modules/GncAddTest.cmake b/common/cmake_modules/GncAddTest.cmake
index b5f4162f3..dbf475b22 100644
--- a/common/cmake_modules/GncAddTest.cmake
+++ b/common/cmake_modules/GncAddTest.cmake
@@ -129,7 +129,10 @@ function(gnc_gtest_configure)
       set(GTEST_LIB "${GTEST_MAIN_LIB};${GTEST_SHARED_LIB}" PARENT_SCOPE)
       unset(GTEST_SRC_DIR CACHE)
     else()
-      set(GTEST_SRC "${GTEST_SRC_DIR}/src/gtest_main.cc" PARENT_SCOPE)
+      set(lib_gtest_SOURCES
+        "${GTEST_SRC_DIR}/src/gtest_main.cc"
+        "${GTEST_SRC_DIR}/src/gtest-all.cc"
+        PARENT_SCOPE)
       set(GTEST_LIB "${CMAKE_BINARY_DIR}/common/test-core/libgtest.a" PARENT_SCOPE)
     endif()
   else()
diff --git a/common/test-core/CMakeLists.txt b/common/test-core/CMakeLists.txt
index 9a757ad61..a2fe5b15f 100644
--- a/common/test-core/CMakeLists.txt
+++ b/common/test-core/CMakeLists.txt
@@ -69,7 +69,8 @@ gnc_add_scheme_targets(scm-test-core
 add_dependencies(check scm-test-core)
 
 if(NOT GTEST_SHARED_LIB)
-  set (lib_gtest_SOURCES ${GTEST_SRC_DIR}/src/gtest-all.cc)
+  # in contrast to GoogleTest build system libraries libgtest.a and libgtest_main.a
+  # are combined to one library libtest.a here
   add_library(gtest STATIC  ${lib_gtest_SOURCES})
   if(APPLE)
     target_compile_options(gtest PRIVATE -Wno-missing-prototypes)
diff --git a/gnucash/import-export/csv-imp/test/CMakeLists.txt b/gnucash/import-export/csv-imp/test/CMakeLists.txt
index 1c0761cf3..e9dc7bb9b 100644
--- a/gnucash/import-export/csv-imp/test/CMakeLists.txt
+++ b/gnucash/import-export/csv-imp/test/CMakeLists.txt
@@ -19,15 +19,13 @@ if (NOT WIN32)
     ${GTEST_INCLUDE_DIR})
 
   set(test_tokenizer_SOURCES
-    test-tokenizer.cpp
-    ${GTEST_SRC})
+    test-tokenizer.cpp)
   gnc_add_test(test-tokenizer "${test_tokenizer_SOURCES}"
     gtest_csv_imp_INCLUDES gtest_csv_imp_LIBS
     SRCDIR=${CMAKE_SOURCE_DIR}/gnucash/import-export/csv-imp/test)
 
   set(test_tx_import_SOURCES
-    test-tx-import.cpp
-    ${GTEST_SRC})
+    test-tx-import.cpp)
   gnc_add_test(test-tx_import "${test_tx_import_SOURCES}"
     gtest_csv_imp_INCLUDES gtest_csv_imp_LIBS)
 endif()
diff --git a/libgnucash/core-utils/test/CMakeLists.txt b/libgnucash/core-utils/test/CMakeLists.txt
index 342078797..6da6d16a5 100644
--- a/libgnucash/core-utils/test/CMakeLists.txt
+++ b/libgnucash/core-utils/test/CMakeLists.txt
@@ -47,8 +47,7 @@ set(test_gnc_path_util_SOURCES
   ${MODULEPATH}/binreloc.c
   ${MODULEPATH}/gnc-filepath-utils.cpp
   ${MODULEPATH}/gnc-locale-utils.cpp
-  gtest-path-utilities.cpp
-  ${GTEST_SRC})
+  gtest-path-utilities.cpp)
 
 gnc_add_test(test-gnc-path-util "${test_gnc_path_util_SOURCES}"
   gtest_core_utils_INCLUDES gtest_core_utils_LIBS "GNC_UNINSTALLED=yes")
diff --git a/libgnucash/engine/test/CMakeLists.txt b/libgnucash/engine/test/CMakeLists.txt
index 1f84c4d6c..b1b58f6c6 100644
--- a/libgnucash/engine/test/CMakeLists.txt
+++ b/libgnucash/engine/test/CMakeLists.txt
@@ -122,30 +122,26 @@ endif (WIN32)
 
 set(test_gnc_guid_SOURCES
   ${MODULEPATH}/guid.cpp
-  test-gnc-guid.cpp
-  ${GTEST_SRC})
+  test-gnc-guid.cpp)
 gnc_add_test(test-gnc-guid "${test_gnc_guid_SOURCES}"
   gtest_engine_INCLUDES gtest_old_engine_LIBS)
 
 set(test_kvp_value_SOURCES
   ${MODULEPATH}/kvp-value.cpp
   test-kvp-value.cpp
-  test-kvp-frame.cpp
-  ${GTEST_SRC})
+  test-kvp-frame.cpp)
 gnc_add_test(test-kvp-value "${test_kvp_value_SOURCES}"
   gtest_engine_INCLUDES gtest_old_engine_LIBS)
 
 set(test_qofsession_SOURCES
   ${MODULEPATH}/qofsession.cpp
-  test-qofsession.cpp
-  ${GTEST_SRC})
+  test-qofsession.cpp)
 gnc_add_test(test-qofsession "${test_qofsession_SOURCES}"
   gtest_engine_INCLUDES gtest_old_engine_LIBS)
 
 set(test_gnc_int128_SOURCES
   ${MODULEPATH}/gnc-int128.cpp
-  gtest-gnc-int128.cpp
-  ${GTEST_SRC})
+  gtest-gnc-int128.cpp)
 gnc_add_test(test-gnc-int128 "${test_gnc_int128_SOURCES}"
   gtest_engine_INCLUDES gtest_qof_LIBS)
 
@@ -159,8 +155,7 @@ set(test_gnc_rational_SOURCES
   ${MODULEPATH}/qoflog.cpp
   ${CMAKE_SOURCE_DIR}/libgnucash/core-utils/gnc-locale-utils.cpp
   ${gtest_engine_win32_SOURCES}
-  gtest-gnc-rational.cpp
-  ${GTEST_SRC})
+  gtest-gnc-rational.cpp)
 
 gnc_add_test(test-gnc-rational "${test_gnc_rational_SOURCES}"
   gtest_engine_INCLUDES gtest_qof_LIBS)
@@ -175,15 +170,13 @@ set(test_gnc_numeric_SOURCES
   ${MODULEPATH}/qoflog.cpp
   ${CMAKE_SOURCE_DIR}/libgnucash/core-utils/gnc-locale-utils.cpp
   ${gtest_engine_win32_SOURCES}
-  gtest-gnc-numeric.cpp
-  ${GTEST_SRC})
+  gtest-gnc-numeric.cpp)
 gnc_add_test(test-gnc-numeric "${test_gnc_numeric_SOURCES}"
   gtest_engine_INCLUDES gtest_qof_LIBS)
 
 set(test_gnc_timezone_SOURCES
   ${MODULEPATH}/gnc-timezone.cpp
-  gtest-gnc-timezone.cpp
-  ${GTEST_SRC})
+  gtest-gnc-timezone.cpp)
 gnc_add_test(test-gnc-timezone "${test_gnc_timezone_SOURCES}"
   gtest_engine_INCLUDES gtest_old_engine_LIBS)
 
@@ -194,20 +187,17 @@ set(test_gnc_datetime_SOURCES
   ${MODULEPATH}/qoflog.cpp
   ${CMAKE_SOURCE_DIR}/libgnucash/core-utils/gnc-locale-utils.cpp
   ${gtest_engine_win32_SOURCES}
-  gtest-gnc-datetime.cpp
-  ${GTEST_SRC})
+  gtest-gnc-datetime.cpp)
 gnc_add_test(test-gnc-datetime "${test_gnc_datetime_SOURCES}"
   gtest_engine_INCLUDES gtest_qof_LIBS)
 
 set(test_import_map_SOURCES
-  gtest-import-map.cpp
-  ${GTEST_SRC})
+  gtest-import-map.cpp)
 gnc_add_test(test-import-map "${test_import_map_SOURCES}"
   gtest_engine_INCLUDES gtest_old_engine_LIBS)
 
 set(test_qofquerycore_SOURCES
-gtest-qofquerycore.cpp
-${GTEST_SRC})
+gtest-qofquerycore.cpp)
 gnc_add_test(test-qofquerycore "${test_qofquerycore_SOURCES}"
   gtest_engine_INCLUDES gtest_old_engine_LIBS)
 



Summary of changes:
 common/cmake_modules/GncAddTest.cmake             |  5 +++-
 common/test-core/CMakeLists.txt                   |  3 ++-
 gnucash/import-export/csv-imp/test/CMakeLists.txt |  6 ++---
 libgnucash/core-utils/test/CMakeLists.txt         |  3 +--
 libgnucash/engine/test/CMakeLists.txt             | 30 ++++++++---------------
 5 files changed, 19 insertions(+), 28 deletions(-)



More information about the gnucash-changes mailing list