mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Work around a conflict between gcc 8.0 and swig 3.0
The swig 3.0 generated python wrappers trigger a warning converted into an error issued by gcc 8.0 for using strncpy as follows: strncpy(buff, "swig_ptr: ", 10); The reason is this call will truncate the trailing null byte from the string. This appears to have been fixed in swig master already but that's not released yet so let disable the warning when compiling the swig wrappers until it is.
This commit is contained in:
@@ -524,8 +524,13 @@ endif (Boost_FOUND)
|
||||
|
||||
# Compiler flags
|
||||
|
||||
if (APPLE)
|
||||
include (CheckCCompilerFlag)
|
||||
check_c_compiler_flag(-Wstringop-truncation have_stringop_truncation)
|
||||
if (have_stringop_truncation)
|
||||
set(HAVE_STRINGOP_TRUNCATION TRUE)
|
||||
endif()
|
||||
|
||||
if (APPLE)
|
||||
include (CheckCxxCompilerFlag)
|
||||
check_cxx_compiler_flag(-Wno-unused-local-typedef, have_wno_ult)
|
||||
if (have_wno_ult)
|
||||
|
||||
@@ -66,11 +66,17 @@ if(WITH_PYTHON)
|
||||
target_link_libraries(gnucash_core_c gncmod-app-utils gncmod-engine gnc-module ${GLIB_LIBS} ${PYTHON_LIBRARIES})
|
||||
set_target_properties(gnucash_core_c PROPERTIES PREFIX "_")
|
||||
target_compile_options(gnucash_core_c PRIVATE -Wno-implicit -Wno-missing-prototypes -Wno-declaration-after-statement -Wno-missing-declarations)
|
||||
if (HAVE_STRINGOP_TRUNCATION)
|
||||
target_compile_options(gnucash_core_c PRIVATE -Wno-error=stringop-truncation)
|
||||
endif()
|
||||
|
||||
add_executable(sqlite3test EXCLUDE_FROM_ALL sqlite3test.c ${SWIG_GNUCASH_CORE_C})
|
||||
target_link_libraries(sqlite3test gncmod-app-utils gncmod-engine gnc-module ${GLIB_LIBS} ${PYTHON_LIBRARIES})
|
||||
target_include_directories(sqlite3test PRIVATE ${gnucash_core_c_INCLUDE_DIRS})
|
||||
target_compile_options(sqlite3test PRIVATE -Wno-implicit -Wno-missing-prototypes -Wno-declaration-after-statement -Wno-missing-declarations)
|
||||
if (HAVE_STRINGOP_TRUNCATION)
|
||||
target_compile_options(sqlite3test PRIVATE -Wno-error=stringop-truncation)
|
||||
endif()
|
||||
|
||||
add_test(NAME sqlite3test COMMAND sqlite3test)
|
||||
add_dependencies(check sqlite3test)
|
||||
|
||||
@@ -48,6 +48,9 @@ if (WITH_PYTHON)
|
||||
target_link_libraries(unittest_support test-core ${PYTHON_LIBRARIES})
|
||||
target_include_directories(unittest_support PRIVATE ${PYTHON_INCLUDE_DIRS})
|
||||
set_target_properties(unittest_support PROPERTIES PREFIX "_")
|
||||
if (HAVE_STRINGOP_TRUNCATION)
|
||||
target_compile_options(unittest_support PRIVATE -Wno-error=stringop-truncation)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(test_core_SCHEME unittest-support.scm)
|
||||
|
||||
@@ -116,6 +116,9 @@ if (WITH_PYTHON)
|
||||
|
||||
target_link_libraries(sw_app_utils gncmod-app-utils ${app_utils_ALL_LIBRARIES} ${PYTHON_LIBRARIES})
|
||||
set_target_properties(sw_app_utils PROPERTIES PREFIX "_")
|
||||
if (HAVE_STRINGOP_TRUNCATION)
|
||||
target_compile_options(sw_app_utils PRIVATE -Wno-error=stringop-truncation)
|
||||
endif()
|
||||
|
||||
target_include_directories (sw_app_utils
|
||||
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
|
||||
@@ -171,6 +171,10 @@ if (WITH_PYTHON)
|
||||
target_link_libraries(sw_core_utils gnc-core-utils ${core_utils_ALL_LIBRARIES} ${PYTHON_LIBRARIES})
|
||||
set_target_properties(sw_core_utils PROPERTIES PREFIX "_")
|
||||
|
||||
if (HAVE_STRINGOP_TRUNCATION)
|
||||
target_compile_options(sw_core_utils PRIVATE -Wno-error=stringop-truncation)
|
||||
endif()
|
||||
|
||||
target_include_directories (sw_core_utils
|
||||
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
PRIVATE ${core_utils_ALL_INCLUDES} ${PYTHON_INCLUDE_DIRS}
|
||||
|
||||
Reference in New Issue
Block a user