Issue:#905. Thank you Daniel for the patch.

v0.27.3
Robin Mills 12 years ago
parent 4c1d214b1d
commit 3f5e82bcc5

@ -9,8 +9,8 @@
## ##
# Issue:#857. Use g++ instead of c++ (clang) compiler to eliminate warnings # Issue:#857. Use g++ instead of c++ (clang) compiler to eliminate warnings
if (APPLE) if (APPLE)
set(CMAKE_C_COMPILER gcc) set(CMAKE_C_COMPILER gcc)
set(CMAKE_CXX_COMPILER g++) set(CMAKE_CXX_COMPILER g++)
endif(APPLE) endif(APPLE)
## ##
@ -67,51 +67,53 @@ ENDIF( MINGW OR UNIX )
if( MSVC ) if( MSVC )
include(CMake_msvc.txt) include(CMake_msvc.txt)
msvc_runtime_report() msvc_runtime_report()
msvc_runtime_configure(${EXIV2_ENABLE_SHARED}) msvc_runtime_configure(${EXIV2_ENABLE_SHARED})
msvc_runtime_report() msvc_runtime_report()
set(E expat-2.1.0) ADD_DEFINITIONS(-DPSAPI_VERSION=1) # to be compatible with <= WinVista (#905)
set(Z zlib-1.2.7)
set(E expat-2.1.0)
if( NOT IS_DIRECTORY ./../${E} ) set(Z zlib-1.2.7)
set(OUT_OF_SOURCE 1)
endif() if( NOT IS_DIRECTORY ./../${E} )
set(OUT_OF_SOURCE 1)
endif()
# link dependent libraries # link dependent libraries
if ( NOT EXPAT_LIBRARY ) if ( NOT EXPAT_LIBRARY )
set(EXPAT_LIBRARY ${CMAKE_SOURCE_DIR}/../${E}/$(ConfigurationName)/expat) set(EXPAT_LIBRARY ${CMAKE_SOURCE_DIR}/../${E}/$(ConfigurationName)/expat)
set(EXPAT_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/../${E}/lib) set(EXPAT_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/../${E}/lib)
include_directories( ${EXPAT_INCLUDE_DIR} msvc64\\include src\\include) include_directories( ${EXPAT_INCLUDE_DIR} msvc64\\include src\\include)
endif() endif()
FIND_PACKAGE(ZLIB QUIET) FIND_PACKAGE(ZLIB QUIET)
if ( NOT ZLIB_FOUND ) if ( NOT ZLIB_FOUND )
set(ZLIB_LIBRARY ${CMAKE_SOURCE_DIR}/../${Z}/$(ConfigurationName)/zlib) set(ZLIB_LIBRARY ${CMAKE_SOURCE_DIR}/../${Z}/$(ConfigurationName)/zlib)
set(ZLIB_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/../${Z}) set(ZLIB_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/../${Z})
endif() endif()
include_directories(${ZLIB_INCLUDE_DIR}) include_directories(${ZLIB_INCLUDE_DIR})
if ( EXIV2_ENABLE_SHARED ) if ( EXIV2_ENABLE_SHARED )
add_library(${E} SHARED IMPORTED) add_library(${E} SHARED IMPORTED)
add_library(${Z} SHARED IMPORTED) add_library(${Z} SHARED IMPORTED)
endif() endif()
## ##
# Set the output directory # Set the output directory
# x64/Win32 # x64/Win32
if( CMAKE_SIZEOF_VOID_P MATCHES 8 ) if( CMAKE_SIZEOF_VOID_P MATCHES 8 )
SET( P_DIR x64) SET( P_DIR x64)
else() else()
set( P_DIR Win32 ) set( P_DIR Win32 )
endif() endif()
# DLL/static build # DLL/static build
if( EXIV2_ENABLE_SHARED ) if( EXIV2_ENABLE_SHARED )
set( T_DIR Dynamic ) set( T_DIR Dynamic )
else() else()
set( T_DIR Static) set( T_DIR Static)
endif() endif()
set(B_DIR ${PROJECT_BINARY_DIR}/bin/${P_DIR}/${T_DIR}) set(B_DIR ${PROJECT_BINARY_DIR}/bin/${P_DIR}/${T_DIR})
@ -121,8 +123,8 @@ if( MSVC )
endif( MSVC ) endif( MSVC )
IF( EXIV2_ENABLE_XMP ) IF( EXIV2_ENABLE_XMP )
SET( HAVE_XMP_TOOLKIT ON ) SET( HAVE_XMP_TOOLKIT ON )
SET( XMPLIB "do" ) SET( XMPLIB "do" )
ENDIF( EXIV2_ENABLE_XMP ) ENDIF( EXIV2_ENABLE_XMP )
INCLUDE( config/ConfigureChecks.cmake ) INCLUDE( config/ConfigureChecks.cmake )
@ -173,13 +175,13 @@ ENDIF( EXIV2_ENABLE_BUILD_PO )
IF( NOT MSVC ) IF( NOT MSVC )
# Issue #722: out of source builds compiled against standard include files such as /usr/local/lib/include/exiv2 # Issue #722: out of source builds compiled against standard include files such as /usr/local/lib/include/exiv2
# do not use CREATE_SYMLINK or CMAKE_CAN_SYMLINK as they don't work on CYGWIN # do not use CREATE_SYMLINK or CMAKE_CAN_SYMLINK as they don't work on CYGWIN
EXECUTE_PROCESS( WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ln -sf ${CMAKE_CURRENT_SOURCE_DIR}/src exiv2) EXECUTE_PROCESS( WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ln -sf ${CMAKE_CURRENT_SOURCE_DIR}/src exiv2)
IF( EXIV2_ENABLE_BUILD_SAMPLES ) IF( EXIV2_ENABLE_BUILD_SAMPLES )
EXECUTE_PROCESS( WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/samples COMMAND ln -sf ${CMAKE_CURRENT_SOURCE_DIR}/src exiv2) EXECUTE_PROCESS( WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/samples COMMAND ln -sf ${CMAKE_CURRENT_SOURCE_DIR}/src exiv2)
ENDIF( EXIV2_ENABLE_BUILD_SAMPLES ) ENDIF( EXIV2_ENABLE_BUILD_SAMPLES )
IF( EXIV2_ENABLE_BUILD_PO ) IF( EXIV2_ENABLE_BUILD_PO )
EXECUTE_PROCESS( WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/po COMMAND ln -sf ${CMAKE_CURRENT_SOURCE_DIR}/src exiv2) EXECUTE_PROCESS( WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/po COMMAND ln -sf ${CMAKE_CURRENT_SOURCE_DIR}/src exiv2)
ENDIF( EXIV2_ENABLE_BUILD_PO ) ENDIF( EXIV2_ENABLE_BUILD_PO )
ENDIF() ENDIF()

Loading…
Cancel
Save