add_library(launcher_lib OBJECT)
target_sources(
    launcher_lib
    PRIVATE
        launcher.C
        launcher.h
        pocostr.C
        pocostr.h
    )

target_include_directories(
    launcher_lib
    PUBLIC
        $<INSTALL_INTERFACE:include/>
        $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/include>
    PRIVATE
        $<BUILD_INTERFACE:${JAVA_HOME}/include>
        $<BUILD_INTERFACE:$<$<PLATFORM_ID:Windows>:${JAVA_HOME}/include/win32>>
        $<BUILD_INTERFACE:$<$<PLATFORM_ID:Linux>:${JAVA_HOME}/include/linux>>
        $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/capsule>
)

function(add_poco_tool TOOL_NAME)
    add_executable(${TOOL_NAME})

    target_sources(
        ${TOOL_NAME}
        PRIVATE
            ${TOOL_NAME}.C
    )

    target_link_libraries(
        ${TOOL_NAME}
        PRIVATE
            launcher_lib
    )

    install(TARGETS ${TOOL_NAME})
endfunction()

add_poco_tool(pxgenproxy)
add_poco_tool(pxencode)
add_poco_tool(pxtransform)
