mirror of
https://github.com/neovim/neovim.git
synced 2025-09-06 03:18:16 +00:00
build libuv cmake (#19632)
Co-authored-by: Daniel Hahler <git@thequod.de>
This commit is contained in:
@@ -63,11 +63,9 @@ endif()
|
|||||||
|
|
||||||
option(USE_EXISTING_SRC_DIR "Skip download of deps sources in case of existing source directory." OFF)
|
option(USE_EXISTING_SRC_DIR "Skip download of deps sources in case of existing source directory." OFF)
|
||||||
|
|
||||||
if(WIN32)
|
|
||||||
find_package(Git)
|
find_package(Git)
|
||||||
if(NOT Git_FOUND)
|
if(NOT Git_FOUND)
|
||||||
message(FATAL_ERROR "Git is required to apply patches for Windows.")
|
message(FATAL_ERROR "Git is required to apply patches.")
|
||||||
endif()
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(UNIX)
|
if(UNIX)
|
||||||
|
@@ -1,77 +1,26 @@
|
|||||||
# BuildLibuv(TARGET targetname CONFIGURE_COMMAND ... BUILD_COMMAND ... INSTALL_COMMAND ...)
|
ExternalProject_Add(libuv
|
||||||
# Reusable function to build libuv, wraps ExternalProject_Add.
|
|
||||||
# Failing to pass a command argument will result in no command being run
|
|
||||||
function(BuildLibuv)
|
|
||||||
cmake_parse_arguments(_libuv
|
|
||||||
"BUILD_IN_SOURCE"
|
|
||||||
"TARGET"
|
|
||||||
"PATCH_COMMAND;CONFIGURE_COMMAND;BUILD_COMMAND;INSTALL_COMMAND"
|
|
||||||
${ARGN})
|
|
||||||
|
|
||||||
if(NOT _libuv_CONFIGURE_COMMAND AND NOT _libuv_BUILD_COMMAND
|
|
||||||
AND NOT _libuv_INSTALL_COMMAND)
|
|
||||||
message(FATAL_ERROR "Must pass at least one of CONFIGURE_COMMAND, BUILD_COMMAND, INSTALL_COMMAND")
|
|
||||||
endif()
|
|
||||||
if(NOT _libuv_TARGET)
|
|
||||||
set(_libuv_TARGET "libuv")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
ExternalProject_Add(${_libuv_TARGET}
|
|
||||||
PREFIX ${DEPS_BUILD_DIR}
|
PREFIX ${DEPS_BUILD_DIR}
|
||||||
URL ${LIBUV_URL}
|
URL ${LIBUV_URL}
|
||||||
|
CMAKE_ARGS
|
||||||
|
-DCMAKE_INSTALL_PREFIX=${DEPS_INSTALL_DIR}
|
||||||
|
-DCMAKE_INSTALL_LIBDIR=lib
|
||||||
|
-DBUILD_TESTING=OFF
|
||||||
|
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
||||||
|
-DLIBUV_BUILD_SHARED=OFF
|
||||||
|
CMAKE_CACHE_ARGS
|
||||||
|
-DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES}
|
||||||
DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/libuv
|
DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/libuv
|
||||||
DOWNLOAD_COMMAND ${CMAKE_COMMAND}
|
DOWNLOAD_COMMAND ${CMAKE_COMMAND}
|
||||||
-DPREFIX=${DEPS_BUILD_DIR}
|
-DPREFIX=${DEPS_BUILD_DIR}
|
||||||
-DDOWNLOAD_DIR=${DEPS_DOWNLOAD_DIR}/libuv
|
-DDOWNLOAD_DIR=${DEPS_DOWNLOAD_DIR}/libuv
|
||||||
-DURL=${LIBUV_URL}
|
-DURL=${LIBUV_URL}
|
||||||
-DEXPECTED_SHA256=${LIBUV_SHA256}
|
-DEXPECTED_SHA256=${LIBUV_SHA256}
|
||||||
-DTARGET=${_libuv_TARGET}
|
-DTARGET=libuv
|
||||||
-DUSE_EXISTING_SRC_DIR=${USE_EXISTING_SRC_DIR}
|
-DUSE_EXISTING_SRC_DIR=${USE_EXISTING_SRC_DIR}
|
||||||
-P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/DownloadAndExtractFile.cmake
|
-P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/DownloadAndExtractFile.cmake
|
||||||
PATCH_COMMAND "${_libuv_PATCH_COMMAND}"
|
PATCH_COMMAND
|
||||||
BUILD_IN_SOURCE ${_libuv_BUILD_IN_SOURCE}
|
${GIT_EXECUTABLE} -C ${DEPS_BUILD_DIR}/src/libuv init
|
||||||
CONFIGURE_COMMAND "${_libuv_CONFIGURE_COMMAND}"
|
COMMAND ${GIT_EXECUTABLE} -C ${DEPS_BUILD_DIR}/src/libuv apply --ignore-whitespace
|
||||||
BUILD_COMMAND "${_libuv_BUILD_COMMAND}"
|
${CMAKE_CURRENT_SOURCE_DIR}/patches/libuv-disable-shared.patch)
|
||||||
INSTALL_COMMAND "${_libuv_INSTALL_COMMAND}")
|
|
||||||
endfunction()
|
|
||||||
|
|
||||||
set(UNIX_CFGCMD sh ${DEPS_BUILD_DIR}/src/libuv/autogen.sh &&
|
|
||||||
${DEPS_BUILD_DIR}/src/libuv/configure --with-pic --disable-shared
|
|
||||||
--prefix=${DEPS_INSTALL_DIR} --libdir=${DEPS_INSTALL_DIR}/lib
|
|
||||||
CC=${DEPS_C_COMPILER})
|
|
||||||
|
|
||||||
if(UNIX)
|
|
||||||
BuildLibuv(
|
|
||||||
CONFIGURE_COMMAND ${UNIX_CFGCMD} MAKE=${MAKE_PRG}
|
|
||||||
INSTALL_COMMAND ${MAKE_PRG} V=1 install)
|
|
||||||
|
|
||||||
elseif(WIN32)
|
|
||||||
|
|
||||||
set(UV_OUTPUT_DIR ${DEPS_BUILD_DIR}/src/libuv/${CMAKE_BUILD_TYPE})
|
|
||||||
if(MSVC)
|
|
||||||
set(BUILD_SHARED ON)
|
|
||||||
elseif(MINGW)
|
|
||||||
set(BUILD_SHARED OFF)
|
|
||||||
else()
|
|
||||||
message(FATAL_ERROR "Trying to build libuv in an unsupported system ${CMAKE_SYSTEM_NAME}/${CMAKE_C_COMPILER_ID}")
|
|
||||||
endif()
|
|
||||||
BuildLibUv(BUILD_IN_SOURCE
|
|
||||||
CONFIGURE_COMMAND ${CMAKE_COMMAND} -E copy
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/cmake/LibuvCMakeLists.txt
|
|
||||||
${DEPS_BUILD_DIR}/src/libuv/CMakeLists.txt
|
|
||||||
COMMAND ${CMAKE_COMMAND} ${DEPS_BUILD_DIR}/src/libuv/CMakeLists.txt
|
|
||||||
-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
|
|
||||||
-DCMAKE_GENERATOR=${CMAKE_GENERATOR}
|
|
||||||
-DCMAKE_GENERATOR_PLATFORM=${CMAKE_GENERATOR_PLATFORM}
|
|
||||||
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
|
|
||||||
-DBUILD_SHARED_LIBS=${BUILD_SHARED}
|
|
||||||
-DCMAKE_INSTALL_PREFIX=${DEPS_INSTALL_DIR}
|
|
||||||
PATCH_COMMAND ${LIBUV_PATCH_COMMAND}
|
|
||||||
BUILD_COMMAND ${CMAKE_COMMAND} --build . --config ${CMAKE_BUILD_TYPE}
|
|
||||||
INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config ${CMAKE_BUILD_TYPE})
|
|
||||||
|
|
||||||
else()
|
|
||||||
message(FATAL_ERROR "Trying to build libuv in an unsupported system ${CMAKE_SYSTEM_NAME}/${CMAKE_C_COMPILER_ID}")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
list(APPEND THIRD_PARTY_DEPS libuv)
|
list(APPEND THIRD_PARTY_DEPS libuv)
|
||||||
|
@@ -192,35 +192,21 @@ if(USE_BUNDLED_BUSTED)
|
|||||||
# luv
|
# luv
|
||||||
set(LUV_DEPS luacheck)
|
set(LUV_DEPS luacheck)
|
||||||
if(USE_BUNDLED_LUV)
|
if(USE_BUNDLED_LUV)
|
||||||
list(APPEND LUV_DEPS luv-static lua-compat-5.3)
|
set(NVIM_CLIENT_DEPS luacheck luv-static lua-compat-5.3)
|
||||||
set(LUV_ARGS "CFLAGS=-O0 -g3 -fPIC")
|
|
||||||
if(USE_BUNDLED_LIBUV)
|
|
||||||
list(APPEND LUV_ARGS LIBUV_DIR=${HOSTDEPS_INSTALL_DIR})
|
|
||||||
# workaround for bug introduced in
|
|
||||||
# https://github.com/luarocks/luarocks/commit/83126ba324846b754ffc5e0345341f01262b3f86
|
|
||||||
if(MSVC)
|
|
||||||
list(APPEND LUV_ARGS LIBUV_LIBDIR=${HOSTDEPS_INSTALL_DIR}/lib)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
SET(LUV_PRIVATE_ARGS LUA_COMPAT53_INCDIR=${DEPS_BUILD_DIR}/src/lua-compat-5.3/c-api)
|
|
||||||
add_custom_command(OUTPUT ${ROCKS_DIR}/luv
|
|
||||||
COMMAND ${LUAROCKS_BINARY}
|
|
||||||
ARGS make ${LUAROCKS_BUILDARGS} ${LUV_ARGS} ${LUV_PRIVATE_ARGS}
|
|
||||||
WORKING_DIRECTORY ${DEPS_BUILD_DIR}/src/luv
|
|
||||||
DEPENDS ${LUV_DEPS})
|
|
||||||
else()
|
else()
|
||||||
add_custom_command(OUTPUT ${ROCKS_DIR}/luv
|
add_custom_command(OUTPUT ${ROCKS_DIR}/luv
|
||||||
COMMAND ${LUAROCKS_BINARY}
|
COMMAND ${LUAROCKS_BINARY}
|
||||||
ARGS build luv ${LUV_VERSION} ${LUAROCKS_BUILDARGS}
|
ARGS build luv ${LUV_VERSION} ${LUAROCKS_BUILDARGS}
|
||||||
DEPENDS ${LUV_DEPS})
|
DEPENDS luacheck)
|
||||||
endif()
|
|
||||||
add_custom_target(luv DEPENDS ${ROCKS_DIR}/luv)
|
add_custom_target(luv DEPENDS ${ROCKS_DIR}/luv)
|
||||||
|
set(NVIM_CLIENT_DEPS luv)
|
||||||
|
endif()
|
||||||
|
|
||||||
# nvim-client: https://github.com/neovim/lua-client
|
# nvim-client: https://github.com/neovim/lua-client
|
||||||
add_custom_command(OUTPUT ${ROCKS_DIR}/nvim-client
|
add_custom_command(OUTPUT ${ROCKS_DIR}/nvim-client
|
||||||
COMMAND ${LUAROCKS_BINARY}
|
COMMAND ${LUAROCKS_BINARY}
|
||||||
ARGS build nvim-client 0.2.4-1 ${LUAROCKS_BUILDARGS}
|
ARGS build nvim-client 0.2.4-1 ${LUAROCKS_BUILDARGS}
|
||||||
DEPENDS luv)
|
DEPENDS ${NVIM_CLIENT_DEPS})
|
||||||
add_custom_target(nvim-client DEPENDS ${ROCKS_DIR}/nvim-client)
|
add_custom_target(nvim-client DEPENDS ${ROCKS_DIR}/nvim-client)
|
||||||
|
|
||||||
list(APPEND THIRD_PARTY_DEPS busted luacheck nvim-client)
|
list(APPEND THIRD_PARTY_DEPS busted luacheck nvim-client)
|
||||||
|
@@ -56,11 +56,6 @@ set(LUV_SRC_DIR ${DEPS_BUILD_DIR}/src/luv)
|
|||||||
set(LUV_INCLUDE_FLAGS
|
set(LUV_INCLUDE_FLAGS
|
||||||
"-I${DEPS_INSTALL_DIR}/include -I${DEPS_INSTALL_DIR}/include/luajit-2.1")
|
"-I${DEPS_INSTALL_DIR}/include -I${DEPS_INSTALL_DIR}/include/luajit-2.1")
|
||||||
|
|
||||||
# Replace luv default rockspec with the alternate one under the "rockspecs"
|
|
||||||
# directory
|
|
||||||
set(LUV_PATCH_COMMAND
|
|
||||||
${CMAKE_COMMAND} -E copy_directory ${LUV_SRC_DIR}/rockspecs ${LUV_SRC_DIR})
|
|
||||||
|
|
||||||
set(LUV_CONFIGURE_COMMAND_COMMON
|
set(LUV_CONFIGURE_COMMAND_COMMON
|
||||||
${CMAKE_COMMAND} ${LUV_SRC_DIR}
|
${CMAKE_COMMAND} ${LUV_SRC_DIR}
|
||||||
-DCMAKE_GENERATOR=${CMAKE_GENERATOR}
|
-DCMAKE_GENERATOR=${CMAKE_GENERATOR}
|
||||||
@@ -90,7 +85,8 @@ endif()
|
|||||||
if(USE_BUNDLED_LIBUV)
|
if(USE_BUNDLED_LIBUV)
|
||||||
set(LUV_CONFIGURE_COMMAND_COMMON
|
set(LUV_CONFIGURE_COMMAND_COMMON
|
||||||
${LUV_CONFIGURE_COMMAND_COMMON}
|
${LUV_CONFIGURE_COMMAND_COMMON}
|
||||||
-DCMAKE_PREFIX_PATH=${DEPS_INSTALL_DIR})
|
-DCMAKE_PREFIX_PATH=${DEPS_INSTALL_DIR}
|
||||||
|
-DLIBUV_LIBRARIES=uv_a)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
@@ -127,6 +123,8 @@ BuildLuv(PATCH_COMMAND ${LUV_PATCH_COMMAND}
|
|||||||
list(APPEND THIRD_PARTY_DEPS luv-static)
|
list(APPEND THIRD_PARTY_DEPS luv-static)
|
||||||
if(USE_BUNDLED_LUAJIT)
|
if(USE_BUNDLED_LUAJIT)
|
||||||
add_dependencies(luv-static luajit)
|
add_dependencies(luv-static luajit)
|
||||||
|
elseif(USE_BUNDLED_LUA)
|
||||||
|
add_dependencies(luv-static lua)
|
||||||
endif()
|
endif()
|
||||||
if(USE_BUNDLED_LIBUV)
|
if(USE_BUNDLED_LIBUV)
|
||||||
add_dependencies(luv-static libuv)
|
add_dependencies(luv-static libuv)
|
||||||
|
@@ -1,33 +0,0 @@
|
|||||||
cmake_minimum_required(VERSION 2.8.12)
|
|
||||||
project(libuv LANGUAGES C)
|
|
||||||
|
|
||||||
file(GLOB UV_SOURCES_COMMON src/*.c)
|
|
||||||
file(GLOB UV_SOURCES_WIN src/win/*.c)
|
|
||||||
|
|
||||||
add_library(uv ${UV_SOURCES_COMMON} ${UV_SOURCES_WIN})
|
|
||||||
target_compile_definitions(uv PRIVATE WIN32_LEAN_AND_MEAN "_WIN32_WINNT=0x0600")
|
|
||||||
target_link_libraries(uv iphlpapi psapi shell32 userenv ws2_32)
|
|
||||||
target_include_directories(uv PUBLIC ./include PRIVATE ./src)
|
|
||||||
if(BUILD_SHARED_LIBS)
|
|
||||||
set_target_properties(uv PROPERTIES DEFINE_SYMBOL BUILDING_UV_SHARED)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
install(FILES
|
|
||||||
include/uv.h
|
|
||||||
DESTINATION include)
|
|
||||||
|
|
||||||
install(FILES
|
|
||||||
include/uv/errno.h
|
|
||||||
include/uv/threadpool.h
|
|
||||||
include/uv/tree.h
|
|
||||||
include/uv/version.h
|
|
||||||
include/uv/win.h
|
|
||||||
DESTINATION include/uv)
|
|
||||||
|
|
||||||
include(GNUInstallDirs)
|
|
||||||
install(TARGETS uv
|
|
||||||
PUBLIC_HEADER
|
|
||||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
||||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
||||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
||||||
PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
|
117
cmake.deps/patches/libuv-disable-shared.patch
Normal file
117
cmake.deps/patches/libuv-disable-shared.patch
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
From 326a1845f924432332071d03d156b7df4af7c46f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Tim Tavlintsev <ttavlintsev@enttec.com>
|
||||||
|
Date: Thu, 21 Jul 2022 16:42:21 +1000
|
||||||
|
Subject: [PATCH] Add CMake option LIBUV_BUILD_SHARED to enable/disable shared
|
||||||
|
library build Fix #3637
|
||||||
|
|
||||||
|
---
|
||||||
|
CMakeLists.txt | 66 +++++++++++++++++++++++++++++---------------------
|
||||||
|
1 file changed, 38 insertions(+), 28 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 2c42c3ff..a8e19980 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -28,6 +28,8 @@ cmake_dependent_option(LIBUV_BUILD_BENCH
|
||||||
|
"Build the benchmarks when building unit tests and we are the root project" ON
|
||||||
|
"LIBUV_BUILD_TESTS" OFF)
|
||||||
|
|
||||||
|
+option(LIBUV_BUILD_SHARED "Build shared lib" ON)
|
||||||
|
+
|
||||||
|
# Qemu Build
|
||||||
|
option(QEMU "build for qemu" OFF)
|
||||||
|
if(QEMU)
|
||||||
|
@@ -390,25 +392,27 @@ if(APPLE OR CMAKE_SYSTEM_NAME MATCHES "DragonFly|FreeBSD|Linux|NetBSD|OpenBSD")
|
||||||
|
list(APPEND uv_test_libraries util)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
-add_library(uv SHARED ${uv_sources})
|
||||||
|
-target_compile_definitions(uv
|
||||||
|
- INTERFACE
|
||||||
|
- USING_UV_SHARED=1
|
||||||
|
- PRIVATE
|
||||||
|
- BUILDING_UV_SHARED=1
|
||||||
|
- ${uv_defines})
|
||||||
|
-target_compile_options(uv PRIVATE ${uv_cflags})
|
||||||
|
-target_include_directories(uv
|
||||||
|
- PUBLIC
|
||||||
|
- $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
|
||||||
|
- $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
||||||
|
- PRIVATE
|
||||||
|
- $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src>)
|
||||||
|
-if(CMAKE_SYSTEM_NAME STREQUAL "OS390")
|
||||||
|
- target_include_directories(uv PUBLIC $<BUILD_INTERFACE:${ZOSLIB_DIR}/include>)
|
||||||
|
- set_target_properties(uv PROPERTIES LINKER_LANGUAGE CXX)
|
||||||
|
+if(LIBUV_BUILD_SHARED)
|
||||||
|
+ add_library(uv SHARED ${uv_sources})
|
||||||
|
+ target_compile_definitions(uv
|
||||||
|
+ INTERFACE
|
||||||
|
+ USING_UV_SHARED=1
|
||||||
|
+ PRIVATE
|
||||||
|
+ BUILDING_UV_SHARED=1
|
||||||
|
+ ${uv_defines})
|
||||||
|
+ target_compile_options(uv PRIVATE ${uv_cflags})
|
||||||
|
+ target_include_directories(uv
|
||||||
|
+ PUBLIC
|
||||||
|
+ $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>
|
||||||
|
+ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
|
||||||
|
+ PRIVATE
|
||||||
|
+ $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src>)
|
||||||
|
+ if(CMAKE_SYSTEM_NAME STREQUAL "OS390")
|
||||||
|
+ target_include_directories(uv PUBLIC $<BUILD_INTERFACE:${ZOSLIB_DIR}/include>)
|
||||||
|
+ set_target_properties(uv PROPERTIES LINKER_LANGUAGE CXX)
|
||||||
|
+ endif()
|
||||||
|
+ target_link_libraries(uv ${uv_libraries})
|
||||||
|
endif()
|
||||||
|
-target_link_libraries(uv ${uv_libraries})
|
||||||
|
|
||||||
|
add_library(uv_a STATIC ${uv_sources})
|
||||||
|
target_compile_definitions(uv_a PRIVATE ${uv_defines})
|
||||||
|
@@ -669,28 +673,34 @@ string(REPLACE ";" " " LIBS "${LIBS}")
|
||||||
|
file(STRINGS configure.ac configure_ac REGEX ^AC_INIT)
|
||||||
|
string(REGEX MATCH "([0-9]+)[.][0-9]+[.][0-9]+" PACKAGE_VERSION "${configure_ac}")
|
||||||
|
set(UV_VERSION_MAJOR "${CMAKE_MATCH_1}")
|
||||||
|
-# The version in the filename is mirroring the behaviour of autotools.
|
||||||
|
-set_target_properties(uv PROPERTIES
|
||||||
|
- VERSION ${UV_VERSION_MAJOR}.0.0
|
||||||
|
- SOVERSION ${UV_VERSION_MAJOR})
|
||||||
|
+
|
||||||
|
set(includedir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR})
|
||||||
|
set(libdir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR})
|
||||||
|
set(prefix ${CMAKE_INSTALL_PREFIX})
|
||||||
|
-configure_file(libuv.pc.in libuv.pc @ONLY)
|
||||||
|
configure_file(libuv-static.pc.in libuv-static.pc @ONLY)
|
||||||
|
|
||||||
|
install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
|
||||||
|
install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
||||||
|
-install(FILES ${PROJECT_BINARY_DIR}/libuv.pc ${PROJECT_BINARY_DIR}/libuv-static.pc
|
||||||
|
+install(FILES ${PROJECT_BINARY_DIR}/libuv-static.pc
|
||||||
|
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
|
||||||
|
-install(TARGETS uv EXPORT libuvConfig
|
||||||
|
- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
|
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||||
|
install(TARGETS uv_a EXPORT libuvConfig
|
||||||
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||||
|
install(EXPORT libuvConfig DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libuv)
|
||||||
|
|
||||||
|
+if(LIBUV_BUILD_SHARED)
|
||||||
|
+ # The version in the filename is mirroring the behaviour of autotools.
|
||||||
|
+ set_target_properties(uv PROPERTIES
|
||||||
|
+ VERSION ${UV_VERSION_MAJOR}.0.0
|
||||||
|
+ SOVERSION ${UV_VERSION_MAJOR})
|
||||||
|
+ configure_file(libuv.pc.in libuv.pc @ONLY)
|
||||||
|
+ install(FILES ${PROJECT_BINARY_DIR}/libuv.pc
|
||||||
|
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
|
||||||
|
+ install(TARGETS uv EXPORT libuvConfig
|
||||||
|
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||||
|
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||||
|
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||||
|
+endif()
|
||||||
|
+
|
||||||
|
if(MSVC)
|
||||||
|
set(CMAKE_DEBUG_POSTFIX d)
|
||||||
|
endif()
|
||||||
|
--
|
||||||
|
2.37.0
|
||||||
|
|
@@ -13,7 +13,7 @@ endif()
|
|||||||
find_path(LIBUV_INCLUDE_DIR uv.h
|
find_path(LIBUV_INCLUDE_DIR uv.h
|
||||||
HINTS ${PC_LIBUV_INCLUDEDIR} ${PC_LIBUV_INCLUDE_DIRS})
|
HINTS ${PC_LIBUV_INCLUDEDIR} ${PC_LIBUV_INCLUDE_DIRS})
|
||||||
|
|
||||||
list(APPEND LIBUV_NAMES uv)
|
list(APPEND LIBUV_NAMES uv_a uv)
|
||||||
|
|
||||||
find_library(LIBUV_LIBRARY NAMES ${LIBUV_NAMES}
|
find_library(LIBUV_LIBRARY NAMES ${LIBUV_NAMES}
|
||||||
HINTS ${PC_LIBUV_LIBDIR} ${PC_LIBUV_LIBRARY_DIRS})
|
HINTS ${PC_LIBUV_LIBDIR} ${PC_LIBUV_LIBRARY_DIRS})
|
||||||
|
Reference in New Issue
Block a user