mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
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:
@@ -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
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
|
||||
ADD_SUBDIRECTORY(xml)
|
||||
IF (WITH_SQL)
|
||||
ADD_SUBDIRECTORY (dbi)
|
||||
ADD_SUBDIRECTORY (sql)
|
||||
ENDIF (WITH_SQL)
|
||||
ADD_SUBDIRECTORY (dbi)
|
||||
ADD_SUBDIRECTORY (sql)
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -18,36 +18,39 @@ 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})
|
||||
|
||||
ADD_LIBRARY (gncmod-backend-dbi
|
||||
${backend_dbi_SOURCES}
|
||||
${backend_dbi_noinst_HEADERS}
|
||||
)
|
||||
|
||||
TARGET_LINK_LIBRARIES(gncmod-backend-dbi gnc-backend-sql gncmod-engine gnc-qof ${GTK2_LDFLAGS} ${LIBDBI_LIBRARY})
|
||||
|
||||
TARGET_COMPILE_DEFINITIONS(gncmod-backend-dbi PRIVATE -DG_LOG_DOMAIN=\"gnc.backend.dbi\")
|
||||
|
||||
TARGET_INCLUDE_DIRECTORIES(gncmod-backend-dbi PRIVATE ${LIBDBI_INCLUDE_PATH})
|
||||
|
||||
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
|
||||
# from guile when compiling. Eventually, fix the guile module loader to not expect items
|
||||
# to be in .libs. At this time, WIN32 does not use guile-2, so no need for this.
|
||||
|
||||
IF (NOT WIN32)
|
||||
SET(_LINK_TARGET ${CMAKE_CURRENT_BINARY_DIR}/.libs/libgncmod-backend-dbi${CMAKE_SHARED_LIBRARY_SUFFIX})
|
||||
FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/.libs)
|
||||
|
||||
ADD_CUSTOM_COMMAND(
|
||||
OUTPUT ${_LINK_TARGET}
|
||||
COMMAND ${CMAKE_COMMAND} -E create_symlink $<TARGET_FILE:gncmod-backend-dbi> ${_LINK_TARGET}
|
||||
DEPENDS gnc-backend-dbi
|
||||
IF (WITH_SQL)
|
||||
ADD_LIBRARY (gncmod-backend-dbi
|
||||
${backend_dbi_SOURCES}
|
||||
${backend_dbi_noinst_HEADERS}
|
||||
)
|
||||
|
||||
ADD_CUSTOM_TARGET(gncmod-backend-dbi-link ALL DEPENDS gncmod-backend-dbi ${_LINK_TARGET})
|
||||
ENDIF()
|
||||
TARGET_LINK_LIBRARIES(gncmod-backend-dbi gnc-backend-sql gncmod-engine gnc-qof ${GTK2_LDFLAGS} ${LIBDBI_LIBRARY})
|
||||
|
||||
TARGET_COMPILE_DEFINITIONS(gncmod-backend-dbi PRIVATE -DG_LOG_DOMAIN=\"gnc.backend.dbi\")
|
||||
|
||||
TARGET_INCLUDE_DIRECTORIES(gncmod-backend-dbi PRIVATE ${LIBDBI_INCLUDE_PATH})
|
||||
|
||||
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
|
||||
# from guile when compiling. Eventually, fix the guile module loader to not expect items
|
||||
# to be in .libs. At this time, WIN32 does not use guile-2, so no need for this.
|
||||
|
||||
IF (NOT WIN32)
|
||||
SET(_LINK_TARGET ${CMAKE_CURRENT_BINARY_DIR}/.libs/libgncmod-backend-dbi${CMAKE_SHARED_LIBRARY_SUFFIX})
|
||||
FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/.libs)
|
||||
|
||||
ADD_CUSTOM_COMMAND(
|
||||
OUTPUT ${_LINK_TARGET}
|
||||
COMMAND ${CMAKE_COMMAND} -E create_symlink $<TARGET_FILE:gncmod-backend-dbi> ${_LINK_TARGET}
|
||||
DEPENDS gnc-backend-dbi
|
||||
)
|
||||
|
||||
ADD_CUSTOM_TARGET(gncmod-backend-dbi-link ALL DEPENDS gncmod-backend-dbi ${_LINK_TARGET})
|
||||
ENDIF()
|
||||
ENDIF(WITH_SQL)
|
||||
@@ -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
|
||||
)
|
||||
|
||||
@@ -59,20 +59,23 @@ 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})
|
||||
|
||||
ADD_LIBRARY (gnc-backend-sql
|
||||
${backend_sql_SOURCES}
|
||||
${backend_sql_noinst_HEADERS}
|
||||
)
|
||||
IF (WITH_SQL)
|
||||
|
||||
TARGET_LINK_LIBRARIES(gnc-backend-sql gncmod-engine gnc-qof)
|
||||
ADD_LIBRARY (gnc-backend-sql
|
||||
${backend_sql_SOURCES}
|
||||
${backend_sql_noinst_HEADERS}
|
||||
)
|
||||
|
||||
TARGET_COMPILE_DEFINITIONS (gnc-backend-sql PRIVATE -DG_LOG_DOMAIN=\"gnc.backend.sql\")
|
||||
TARGET_LINK_LIBRARIES(gnc-backend-sql gncmod-engine gnc-qof)
|
||||
|
||||
TARGET_INCLUDE_DIRECTORIES(gnc-backend-sql PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
TARGET_COMPILE_DEFINITIONS (gnc-backend-sql PRIVATE -DG_LOG_DOMAIN=\"gnc.backend.sql\")
|
||||
|
||||
INSTALL(TARGETS gnc-backend-sql
|
||||
LIBRARY DESTINATION lib
|
||||
ARCHIVE DESTINATION lib
|
||||
RUNTIME DESTINATION bin)
|
||||
TARGET_INCLUDE_DIRECTORIES(gnc-backend-sql PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
|
||||
INSTALL(TARGETS gnc-backend-sql
|
||||
LIBRARY DESTINATION lib
|
||||
ARCHIVE DESTINATION lib
|
||||
RUNTIME DESTINATION bin)
|
||||
ENDIF(WITH_SQL)
|
||||
|
||||
# No headers to install
|
||||
|
||||
@@ -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)
|
||||
|
||||
# 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
|
||||
)
|
||||
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)
|
||||
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)
|
||||
@@ -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})
|
||||
|
||||
@@ -3,16 +3,12 @@
|
||||
ADD_SUBDIRECTORY(test)
|
||||
|
||||
# ############################################################
|
||||
if (WITH_AQBANKING)
|
||||
ADD_SUBDIRECTORY(aqb)
|
||||
endif()
|
||||
ADD_SUBDIRECTORY(aqb)
|
||||
ADD_SUBDIRECTORY(csv-exp)
|
||||
ADD_SUBDIRECTORY(csv-imp)
|
||||
ADD_SUBDIRECTORY(gschemas)
|
||||
ADD_SUBDIRECTORY(log-replay)
|
||||
if (WITH_OFX)
|
||||
ADD_SUBDIRECTORY(ofx)
|
||||
endif()
|
||||
ADD_SUBDIRECTORY(ofx)
|
||||
ADD_SUBDIRECTORY(qif)
|
||||
ADD_SUBDIRECTORY(qif-imp)
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
|
||||
set(ofx_GSCHEMA org.gnucash.dialogs.import.ofx.gschema.xml)
|
||||
IF (WITH_OFX)
|
||||
set(ofx_GSCHEMA org.gnucash.dialogs.import.ofx.gschema.xml)
|
||||
|
||||
ADD_GSCHEMA_TARGETS(ofx-gschema "${ofx_GSCHEMA}")
|
||||
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)
|
||||
@@ -1,10 +1,10 @@
|
||||
|
||||
|
||||
SET(OFX_TEST_INCLUDE_DIRS
|
||||
${LIBOFX_INCLUDE_DIRS}
|
||||
)
|
||||
SET(OFX_TEST_LIBS)
|
||||
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)
|
||||
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)
|
||||
Reference in New Issue
Block a user