cmake_minimum_required(VERSION 3.29)

project(ext_strawberryperl)
include(${CMAKE_SOURCE_DIR}/../cmake/base-dep-options.cmake)

if (NOT WIN32)
    message (FATAL_ERROR "ext_strawberryperl in supported on Windows only")
endif()

ExternalProject_Add(
    ext_strawberryperl
    DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
    URL https://files.kde.org/krita/build/dependencies/strawberry-perl-5.42.2.1-64bit-portable.zip
    URL_HASH SHA1=b3cf1ae1eb40cb1a5b9f598ec196cd0fbe68c3ee

    BUILD_COMMAND ""
    CONFIGURE_COMMAND ""
    INSTALL_COMMAND
                ${CMAKE_COMMAND} -E echo Deploying Strawberry Perl portable
        COMMAND ${CMAKE_COMMAND} -DSRC=<SOURCE_DIR> -DDST=${EXTPREFIX}/Strawberry -P ${KRITA_CI_INSTALL_DIRECTORY}
        COMMAND ${CMAKE_COMMAND} -E echo "Removing Strawberry Perl pkg-config"
        COMMAND ${CMAKE_COMMAND} -DSRC=Strawberry/perl/bin/pkg-config.bat -DPREFIX=${EXTPREFIX} -P ${KRITA_CI_REMOVE_AT_PREFIX}
        COMMAND ${CMAKE_COMMAND} -DSRC=Strawberry/perl/bin/pkg-config -DPREFIX=${EXTPREFIX} -P ${KRITA_CI_REMOVE_AT_PREFIX}
        COMMAND ${CMAKE_COMMAND} -DSRC=Strawberry/c -DPREFIX=${EXTPREFIX} -P ${KRITA_CI_REMOVE_AT_PREFIX}

        UPDATE_COMMAND ""

    SOURCE_DIR "${CMAKE_CURRENT_BINARY_DIR}/Strawberry"
)

# set(USE_STRAWBERRYPERL ON CACHE BOOL "Krita will use its own package of strawberryperl" FORCE)
# set(PERL_EXECUTABLE ${EXTPREFIX}/Strawberry/perl/bin/perl.exe CACHE FILEPATH "Path to our own perl executable" FORCE)
# string(TOLOWER "$ENV{PATH}" _path)
# if (NOT _path MATCHES "strawberry")
#     message(FATAL_ERROR "Please add the following directories to PATH: ${EXTPREFIX}\\Strawberry\\perl\\bin")
# else()
#     message(STATUS "Perl not found, using Strawberry Perl as a fallback.")
# endif()

krita_add_to_ci_targets(ext_strawberryperl)
