Source: dcmtk Version: 3.6.2-3 Severity: minor Tags: patch upstream User: helm...@debian.org Usertags: rebootstrap
While trying to make dcmtk cross buildable, I found a little bug in the build system. It assumes that CMAKE_SYSTEM_VERSION is non-empty. This is true most of the time, but CMakeDetermineSyste.cmake says: # CMAKE_SYSTEM_VERSION - on unix this is uname -r, for windows it is empty It also happens to break cross building as debhelper does not presently pass this variable. I think the best way out here would be to quote the variable to avoid any issues. Please consider applying the attached patch. Helmut
--- dcmtk-3.6.2.orig/CMake/dcmtkPrepare.cmake +++ dcmtk-3.6.2/CMake/dcmtkPrepare.cmake @@ -380,7 +380,7 @@ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_XOPEN_SOURCE_EXTENDED -D_XOPEN_SOURCE=500 -D_NETBSD_SOURCE -D_DEFAULT_SOURCE -D_BSD_COMPAT -D_OSF_SOURCE -D_POSIX_C_SOURCE=199506L") SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_XOPEN_SOURCE_EXTENDED -D_XOPEN_SOURCE=500 -D_NETBSD_SOURCE -D_DEFAULT_SOURCE -D_BSD_COMPAT -D_OSF_SOURCE -D_POSIX_C_SOURCE=199506L") # Solaris, FreeBSD and newer versions of OpenBSD fail with these flags - ELSEIF(NOT ${CMAKE_SYSTEM_NAME} MATCHES "SunOS" AND NOT ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD" AND (NOT ${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD" OR ${CMAKE_SYSTEM_VERSION} VERSION_LESS 4)) + ELSEIF(NOT "${CMAKE_SYSTEM_NAME}" MATCHES "SunOS" AND NOT "${CMAKE_SYSTEM_NAME}" MATCHES "FreeBSD" AND (NOT "${CMAKE_SYSTEM_NAME}" MATCHES "OpenBSD" OR "${CMAKE_SYSTEM_VERSION}" VERSION_LESS 4)) # Compiler flags for all other non-Windows systems SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_XOPEN_SOURCE_EXTENDED -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_BSD_COMPAT -D_OSF_SOURCE -D_POSIX_C_SOURCE=199506L") SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_XOPEN_SOURCE_EXTENDED -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_BSD_COMPAT -D_OSF_SOURCE -D_POSIX_C_SOURCE=199506L")