Cmake in dcmtk 3.6.1 for msvc 14 2015

All other questions regarding DCMTK

Moderator: Moderator Team

Post Reply
Message
Author
Shaeto
Posts: 147
Joined: Tue, 2009-01-20, 17:50
Location: CA, USA
Contact:

Cmake in dcmtk 3.6.1 for msvc 14 2015

#1 Post by Shaeto »

here is a little patch for msvc 14 2015 env, explanation is there https://cmake.org/Bug/bug_relationship_ ... h=relation and there https://msdn.microsoft.com/en-us/librar ... spx#BK_CRT (look for vprintf)

diff --git a/CMake/GenerateDCMTKConfigure.cmake b/CMake/GenerateDCMTKConfigure.cmake
index c51cf90..16fed4a 100644
--- a/CMake/GenerateDCMTKConfigure.cmake
+++ b/CMake/GenerateDCMTKConfigure.cmake
@@ -325,11 +325,11 @@ ENDIF(WIN32 AND NOT CYGWIN)
CHECK_FUNCTION_EXISTS(tmpnam HAVE_TMPNAM)
CHECK_FUNCTION_EXISTS(uname HAVE_UNAME)
CHECK_FUNCTION_EXISTS(usleep HAVE_USLEEP)
- CHECK_FUNCTION_EXISTS(_vsnprintf_s HAVE__VSNPRINTF_S)
- CHECK_FUNCTION_EXISTS(vfprintf_s HAVE_VFPRINTF_S)
- CHECK_FUNCTION_EXISTS(vprintf HAVE_VPRINTF)
- CHECK_FUNCTION_EXISTS(vsnprintf HAVE_VSNPRINTF)
- CHECK_FUNCTION_EXISTS(vsprintf_s HAVE_VSPRINTF_S)
+ CHECK_SYMBOL_EXISTS(_vsnprintf_s "stdio.h;stdarg.h" HAVE__VSNPRINTF_S)
+ CHECK_SYMBOL_EXISTS(vfprintf_s "stdio.h;stdarg.h" HAVE_VFPRINTF_S)
+ CHECK_SYMBOL_EXISTS(vprintf "stdio.h;stdarg.h" HAVE_VPRINTF)
+ CHECK_SYMBOL_EXISTS(vsnprintf "stdio.h;stdarg.h" HAVE_VSNPRINTF)
+ CHECK_SYMBOL_EXISTS(vsprintf_s "stdio.h;stdarg.h" HAVE_VSPRINTF_S)
CHECK_FUNCTION_EXISTS(wait3 HAVE_WAIT3)
CHECK_FUNCTION_EXISTS(waitpid HAVE_WAITPID)
CHECK_FUNCTION_EXISTS(_findfirst HAVE__FINDFIRST)

Jan Schlamelcher
OFFIS DICOM Team
OFFIS DICOM Team
Posts: 318
Joined: Mon, 2014-03-03, 09:51
Location: Oldenburg, Germany

Re: Cmake in dcmtk 3.6.1 for msvc 14 2015

#2 Post by Jan Schlamelcher »

Thank you for the patch and related information!
However, I have a slightly modified proposal (as it would seem more consistent with the rest of the file):

Code: Select all

diff --git a/CMake/GenerateDCMTKConfigure.cmake b/CMake/GenerateDCMTKConfigure.cmake
index 5c6e1af..c936b4d 100644
--- a/CMake/GenerateDCMTKConfigure.cmake
+++ b/CMake/GenerateDCMTKConfigure.cmake
@@ -325,11 +325,6 @@ ENDIF(WIN32 AND NOT CYGWIN)
   CHECK_FUNCTION_EXISTS(tmpnam HAVE_TMPNAM)
   CHECK_FUNCTION_EXISTS(uname HAVE_UNAME)
   CHECK_FUNCTION_EXISTS(usleep HAVE_USLEEP)
-  CHECK_FUNCTION_EXISTS(_vsnprintf_s HAVE__VSNPRINTF_S)
-  CHECK_FUNCTION_EXISTS(vfprintf_s HAVE_VFPRINTF_S)
-  CHECK_FUNCTION_EXISTS(vprintf HAVE_VPRINTF)
-  CHECK_FUNCTION_EXISTS(vsnprintf HAVE_VSNPRINTF)
-  CHECK_FUNCTION_EXISTS(vsprintf_s HAVE_VSPRINTF_S)
   CHECK_FUNCTION_EXISTS(wait3 HAVE_WAIT3)
   CHECK_FUNCTION_EXISTS(waitpid HAVE_WAITPID)
   CHECK_FUNCTION_EXISTS(_findfirst HAVE__FINDFIRST)
@@ -485,6 +480,11 @@ ENDIF(WIN32 AND NOT CYGWIN)
   CHECK_FUNCTIONWITHHEADER_EXISTS(setsockopt "${HEADERS}" HAVE_PROTOTYPE_SETSOCKOPT)
   CHECK_FUNCTIONWITHHEADER_EXISTS(socket "${HEADERS}" HAVE_PROTOTYPE_SOCKET)
   CHECK_FUNCTIONWITHHEADER_EXISTS(listen "${HEADERS}" HAVE_PROTOTYPE_LISTEN)
+  CHECK_FUNCTIONWITHHEADER_EXISTS(_vsnprintf_s "${HEADERS}" HAVE__VSNPRINTF_S)
+  CHECK_FUNCTIONWITHHEADER_EXISTS(vfprintf_s "${HEADERS}" HAVE_VFPRINTF_S)
+  CHECK_FUNCTIONWITHHEADER_EXISTS(vprintf "${HEADERS}" HAVE_VPRINTF)
+  CHECK_FUNCTIONWITHHEADER_EXISTS(vsnprintf "${HEADERS}" HAVE_VSNPRINTF)
+  CHECK_FUNCTIONWITHHEADER_EXISTS(vsprintf_s "${HEADERS}" HAVE_VSPRINTF_S)
   CHECK_FUNCTIONWITHHEADER_EXISTS(std::vfprintf "${CXXHEADERS}" HAVE_PROTOTYPE_STD__VFPRINTF)
   CHECK_FUNCTIONWITHHEADER_EXISTS(std::vsnprintf "${CXXHEADERS}" HAVE_PROTOTYPE_STD__VSNPRINTF)                                                                                    
   CHECK_FUNCTIONWITHHEADER_EXISTS(_stricmp "${HEADERS}" HAVE_PROTOTYPE__STRICMP)
Can you verify that this also works? If so, i'll just commit it and see whether it passes through our nightly builds.

Shaeto
Posts: 147
Joined: Tue, 2009-01-20, 17:50
Location: CA, USA
Contact:

Re: Cmake in dcmtk 3.6.1 for msvc 14 2015

#3 Post by Shaeto »

yes this works also ! thank you!

Jan Schlamelcher
OFFIS DICOM Team
OFFIS DICOM Team
Posts: 318
Joined: Mon, 2014-03-03, 09:51
Location: Oldenburg, Germany

Re: Cmake in dcmtk 3.6.1 for msvc 14 2015

#4 Post by Jan Schlamelcher »

It's done!

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest