project(LibPocoCapsule VERSION 1.1.0)

add_library(${PROJECT_NAME})
add_library(PocoCapsule::${PROJECT_NAME} ALIAS ${PROJECT_NAME})

target_sources(
    ${PROJECT_NAME}
    PRIVATE
        appctxtimp.h
        convert.h
        descs.h
        domreader.h
        hashtable.h
        libloader.h
        pocodom.h
        pocoenv.h
        pocoreflx.h
        pocostr.h
        table.h
        util.h

        appctxtimp.C
        convert.C
        descs.C
        domreader.C
        hashtable.C
        libloader.C
        pocoapp.C
        pocodom.C
        pocoenv.C
        pocoreflx.C
        pocostr.C
        table.C
        util.C
)

target_compile_definitions(
    ${PROJECT_NAME}
    PUBLIC
        $<$<BOOL:${BUILD_SHARED_LIBS}>:BUILD_POCOCAPSULE_DLL>
    PRIVATE
        $<$<BOOL:${BUILD_SHARED_LIBS}>:POCOCAPSULE_DLL_EXPORT>
)

target_include_directories(
    ${PROJECT_NAME}
    PUBLIC
        $<INSTALL_INTERFACE:include/>
        $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/include>
    PRIVATE
        $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
)

install(TARGETS ${PROJECT_NAME})
