From ac1bed33add8890834bd97f7cdaa822bceb44a37 Mon Sep 17 00:00:00 2001 From: ivysnow Date: Tue, 18 Dec 2018 08:25:55 +0800 Subject: [PATCH] [libuv] fix for cmake target (#4803) * [libuv] fix for cmake target * [libuv] rename target to unofficial-libuv --- ports/libuv/CMakeLists.txt | 4 +++- ports/libuv/CONTROL | 2 +- ports/libuv/portfile.cmake | 7 +++++++ ports/libuv/unofficial-libuv-config.in.cmake | 7 +++++++ 4 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 ports/libuv/unofficial-libuv-config.in.cmake diff --git a/ports/libuv/CMakeLists.txt b/ports/libuv/CMakeLists.txt index c4b7c3882a756d..0f46ec07e04638 100644 --- a/ports/libuv/CMakeLists.txt +++ b/ports/libuv/CMakeLists.txt @@ -60,7 +60,7 @@ else() # Assume some Linux variant add_library(libuv ${UV_SOURCES_COMMON} ${UV_SOURCES_UNIX} ${UV_SOURCES_LINUX}) endif() -target_include_directories(libuv PUBLIC ./include PRIVATE ./src) +target_include_directories(libuv PUBLIC $ $ $) set_target_properties(libuv PROPERTIES DEFINE_SYMBOL BUILDING_UV_SHARED) if(NOT UV_SKIP_HEADERS) @@ -71,7 +71,9 @@ if(NOT UV_SKIP_HEADERS) endif() install(TARGETS libuv + EXPORT libuv RUNTIME DESTINATION bin ARCHIVE DESTINATION lib LIBRARY DESTINATION lib ) +install(EXPORT libuv FILE unofficial-libuv-targets.cmake NAMESPACE unofficial::libuv:: DESTINATION share/unofficial-libuv) diff --git a/ports/libuv/CONTROL b/ports/libuv/CONTROL index e90eaa5459391d..7a8a7909896569 100644 --- a/ports/libuv/CONTROL +++ b/ports/libuv/CONTROL @@ -1,3 +1,3 @@ Source: libuv -Version: 1.24.0 +Version: 1.24.0-1 Description: libuv is a multi-platform support library with a focus on asynchronous I/O. diff --git a/ports/libuv/portfile.cmake b/ports/libuv/portfile.cmake index 782d946c3fb02d..76077fc3dc95f7 100644 --- a/ports/libuv/portfile.cmake +++ b/ports/libuv/portfile.cmake @@ -18,8 +18,15 @@ vcpkg_configure_cmake( ) vcpkg_install_cmake() +vcpkg_fixup_cmake_targets(CONFIG_PATH share/unofficial-libuv TARGET_PATH share/unofficial-libuv) vcpkg_copy_pdbs() +configure_file( + ${CMAKE_CURRENT_LIST_DIR}/unofficial-libuv-config.in.cmake + ${CURRENT_PACKAGES_DIR}/share/unofficial-libuv/unofficial-libuv-config.cmake + @ONLY +) + file(READ ${CURRENT_PACKAGES_DIR}/include/uv.h UV_H) if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") string(REPLACE "defined(USING_UV_SHARED)" "1" UV_H "${UV_H}") diff --git a/ports/libuv/unofficial-libuv-config.in.cmake b/ports/libuv/unofficial-libuv-config.in.cmake new file mode 100644 index 00000000000000..7ff66b12c277ef --- /dev/null +++ b/ports/libuv/unofficial-libuv-config.in.cmake @@ -0,0 +1,7 @@ + +if("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static" AND NOT WIN32) + include(CMakeFindDependencyMacro) + find_dependency(Threads) +endif() + +include(${CMAKE_CURRENT_LIST_DIR}/unofficial-libuv-targets.cmake)