diff --git a/CMakeLists.txt b/CMakeLists.txt index 7e75f65ef2..3fc716eeac 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -88,8 +88,37 @@ list(GET OPENCV_VERSION_PARTS 2 OPENCV_VERSION_PATCH) set(OPENCV_SOVERSION "${OPENCV_VERSION_MAJOR}.${OPENCV_VERSION_MINOR}") if(WIN32) + set(OPENCV_DLL_VERSION_SUFFIX "") # Postfix of DLLs: - set(OPENCV_DLLVERSION "${OPENCV_VERSION_MAJOR}${OPENCV_VERSION_MINOR}${OPENCV_VERSION_PATCH}") + if(${CMAKE_GENERATOR} MATCHES "(MinGW)|(MSYS)") + set(OPENCV_DLL_VERSION_SUFFIX "${OPENCV_DLL_VERSION_SUFFIX}_mingw") + endif() + + if(${CMAKE_GENERATOR} MATCHES "Visual*") + set(OPENCV_DLL_VERSION_SUFFIX "${OPENCV_DLL_VERSION_SUFFIX}_vs") + + if(${CMAKE_GENERATOR} MATCHES "Visual Studio 8 2005*") + set(OPENCV_DLL_VERSION_SUFFIX "${OPENCV_DLL_VERSION_SUFFIX}2005") + endif() + if(${CMAKE_GENERATOR} MATCHES "Visual Studio 9 2008*") + set(OPENCV_DLL_VERSION_SUFFIX "${OPENCV_DLL_VERSION_SUFFIX}2008") + endif() + if(${CMAKE_GENERATOR} MATCHES "Visual Studio 10 2010*") + set(OPENCV_DLL_VERSION_SUFFIX "${OPENCV_DLL_VERSION_SUFFIX}2010") + endif() + endif() + + if(${CMAKE_GENERATOR} MATCHES "Visual Studio*64") + set(OPENCV_DLL_VERSION_SUFFIX "${OPENCV_DLL_VERSION_SUFFIX}_x64") + else() + set(OPENCV_DLL_VERSION_SUFFIX "${OPENCV_DLL_VERSION_SUFFIX}_x86") + endif() + + if(NOT BUILD_SHARED_LIBS) + set(OPENCV_DLL_VERSION_SUFFIX "${OPENCV_DLL_VERSION_SUFFIX}l") + endif() + + set(OPENCV_DLLVERSION "${OPENCV_VERSION_MAJOR}${OPENCV_VERSION_MINOR}${OPENCV_VERSION_PATCH}${OPENCV_DLL_VERSION_SUFFIX}") set(OPENCV_DEBUG_POSTFIX d) else() # Postfix of so's: