comparison Resources/CMake/GdcmConfiguration.cmake @ 217:449c816968b9

fix build using mingw
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 18 Apr 2019 16:27:25 +0200
parents a8c1d1fb478b
children abd287f2d92c
comparison
equal deleted inserted replaced
216:47d52db10369 217:449c816968b9
21 if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR 21 if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR
22 ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD" OR 22 ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD" OR
23 ${CMAKE_SYSTEM_NAME} STREQUAL "kFreeBSD") 23 ${CMAKE_SYSTEM_NAME} STREQUAL "kFreeBSD")
24 # If using gcc, build GDCM with the "-fPIC" argument to allow its 24 # If using gcc, build GDCM with the "-fPIC" argument to allow its
25 # embedding into the shared library containing the Orthanc plugin 25 # embedding into the shared library containing the Orthanc plugin
26 set(AdditionalFlags "-fPIC") 26 set(AdditionalCFlags "-fPIC")
27 set(AdditionalCxxFlags ${AdditionalCFlags})
28 elseif (${CMAKE_SYSTEM_NAME} STREQUAL "Windows" AND
29 CMAKE_COMPILER_IS_GNUCXX)
30 # Prevents error: "jump to label ‘err’ crosses initialization" of some variable
31 # within "Source/Common/gdcmCAPICryptographicMessageSyntax.cxx" if using MinGW
32 set(AdditionalCxxFlags "-fpermissive")
27 elseif (${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD") 33 elseif (${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
28 # This definition is necessary to compile 34 # This definition is necessary to compile
29 # "Source/MediaStorageAndFileFormat/gdcmFileStreamer.cxx" 35 # "Source/MediaStorageAndFileFormat/gdcmFileStreamer.cxx"
30 set(AdditionalFlags "-Doff64_t=off_t") 36 set(AdditionalCFlags "-Doff64_t=off_t")
37 set(AdditionalCxxFlags ${AdditionalCFlags})
31 endif() 38 endif()
32 39
33 set(Flags 40 set(Flags
34 "-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} ${AdditionalFlags}" 41 "-DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} ${AdditionalCFlags}"
35 "-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} ${AdditionalFlags}" 42 "-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} ${AdditionalCxxFlags}"
36 -DCMAKE_C_FLAGS_DEBUG=${CMAKE_C_FLAGS_DEBUG} 43 -DCMAKE_C_FLAGS_DEBUG=${CMAKE_C_FLAGS_DEBUG}
37 -DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG} 44 -DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG}
38 -DCMAKE_C_FLAGS_RELEASE=${CMAKE_C_FLAGS_RELEASE} 45 -DCMAKE_C_FLAGS_RELEASE=${CMAKE_C_FLAGS_RELEASE}
39 -DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE} 46 -DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE}
40 -DCMAKE_C_FLAGS_MINSIZEREL=${CMAKE_C_FLAGS_MINSIZEREL} 47 -DCMAKE_C_FLAGS_MINSIZEREL=${CMAKE_C_FLAGS_MINSIZEREL}