Feature #1269 ยป msvc.diff
| exiv2-0.26/CMakeLists.txt 2016-12-16 16:58:03.000000000 -0500 | ||
|---|---|---|
| 51 | 51 |
OPTION( EXIV2_ENABLE_VIDEO "Build video support into library" OFF ) |
| 52 | 52 |
OPTION( EXIV2_ENABLE_WEBREADY "Build webready support into library" OFF ) |
| 53 | 53 |
IF (WIN32) |
| 54 |
OPTION( EXIV2_ENABLE_DYNAMIC_RUNTIME "Use dynamic runtime (used for static libs)" OFF ) |
|
| 54 | 55 |
OPTION( EXIV2_ENABLE_WIN_UNICODE "Use Unicode paths (wstring) on Windows" OFF ) |
| 55 | 56 |
OPTION( EXIV2_ENABLE_CURL "USE Libcurl for HttpIo" OFF ) |
| 56 | 57 |
OPTION( EXIV2_ENABLE_SSH "USE Libssh for SshIo" OFF ) |
| 57 | 58 |
ELSE() |
| 58 | 59 |
OPTION( EXIV2_ENABLE_CURL "USE Libcurl for HttpIo" ON ) |
| 59 | 60 |
OPTION( EXIV2_ENABLE_SSH "USE Libssh for SshIo" ON ) |
| 60 | ||
| 61 |
SET ( EXIV2_ENABLE_DYNAMIC_RUNTIME OFF ) |
|
| 61 | 62 |
ENDIF() |
| 62 | 63 | |
| 63 | 64 |
# set include path for FindXXX.cmake files |
| ... | ... | |
| 110 | 111 |
if( MSVC ) |
| 111 | 112 |
# cmake_policy(SET CMP0008) |
| 112 | 113 |
ADD_DEFINITIONS(-DPSAPI_VERSION=1) # to be compatible with <= WinVista (#905) |
| 114 |
set(CMAKE_DEBUG_POSTFIX "d") |
|
| 113 | 115 |
endif( MSVC ) |
| 114 | 116 | |
| 115 | 117 |
IF( EXIV2_ENABLE_XMP ) |
| exiv2-0.26/CMake_msvc.txt 2016-12-16 16:58:03.000000000 -0500 | ||
|---|---|---|
| 4 | 4 |
|
| 5 | 5 |
## |
| 6 | 6 |
# msvc tuning macros |
| 7 |
macro(msvc_runtime_set_static_ignores bDynamic)
|
|
| 7 |
macro(msvc_runtime_set_static_ignores bDynamic bDynamicRuntime)
|
|
| 8 | 8 |
if(MSVC) |
| 9 | 9 |
# don't link msvcrt for .exe which use shared libraries (use default libcmt) |
| 10 |
if ( ${bDynamic} STREQUAL "OFF" )
|
|
| 10 |
if ( ${bDynamic} STREQUAL "OFF" AND ${bDynamicRuntime} STREQUAL "OFF")
|
|
| 11 | 11 |
set(CMAKE_EXE_LINKER_FLAGS_DEBUG "/NODEFAULTLIB:MSVCRTD") |
| 12 | 12 |
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "/NODEFAULTLIB:MSVCRT") |
| 13 | 13 |
set(CMAKE_EXE_LINKER_FLAGS_MINSIZEREL "/NODEFAULTLIB:MSVCRT") |
| ... | ... | |
| 17 | 17 |
endmacro() |
| 18 | 18 |
|
| 19 | 19 |
# http://stackoverflow.com/questions/10113017/setting-the-msvc-runtime-in-cmake |
| 20 |
macro(msvc_runtime_configure bDynamic)
|
|
| 20 |
macro(msvc_runtime_configure bDynamic bDynamicRuntime)
|
|
| 21 | 21 |
if(MSVC) |
| 22 | 22 |
set(variables |
| 23 | 23 |
CMAKE_C_FLAGS_DEBUG |
| ... | ... | |
| 29 | 29 |
CMAKE_CXX_FLAGS_RELEASE |
| 30 | 30 |
CMAKE_CXX_FLAGS_RELWITHDEBINFO |
| 31 | 31 |
) |
| 32 |
if( ${bDynamic} STREQUAL "ON" )
|
|
| 32 |
if( ${bDynamic} STREQUAL "ON" OR ${bDynamicRuntime} STREQUAL "ON")
|
|
| 33 | 33 |
message(STATUS "MSVC -> forcing use of dynamically-linked runtime." ) |
| 34 | 34 |
foreach(variable ${variables})
|
| 35 | 35 |
if(${variable} MATCHES "/MT")
|
| ... | ... | |
| 55 | 55 |
endif() |
| 56 | 56 |
endforeach() |
| 57 | 57 |
endforeach() |
| 58 |
msvc_runtime_set_static_ignores(${bDynamic})
|
|
| 58 |
msvc_runtime_set_static_ignores(${bDynamic} ${bDynamicRuntime})
|
|
| 59 | 59 |
endif() |
| 60 | 60 |
endmacro() |
| 61 | 61 |
|
| exiv2-0.26/config/CMakeChecks.txt 2016-12-16 16:58:03.000000000 -0500 | ||
|---|---|---|
| 111 | 111 |
IF( EXIV2_ENABLE_WIN_UNICODE ) |
| 112 | 112 |
IF (WIN32) |
| 113 | 113 |
SET ( UNICODE_PATH 1 ) |
| 114 |
SET ( EXV_UNICODE_PATH 1 ) |
|
| 114 | 115 |
ENDIF() |
| 115 | 116 |
ENDIF() |
| 116 | 117 | |
| ... | ... | |
| 337 | 338 |
OptionOutput( "USE Libssh for SshIo: " EXIV2_ENABLE_SSH ) |
| 338 | 339 |
endif ( EXIV2_ENABLE_WEBREADY ) |
| 339 | 340 |
IF (WIN32) |
| 341 |
OptionOutput( "Dynamic runtime override: " EXIV2_ENABLE_DYNAMIC_RUNTIME ) |
|
| 340 | 342 |
OptionOutput( "Unicode paths (wstring): " EXIV2_ENABLE_WIN_UNICODE ) |
| 341 | 343 |
ENDIF() |
| 342 | 344 |
MESSAGE( STATUS "------------------------------------------------------------------" ) |
| exiv2-0.26/samples/CMakeLists.txt 2016-12-23 10:18:34.000000000 -0500 | ||
|---|---|---|
| 42 | 42 |
## |
| 43 | 43 |
# msvn tuning |
| 44 | 44 |
include(../CMake_msvc.txt) |
| 45 |
msvc_runtime_configure(${EXIV2_ENABLE_SHARED})
|
|
| 45 |
msvc_runtime_configure(${EXIV2_ENABLE_SHARED} ${EXIV2_ENABLE_DYNAMIC_RUNTIME})
|
|
| 46 | 46 | |
| 47 | 47 |
FOREACH(entry ${SAMPLES})
|
| 48 | 48 |
STRING( REPLACE ".cpp" "" target ${entry})
|
| exiv2-0.26/src/CMakeLists.txt 2016-12-16 16:57:57.000000000 -0500 | ||
|---|---|---|
| 231 | 231 |
# msvn tuning |
| 232 | 232 |
IF( MSVC ) |
| 233 | 233 |
include(../CMake_msvc.txt) |
| 234 |
msvc_runtime_configure(${EXIV2_ENABLE_SHARED})
|
|
| 234 |
msvc_runtime_configure(${EXIV2_ENABLE_SHARED} ${EXIV2_ENABLE_DYNAMIC_RUNTIME})
|
|
| 235 | 235 |
ENDIF( MSVC ) |
| 236 | 236 | |
| 237 | 237 |
# ****************************************************************************** |
| ... | ... | |
| 309 | 309 |
INSTALL( TARGETS exiv2lib ${INSTALL_TARGET_STANDARD_ARGS} )
|
| 310 | 310 | |
| 311 | 311 |
include(../CMake_msvc.txt) |
| 312 |
msvc_runtime_configure(${EXIV2_ENABLE_SHARED})
|
|
| 312 |
msvc_runtime_configure(${EXIV2_ENABLE_SHARED} ${EXIV2_ENABLE_DYNAMIC_RUNTIME})
|
|
| 313 | 313 | |
| 314 | 314 |
# ****************************************************************************** |
| 315 | 315 |
# exiv2 application |
| exiv2-0.26/xmpsdk/CMakeLists.txt 2016-12-16 16:58:03.000000000 -0500 | ||
|---|---|---|
| 7 | 7 |
# For details see the accompanying COPYING-CMAKE-SCRIPTS file. |
| 8 | 8 | |
| 9 | 9 |
include(../CMake_msvc.txt) |
| 10 |
msvc_runtime_configure(${EXIV2_ENABLE_SHARED})
|
|
| 10 |
msvc_runtime_configure(${EXIV2_ENABLE_SHARED} ${EXIV2_ENABLE_DYNAMIC_RUNTIME})
|
|
| 11 | 11 | |
| 12 | 12 |
if( POLICY CMP0026 ) |
| 13 | 13 |
cmake_policy(SET CMP0026 OLD) # Something to do with location |