Blame samples/CMakeLists.txt

Packit 01d647
# CMakeLists.txt for exiv2 library sample applications
Packit 01d647
Packit 01d647
set( SAMPLES
Packit 01d647
     addmoddel.cpp
Packit 01d647
     convert-test.cpp
Packit 01d647
     easyaccess-test.cpp
Packit 01d647
     exifcomment.cpp
Packit 01d647
     exifdata-test.cpp
Packit 01d647
     exifdata.cpp
Packit 01d647
     exifprint.cpp
Packit 01d647
     exifvalue.cpp
Packit 01d647
     ini-test.cpp
Packit 01d647
     iotest.cpp
Packit 01d647
     iptceasy.cpp
Packit 01d647
     iptcprint.cpp
Packit 01d647
     iptctest.cpp
Packit 01d647
     key-test.cpp
Packit 01d647
     largeiptc-test.cpp
Packit 01d647
     mmap-test.cpp
Packit 01d647
     mrwthumb.cpp
Packit 01d647
     prevtest.cpp
Packit 01d647
     stringto-test.cpp
Packit 01d647
     taglist.cpp
Packit 01d647
     tiff-test.cpp
Packit 01d647
     werror-test.cpp
Packit 01d647
     write-test.cpp
Packit 01d647
     write2-test.cpp
Packit 01d647
     xmpparse.cpp
Packit 01d647
     xmpparser-test.cpp
Packit 01d647
     xmpprint.cpp
Packit 01d647
     xmpsample.cpp
Packit 01d647
     xmpdump.cpp
Packit 01d647
)
Packit 01d647
Packit 01d647
##
Packit 01d647
# build samples AND add them to the APPLICATIONS list
Packit 01d647
foreach(entry ${SAMPLES})
Packit 01d647
    string( REPLACE ".cpp" "" target ${entry})
Packit 01d647
    add_executable( ${target} ${target}.cpp )
Packit 01d647
    set_target_properties(${target} PROPERTIES
Packit 01d647
      COMPILE_FLAGS ${EXTRA_COMPILE_FLAGS})
Packit 01d647
    list(APPEND APPLICATIONS ${target})
Packit 01d647
    add_test( ${target}_test ${target} )
Packit 01d647
    target_include_directories(${target} PRIVATE ${CMAKE_SOURCE_DIR}/src) # To find unused.h
Packit Service fb147c
    if ( NOT ${target} MATCHES ".*test.*")                                # don't install tests
Packit Service fb147c
        install( TARGETS ${target} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
Packit Service fb147c
    endif()
Packit 01d647
endforeach()
Packit 01d647
Packit 01d647
###################################
Packit 01d647
Packit 01d647
if (MSVC)
Packit 01d647
    link_directories(${CMAKE_INSTALL_PREFIX}/lib)
Packit 01d647
endif()
Packit 01d647
Packit 01d647
add_executable( getopt-test getopt-test.cpp ../src/utils.cpp ../src/getopt.cpp)
Packit 01d647
list(APPEND APPLICATIONS getopt-test)
Packit 01d647
target_include_directories(getopt-test PRIVATE ${CMAKE_SOURCE_DIR}/src) # To find utils.hpp
Packit 01d647
Packit 01d647
add_executable( metacopy metacopy.cpp ../src/utils.cpp ../src/getopt.cpp)
Packit 01d647
list(APPEND APPLICATIONS metacopy)
Packit 01d647
target_include_directories(metacopy PRIVATE ${CMAKE_SOURCE_DIR}/src) # To find utils.hpp
Packit 01d647
Packit Service fb147c
add_executable(          path-test  path-test.cpp ../src/utils.cpp ../src/getopt.cpp)
Packit Service fb147c
list(APPEND APPLICATIONS path-test)
Packit Service fb147c
set_target_properties(   path-test  PROPERTIES OUTPUT_NAME path-test )
Packit Service fb147c
target_include_directories(path-test PRIVATE ${CMAKE_SOURCE_DIR}/src) # To find utils.hpp
Packit 01d647
Packit 01d647
add_executable(          exiv2json exiv2json.cpp Jzon.cpp Jzon.h)
Packit 01d647
list(APPEND APPLICATIONS exiv2json)
Packit 01d647
Packit Service fb147c
install( TARGETS metacopy exiv2json RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
Packit 01d647
Packit 01d647
if( EXPAT_FOUND )
Packit 01d647
    add_executable(        geotag    geotag.cpp)
Packit 01d647
    list(APPEND APPLICATIONS geotag)
Packit 01d647
    target_link_libraries(geotag 
Packit 01d647
        PRIVATE
Packit 01d647
            exiv2-xmp
Packit 01d647
            ${EXPAT_LIBRARIES}
Packit 01d647
    )
Packit 01d647
    target_include_directories(geotag PRIVATE ${EXPAT_INCLUDE_DIR})
Packit 01d647
    target_include_directories(geotag PRIVATE ${CMAKE_SOURCE_DIR}/src) # To find unused.h
Packit 01d647
Packit 01d647
    if (WIN32)
Packit 01d647
        target_compile_definitions(geotag PRIVATE XML_STATIC)
Packit 01d647
    endif()
Packit 01d647
Packit 01d647
    if (MSVC)
Packit 01d647
        set_target_properties(geotag PROPERTIES LINK_FLAGS "/ignore:4099")
Packit 01d647
    endif()
Packit 01d647
Packit 01d647
    install( TARGETS       geotag    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
Packit 01d647
endif()
Packit 01d647
Packit 01d647
# ******************************************************************************
Packit 01d647
# connection test application
Packit 01d647
add_executable(conntest conntest.cpp)
Packit 01d647
list(APPEND APPLICATIONS conntest)
Packit 01d647
Packit 01d647
if (EXIV2_ENABLE_WEBREADY)
Packit 01d647
    if( EXIV2_ENABLE_CURL )
Packit 01d647
        target_include_directories(conntest SYSTEM PRIVATE ${CURL_INCLUDE_DIR} )
Packit 01d647
        target_link_libraries(conntest PRIVATE ${CURL_LIBRARIES})
Packit 01d647
        if (USING_CONAN)
Packit 01d647
            target_compile_definitions(conntest PRIVATE ${CONAN_COMPILE_DEFINITIONS_LIBCURL})
Packit 01d647
            target_link_libraries(conntest PRIVATE ${CONAN_EXE_LINKER_FLAGS_LIBCURL})
Packit Service fb147c
            if ( MSVC ) 
Packit Service fb147c
			    target_link_libraries(conntest PRIVATE Crypt32 Ws2_32 ${CURL_LIBRARIES})
Packit Service fb147c
			elseif (NOT APPLE)
Packit 01d647
                target_link_libraries(conntest PRIVATE CONAN_PKG::OpenSSL)
Packit 01d647
            endif()
Packit 01d647
        endif()
Packit 01d647
    endif()
Packit 01d647
endif()
Packit 01d647
Packit 01d647
# ******************************************************************************
Packit 01d647
# remotetest application
Packit 01d647
add_executable(remotetest remotetest.cpp)
Packit 01d647
list(APPEND APPLICATIONS remotetest)
Packit 01d647
Packit 01d647
# ******************************************************************************
Packit 01d647
foreach(application ${APPLICATIONS})
Packit 01d647
    target_link_libraries(${application} PRIVATE exiv2lib)
Packit 01d647
    if( EXIV2_ENABLE_PNG )
Packit 01d647
        target_link_libraries( ${application} PRIVATE ${ZLIB_LIBRARIES} )
Packit 01d647
    endif()
Packit 01d647
endforeach()
Packit 01d647
Packit 01d647
# That's all Folks!
Packit 01d647
##