find_package( Boost COMPONENTS unit_test_framework )
if( Boost_INCLUDE_DIR )
    set( RUN_TESTS $ENV{RUN_TESTS} CACHE STRING "Run tests on build" )

    include_directories(
        ${CMAKE_SOURCE_DIR}/src
        ${CMAKE_BINARY_DIR}/src
        ${XSD_INCLUDE_DIR}
        ${OPENSSL_INCLUDE_DIR}
        ${XERCESC_INCLUDE_DIR}
    )

    set( CMAKE_SKIP_RPATH OFF )
    include_directories( ${Boost_INCLUDE_DIR} )
    add_executable( unittests
        libdigidocpp_boost.cpp
        ../src/log.cpp
        ../src/util/File.cpp
        ../src/util/DateTime.cpp
        ../src/crypto/PKCS12Signer.cpp
    )
    set_target_properties( unittests PROPERTIES
        COMPILE_DEFINITIONS "DIGIDOCPPCONF=\"${CMAKE_SOURCE_DIR}/etc/schema\";PKCS11_MODULE=\"${PKCS11_MODULE}\""
    )
    if( UNIX )
        set_target_properties( unittests PROPERTIES
            COMPILE_FLAGS "-Wno-unused-parameter -Wno-unused-variable"
        )
    else()
        string(REPLACE "/EHsc" "/EHa" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
    endif()
    target_link_libraries( unittests digidocpp )
    if(APPLE)
        set_source_files_properties( ../src/crypto/PKCS12Signer.cpp PROPERTIES COMPILE_FLAGS "-Wno-deprecated-declarations" )
    endif()
    add_custom_target( test ${RUN_TESTS}
        COMMAND unittests --build_info=YES --output_format=XML --log_level=all --report_level=no --log_sink=${CMAKE_CURRENT_BINARY_DIR}/libdigidocpp.xml ${CMAKE_CURRENT_SOURCE_DIR}/data
        WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/src
    )
endif()
