cmake_minimum_required(VERSION 3.20)
project(shadowsocks_consumer LANGUAGES C)
set(SS_PACKAGE_NAME shadowsocks-c CACHE STRING "Installed package to test")
find_package(${SS_PACKAGE_NAME} CONFIG REQUIRED)
foreach(kind shared static)
    if(TARGET shadowsocks::${kind})
        if(SS_PACKAGE_NAME STREQUAL "shadowsocks-libev")
            # Exercise legacy filenames as well as legacy package discovery.
            foreach(property IMPORTED_LOCATION IMPORTED_IMPLIB)
                get_target_property(location shadowsocks::${kind} ${property})
                if(location)
                    get_filename_component(directory "${location}" DIRECTORY)
                    get_filename_component(filename "${location}" NAME)
                    string(REPLACE "shadowsocks-c" "shadowsocks-libev" filename "${filename}")
                    set_property(TARGET shadowsocks::${kind} PROPERTY ${property} "${directory}/${filename}")
                endif()
            endforeach()
        endif()
        add_executable(consumer_${kind} main.c)
        target_link_libraries(consumer_${kind} PRIVATE shadowsocks::${kind})
    endif()
endforeach()
