Partial fix for Bug 787497 - Disabling options cripples dist package

WITH_OFX, WITH_SQL and WITH_AQBANKING handling is fixed. The
dist files for these features are always included in the dist
tarball.

I added code for WITH_GNUCASH=OFF to error out when trying to
create a dist tarball. Not fully tested because WITH_GNUCASH=OFF
itself does not build.

Still need to backport fixes from unstable for WITH_PYTHON=OFF.
This commit is contained in:
Rob Gowin
2017-12-02 17:59:40 -06:00
parent 0d8112bfef
commit 9dcb2037ad
10 changed files with 88 additions and 72 deletions

View File

@@ -594,6 +594,7 @@ ADD_CUSTOM_COMMAND(OUTPUT ${DIST_FILE}.gz ${DIST_FILE}.bz2
-D BUILDING_FROM_VCS=${BUILDING_FROM_VCS}
-D SHELL=${SHELL}
-D AUTOTOOLS_IN_DIST=${AUTOTOOLS_IN_DIST}
-D WITH_GNUCASH=${WITH_GNUCASH}
-P ${CMAKE_SOURCE_DIR}/src/cmake_modules/MakeDist.cmake
DEPENDS
@@ -626,8 +627,17 @@ configure_file(
add_custom_target(uninstall
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
SET_TARGET_PROPERTIES(gnc-qof gnc-core-utils gnc-module gnc-backend-sql gnc-backend-xml-utils
gnc-business-ledger gnc-gnome PROPERTIES
SET(_MODULES gnc-qof gnc-core-utils gnc-module gnc-backend-xml-utils)
IF (WITH_SQL)
LIST(APPEND _MODULES gnc-backend-sql)
ENDIF(WITH_SQL)
IF (WITH_GNUCASH)
LIST(APPEND _MODULES gnc-business-ledger gnc-gnome)
ENDIF(WITH_GNUCASH)
SET_TARGET_PROPERTIES(${_MODULES} PROPERTIES
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
IF (XCODE_VERSION)
LIBRARY_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/lib

View File

@@ -1,9 +1,7 @@
ADD_SUBDIRECTORY(xml)
IF (WITH_SQL)
ADD_SUBDIRECTORY (dbi)
ADD_SUBDIRECTORY (sql)
ENDIF (WITH_SQL)

View File

@@ -18,6 +18,7 @@ SET(backend_dbi_DIST ${backend_dbi_DIST_local} ${test_dbi_backend_DIST} PARENT_S
# Add dependency on config.h
SET_SOURCE_FILES_PROPERTIES (${backend_dbi_SOURCES} PROPERTIES OBJECT_DEPENDS ${CONFIG_H})
IF (WITH_SQL)
ADD_LIBRARY (gncmod-backend-dbi
${backend_dbi_SOURCES}
${backend_dbi_noinst_HEADERS}
@@ -33,6 +34,7 @@ INSTALL(TARGETS gncmod-backend-dbi
LIBRARY DESTINATION lib/gnucash
ARCHIVE DESTINATION lib/gnucash
RUNTIME DESTINATION bin)
# No headers to install
# FIXME: Below is a hack to create .libs/libgncmod-backend-dbi to silence some complaints
@@ -51,3 +53,4 @@ IF (NOT WIN32)
ADD_CUSTOM_TARGET(gncmod-backend-dbi-link ALL DEPENDS gncmod-backend-dbi ${_LINK_TARGET})
ENDIF()
ENDIF(WITH_SQL)

View File

@@ -25,7 +25,7 @@ SET(test_dbi_backend_HEADERS test-dbi-business-stuff.h test-dbi-stuff.h)
SET_DIST_LIST(test_dbi_backend_DIST ${test_dbi_backend_SOURCES} ${test_dbi_backend_HEADERS} test-dbi.xml CMakeLists.txt Makefile.am)
# This test does not work on Win32
IF (NOT WIN32)
IF (WITH_SQL AND NOT WIN32)
GNC_ADD_TEST(test-backend-dbi "${test_dbi_backend_SOURCES}"
BACKEND_DBI_TEST_INCLUDE_DIRS BACKEND_DBI_TEST_LIBS
)

View File

@@ -59,6 +59,8 @@ SET(backend_sql_DIST ${backend_sql_DIST_local} ${test_backend_sql_DIST} PARENT_S
# Add dependency on config.h
SET_SOURCE_FILES_PROPERTIES (${gnc_backend_sql_SOURCES} PROPERTIES OBJECT_DEPENDS ${CONFIG_H})
IF (WITH_SQL)
ADD_LIBRARY (gnc-backend-sql
${backend_sql_SOURCES}
${backend_sql_noinst_HEADERS}
@@ -74,5 +76,6 @@ INSTALL(TARGETS gnc-backend-sql
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
RUNTIME DESTINATION bin)
ENDIF(WITH_SQL)
# No headers to install

View File

@@ -15,14 +15,14 @@ SET(BACKEND_SQL_TEST_LIBS gnc-backend-sql gncmod-engine gnc-qof test-core)
SET_DIST_LIST(test_backend_sql_DIST ${test_backend_sql_SOURCES} CMakeLists.txt Makefile.am
test-column-types.c)
IF (WITH_SQL)
# This test does not actually do anything.
GNC_ADD_TEST(test-column-types test-column-types.c
BACKEND_SQL_TEST_INCLUDE_DIRS BACKEND_SQL_TEST_LIBS
)
GNC_ADD_TEST(test-sqlbe "${test_backend_sql_SOURCES}"
BACKEND_SQL_TEST_INCLUDE_DIRS BACKEND_SQL_TEST_LIBS
)
TARGET_COMPILE_DEFINITIONS(test-sqlbe PRIVATE TESTPROG=test_sqlbe)
ENDIF(WITH_SQL)

View File

@@ -181,4 +181,8 @@ FUNCTION(MAKE_DIST PACKAGE_PREFIX GNUCASH_SOURCE_DIR BUILD_SOURCE_DIR BUILDING_F
MESSAGE("\n\nDistributions ${PACKAGE_PREFIX}.tar.gz and ${PACKAGE_PREFIX}.tar.bz2 created.\n\n")
ENDFUNCTION()
IF (NOT WITH_GNUCASH)
MESSAGE(SEND_ERROR "Creation of dist tarballs not support when WITH_GNUCASH=OFF.")
ENDIF()
MAKE_DIST(${PACKAGE_PREFIX} ${GNUCASH_SOURCE_DIR} ${BUILD_SOURCE_DIR} ${BUILDING_FROM_VCS})

View File

@@ -3,16 +3,12 @@
ADD_SUBDIRECTORY(test)
# ############################################################
if (WITH_AQBANKING)
ADD_SUBDIRECTORY(aqb)
endif()
ADD_SUBDIRECTORY(csv-exp)
ADD_SUBDIRECTORY(csv-imp)
ADD_SUBDIRECTORY(gschemas)
ADD_SUBDIRECTORY(log-replay)
if (WITH_OFX)
ADD_SUBDIRECTORY(ofx)
endif()
ADD_SUBDIRECTORY(qif)
ADD_SUBDIRECTORY(qif-imp)

View File

@@ -1,6 +1,8 @@
IF (WITH_OFX)
set(ofx_GSCHEMA org.gnucash.dialogs.import.ofx.gschema.xml)
ADD_GSCHEMA_TARGETS(ofx-gschema "${ofx_GSCHEMA}")
ENDIF (WITH_OFX)
SET_DIST_LIST(ofx_gschema_DIST CMakeLists.txt Makefile.am org.gnucash.dialogs.import.ofx.gschema.xml.in.in)

View File

@@ -1,10 +1,10 @@
SET(OFX_TEST_INCLUDE_DIRS
${LIBOFX_INCLUDE_DIRS}
)
IF(WITH_OFX)
SET(OFX_TEST_INCLUDE_DIRS ${LIBOFX_INCLUDE_DIRS})
SET(OFX_TEST_LIBS)
GNC_ADD_TEST(test-link-ofx test-link.c OFX_TEST_INCLUDE_DIRS OFX_TEST_LIBS)
ENDIF(WITH_OFX)
SET_DIST_LIST(test_ofx_DIST CMakeLists.txt Makefile.am test-link.c)