ADD_LIBRARY(${LIBNAME}-gnutls SecureProcess.cpp)
TARGET_LINK_LIBRARIES(${LIBNAME}-gnutls PUBLIC ${LIBNAME} PRIVATE ${GNUTLS_LIBRARIES})
TARGET_COMPILE_DEFINITIONS(${LIBNAME}-gnutls PRIVATE ${GNUTLS_DEFINITIONS})
SET_TARGET_PROPERTIES ( ${LIBNAME}-gnutls PROPERTIES
    SOVERSION "${SOVERSION}"
    CLEAN_DIRECT_OUTPUT 1
    VERSION "${PROJECT_VERSION}"
    POSITION_INDEPENDENT_CODE ${BUILD_POSITION_INDEPENDENT}
    PUBLIC_HEADER "include/pdcom5/SecureProcess.h"
    CXX_STANDARD_REQUIRED 1
    CXX_STANDARD 11
)
IF (BUILD_SHARED_LIBS)
    SET_TARGET_PROPERTIES ( ${LIBNAME}-gnutls PROPERTIES
        CXX_VISIBILITY_PRESET "hidden"
        VISIBILITY_INLINES_HIDDEN 1
    )
ENDIF()

GENERATE_EXPORT_HEADER(${LIBNAME}-gnutls)

TARGET_INCLUDE_DIRECTORIES(${LIBNAME}-gnutls PUBLIC
    "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>"
    "$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>"
    "$<INSTALL_INTERFACE:include>"
)
TARGET_INCLUDE_DIRECTORIES(${LIBNAME}-gnutls PRIVATE
    ${GNUTLS_INCLUDE_DIR}
)

INSTALL (TARGETS ${LIBNAME}-gnutls
    EXPORT ${LIBNAME}-gnutlsTargets
    ARCHIVE DESTINATION  "${CMAKE_INSTALL_LIBDIR}"
    LIBRARY DESTINATION  "${CMAKE_INSTALL_LIBDIR}"
    RUNTIME DESTINATION  "${CMAKE_INSTALL_BINDIR}"
    PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${LIBNAME}"
    COMPONENT gnutls
)

INSTALL (FILES "${CMAKE_CURRENT_BINARY_DIR}/${LIBNAME}-gnutls_export.h"
    DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${LIBNAME}")

INSTALL(EXPORT ${LIBNAME}-gnutlsTargets
    NAMESPACE EtherLab::
    FILE ${LIBNAME}-gnutlsTargets.cmake
    DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${LIBNAME}
)

EXPORT(EXPORT ${LIBNAME}-gnutlsTargets
    FILE "${CMAKE_CURRENT_BINARY_DIR}/../src/${LIBNAME}/${LIBNAME}-gnutlsTargets.cmake"
    NAMESPACE EtherLab::
)
