aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorivysnow <ivy@sgri.net>2018-12-18 08:25:55 +0800
committerRobert Schumacher <roschuma@microsoft.com>2018-12-17 16:25:55 -0800
commitac1bed33add8890834bd97f7cdaa822bceb44a37 (patch)
treeac3608d38e79f06330b3fd70d949e84bff08c4f9
parent4c6cd02b42ae5b9d49043081c1ed6298f1ffe08a (diff)
downloadvcpkg-ac1bed33add8890834bd97f7cdaa822bceb44a37.tar.gz
vcpkg-ac1bed33add8890834bd97f7cdaa822bceb44a37.zip
[libuv] fix for cmake target (#4803)
* [libuv] fix for cmake target * [libuv] rename target to unofficial-libuv
-rw-r--r--ports/libuv/CMakeLists.txt4
-rw-r--r--ports/libuv/CONTROL2
-rw-r--r--ports/libuv/portfile.cmake7
-rw-r--r--ports/libuv/unofficial-libuv-config.in.cmake7
4 files changed, 18 insertions, 2 deletions
diff --git a/ports/libuv/CMakeLists.txt b/ports/libuv/CMakeLists.txt
index c4b7c3882..0f46ec07e 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 $<INSTALL_INTERFACE:include> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src>)
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 e90eaa545..7a8a79098 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 782d946c3..76077fc3d 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 000000000..7ff66b12c
--- /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)