[cmake] added travis build file, fixes for osx and linux

v0.27.3
danielkaneider 10 years ago
parent f76b9e8aa3
commit 993a3bd06b

@ -0,0 +1,30 @@
language: cpp
sudo: false
addons:
apt:
packages:
- cmake
- zlib1g-dev
sources:
- kalakris-cmake
compiler:
- gcc
# - clang
before_install:
- echo $LANG
- echo $LC_ALL
- rvm use $RVM --install --binary --fuzzy
- gem update --system
- gem --version
script:
- cmake -DCMAKE_INSTALL_PREFIX=..\dist -EXIV2_ENABLE_NLS=ON -DEXIV2_ENABLE_CURL=OFF -DEXIV2_ENABLE_SSH=OFF .
- cmake --build . && cmake --build . --target install
os:
- linux
# - osx

@ -18,7 +18,7 @@ if( EXISTS "${CMAKE_SOURCE_DIR}/include/exiv2/exv_conf.h" )
endif()
##
CMAKE_MINIMUM_REQUIRED( VERSION 2.8.12 )
CMAKE_MINIMUM_REQUIRED( VERSION 2.8.11 )
PROJECT( exiv2 )
if( POLICY CMP0042 )
@ -81,6 +81,10 @@ IF( EXIV2_ENABLE_COMMERCIAL )
SET (EXIV2_ENABLE_NLS OFF)
ENDIF()
set (PRIVATE_VAR)
if(${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} GREATER 2.8)
set (PRIVATE_VAR PRIVATE)
endif()
# binary as first, since it workarounds old VS solution compatibility problems
INCLUDE_DIRECTORIES( ${CMAKE_SOURCE_DIR}/src/ ${CMAKE_SOURCE_DIR}/include/ ${CMAKE_SOURCE_DIR}/include/exiv2/)

@ -282,9 +282,9 @@ CONFIGURE_FILE( config/config.h.cmake ${CMAKE_SOURCE_DIR}/include/exiv2/exv_conf
IF (MSVC)
CONFIGURE_FILE( config/config.h.cmake ${CMAKE_SOURCE_DIR}/include/exiv2/exv_msvc.h )
CONFIGURE_FILE( ${CMAKE_SOURCE_DIR}/include/exiv2/exv_msvc.h ${CMAKE_BINARY_DIR}/ignore/exv_msvc.h COPYONLY )
INSTALL( FILES ${CMAKE_BINARY_DIR}/ignore/exv_msvc.h DESTINATION include/exiv2 )
ENDIF()
INSTALL( FILES ${CMAKE_BINARY_DIR}/ignore/exv_msvc.h DESTINATION include/exiv2 )
INSTALL( FILES ${CMAKE_SOURCE_DIR}/include/exiv2/exv_conf.h DESTINATION include/exiv2 )
INSTALL( FILES ${CMAKE_SOURCE_DIR}/src/svn_version.h DESTINATION include/exiv2 )

@ -52,7 +52,7 @@ FOREACH(entry ${SAMPLES})
STRING( REPLACE ".cpp" "" target ${entry})
ADD_EXECUTABLE( ${target} ${target}.cpp )
ADD_TEST( ${target}_test ${target} )
TARGET_LINK_LIBRARIES( ${target} PRIVATE exiv2lib ${EXPAT_LIBRARIES})
TARGET_LINK_LIBRARIES( ${target} ${PRIVATE_VAR} exiv2lib ${EXPAT_LIBRARIES})
#INSTALL( TARGETS ${target} ${INSTALL_TARGET_STANDARD_ARGS} )
ENDFOREACH(entry ${SAMPLES})

@ -237,20 +237,20 @@ SET_TARGET_PROPERTIES( exiv2lib PROPERTIES
if ( MSVC )
source_group("Header Files" FILES ${LIBEXIV2_HDR} )
TARGET_LINK_LIBRARIES( exiv2lib PRIVATE ${EXPAT_LIBRARIES} )
TARGET_LINK_LIBRARIES( exiv2lib ${PRIVATE_VAR} ${EXPAT_LIBRARIES} )
source_group("Header Files" FILES ${LIBCURL_HDR} )
TARGET_LINK_LIBRARIES( exiv2lib PRIVATE ${CURL_LIBRARIES} )
TARGET_LINK_LIBRARIES( exiv2lib ${PRIVATE_VAR} ${CURL_LIBRARIES} )
source_group("Header Files" FILES ${SSH_HDR} )
TARGET_LINK_LIBRARIES( exiv2lib PRIVATE ${SSH_LIBRARIES} )
TARGET_LINK_LIBRARIES( exiv2lib ${PRIVATE_VAR} ${SSH_LIBRARIES} )
else()
if ( NOT MINGW )
TARGET_LINK_LIBRARIES( exiv2lib PRIVATE dl ${EXPAT_LIBRARIES} )
TARGET_LINK_LIBRARIES( exiv2lib PRIVATE dl ${CURL_LIBRARIES} )
TARGET_LINK_LIBRARIES( exiv2lib PRIVATE dl ${SSH_LIBRARIES} )
else()
TARGET_LINK_LIBRARIES( exiv2lib PRIVATE ${EXPAT_LIBRARIES} )
TARGET_LINK_LIBRARIES( exiv2lib PRIVATE ${CURL_LIBRARIES} )
TARGET_LINK_LIBRARIES( exiv2lib PRIVATE ${SSH_LIBRARIES} )
TARGET_LINK_LIBRARIES( exiv2lib ${PRIVATE_VAR} dl ${EXPAT_LIBRARIES} )
TARGET_LINK_LIBRARIES( exiv2lib ${PRIVATE_VAR} dl ${CURL_LIBRARIES} )
TARGET_LINK_LIBRARIES( exiv2lib ${PRIVATE_VAR} dl ${SSH_LIBRARIES} )
else()
TARGET_LINK_LIBRARIES( exiv2lib ${PRIVATE_VAR} ${EXPAT_LIBRARIES} )
TARGET_LINK_LIBRARIES( exiv2lib ${PRIVATE_VAR} ${CURL_LIBRARIES} )
TARGET_LINK_LIBRARIES( exiv2lib ${PRIVATE_VAR} ${SSH_LIBRARIES} )
endif()
endif()
@ -259,29 +259,29 @@ if( EXIV2_ENABLE_LIBXMP )
if ( MSVC )
LINK_DIRECTORIES(${LIBRARY_OUTPUT_PATH}/$(ConfigurationName))
endif(MSVC)
TARGET_LINK_LIBRARIES( exiv2lib PRIVATE xmp )
TARGET_LINK_LIBRARIES( exiv2lib ${PRIVATE_VAR} xmp )
ENDIF()
IF( EXIV2_ENABLE_PNG )
IF( ZLIB_FOUND )
IF( MSVC )
TARGET_LINK_LIBRARIES( exiv2lib PRIVATE optimized ${ZLIB_LIBRARIES} debug ${ZLIB_LIBRARIES}d )
TARGET_LINK_LIBRARIES( exiv2lib ${PRIVATE_VAR} optimized ${ZLIB_LIBRARIES} debug ${ZLIB_LIBRARIES}d )
ELSE()
TARGET_LINK_LIBRARIES( exiv2lib PRIVATE ${ZLIB_LIBRARIES} )
TARGET_LINK_LIBRARIES( exiv2lib ${PRIVATE_VAR} ${ZLIB_LIBRARIES} )
ENDIF()
ENDIF()
ENDIF()
IF( EXIV2_ENABLE_NLS )
TARGET_LINK_LIBRARIES( exiv2lib PRIVATE ${LIBINTL_LIBRARIES} )
TARGET_LINK_LIBRARIES( exiv2lib ${PRIVATE_VAR} ${LIBINTL_LIBRARIES} )
ENDIF( EXIV2_ENABLE_NLS )
IF( ICONV_FOUND )
TARGET_LINK_LIBRARIES( exiv2lib PRIVATE ${ICONV_LIBRARIES} )
TARGET_LINK_LIBRARIES( exiv2lib ${PRIVATE_VAR} ${ICONV_LIBRARIES} )
ENDIF( ICONV_FOUND )
IF (CYGWIN OR MINGW)
TARGET_LINK_LIBRARIES( exiv2lib PRIVATE psapi )
TARGET_LINK_LIBRARIES( exiv2lib ${PRIVATE_VAR} psapi )
ENDIF(CYGWIN OR MINGW)
@ -296,7 +296,7 @@ INSTALL( TARGETS exiv2 ${INSTALL_TARGET_STANDARD_ARGS} )
# ******************************************************************************
# connection test application
ADD_EXECUTABLE( conntest ${CONNTEST} )
TARGET_LINK_LIBRARIES( conntest PRIVATE exiv2lib ${CURL_LIBRARIES} ${SSH_LIBRARIES})
TARGET_LINK_LIBRARIES( conntest ${PRIVATE_VAR} exiv2lib ${CURL_LIBRARIES} ${SSH_LIBRARIES})
# ******************************************************************************
# exifprint application

Loading…
Cancel
Save