From 828c9baad2a691ba87a99ee7dda7d7ac3b32cbe5 Mon Sep 17 00:00:00 2001 From: erw7 Date: Mon, 21 May 2018 19:32:19 +0900 Subject: Change to enable build by Ninja on Windows --- third-party/CMakeLists.txt | 9 +++++++++ third-party/cmake/BuildLibuv.cmake | 7 ++++++- third-party/cmake/BuildLuajit.cmake | 10 +++++++--- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/third-party/CMakeLists.txt b/third-party/CMakeLists.txt index 6a9a029b1d..1fc045e0f7 100644 --- a/third-party/CMakeLists.txt +++ b/third-party/CMakeLists.txt @@ -81,6 +81,15 @@ if(CMAKE_GENERATOR MATCHES "Makefiles") set(MAKE_PRG "$(MAKE)") endif() +if(MINGW AND CMAKE_GENERATOR MATCHES "Ninja") + find_program(MAKE_PRG NAMES mingw32-make) + if(NOT MAKE_PRG) + message(FATAL_ERROR "GNU Make for mingw32 is required to build the dependecies.") + else() + message(STATUS "Found GNU Make for mingw32 at ${MAKE_PRG}") + endif() +endif() + if(CMAKE_C_COMPILER_ARG1) set(DEPS_C_COMPILER "${CMAKE_C_COMPILER} ${CMAKE_C_COMPILER_ARG1}") else() diff --git a/third-party/cmake/BuildLibuv.cmake b/third-party/cmake/BuildLibuv.cmake index 084e707f92..8fc7ad67f9 100644 --- a/third-party/cmake/BuildLibuv.cmake +++ b/third-party/cmake/BuildLibuv.cmake @@ -66,10 +66,15 @@ elseif(MINGW AND CMAKE_CROSSCOMPILING) elseif(MINGW) + if(CMAKE_GENERATOR MATCHES "Ninja") + set(LIBUV_MAKE_PRG ${MAKE_PRG}) + else() + set(LIBUV_MAKE_PRG ${CMAKE_MAKE_PROGRAM}) + endif() # Native MinGW BuildLibUv(BUILD_IN_SOURCE PATCH_COMMAND ${LIBUV_PATCH_COMMAND} - BUILD_COMMAND ${CMAKE_MAKE_PROGRAM} -f Makefile.mingw + BUILD_COMMAND ${LIBUV_MAKE_PRG} -f Makefile.mingw INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_INSTALL_DIR}/lib COMMAND ${CMAKE_COMMAND} -E copy ${DEPS_BUILD_DIR}/src/libuv/libuv.a ${DEPS_INSTALL_DIR}/lib COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_INSTALL_DIR}/include diff --git a/third-party/cmake/BuildLuajit.cmake b/third-party/cmake/BuildLuajit.cmake index 2fda221b12..721bca9f63 100644 --- a/third-party/cmake/BuildLuajit.cmake +++ b/third-party/cmake/BuildLuajit.cmake @@ -78,8 +78,12 @@ elseif(MINGW AND CMAKE_CROSSCOMPILING) elseif(MINGW) - - BuildLuaJit(BUILD_COMMAND ${CMAKE_MAKE_PROGRAM} CC=${DEPS_C_COMPILER} + if(CMAKE_GENERATOR MATCHES "Ninja") + set(LUAJIT_MAKE_PRG ${MAKE_PRG}) + else() + set(LUAJIT_MAKE_PRG ${CMAKE_MAKE_PROGRAM}) + endif() + BuildLuaJit(BUILD_COMMAND ${LUAJIT_MAKE_PRG} CC=${DEPS_C_COMPILER} PREFIX=${DEPS_INSTALL_DIR} CFLAGS+=-DLUAJIT_DISABLE_JIT CFLAGS+=-DLUA_USE_APICHECK @@ -87,7 +91,7 @@ elseif(MINGW) CCDEBUG+=-g BUILDMODE=static # Build a DLL too - COMMAND ${CMAKE_MAKE_PROGRAM} CC=${DEPS_C_COMPILER} BUILDMODE=dynamic + COMMAND ${LUAJIT_MAKE_PRG} CC=${DEPS_C_COMPILER} BUILDMODE=dynamic INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_INSTALL_DIR}/bin COMMAND ${CMAKE_COMMAND} -E copy ${DEPS_BUILD_DIR}/src/luajit/src/luajit.exe ${DEPS_INSTALL_DIR}/bin -- cgit From 5000c9dc1f004a22aa12ed03a42c64093e447fd2 Mon Sep 17 00:00:00 2001 From: erw7 Date: Tue, 22 May 2018 01:08:41 +0900 Subject: Change to use cmake to build libuv --- third-party/cmake/BuildLibuv.cmake | 46 +++++++++++++++++------------------ third-party/cmake/LibuvCMakeLists.txt | 20 ++++++++++----- 2 files changed, 37 insertions(+), 29 deletions(-) diff --git a/third-party/cmake/BuildLibuv.cmake b/third-party/cmake/BuildLibuv.cmake index 8fc7ad67f9..fbda512a64 100644 --- a/third-party/cmake/BuildLibuv.cmake +++ b/third-party/cmake/BuildLibuv.cmake @@ -64,26 +64,20 @@ elseif(MINGW AND CMAKE_CROSSCOMPILING) CONFIGURE_COMMAND ${UNIX_CFGCMD} --host=${CROSS_TARGET} INSTALL_COMMAND ${MAKE_PRG} V=1 install) -elseif(MINGW) +elseif((WIN32 AND MSVC) OR (MINGW AND CMAKE_GENERATOR MATCHES "Ninja")) - if(CMAKE_GENERATOR MATCHES "Ninja") - set(LIBUV_MAKE_PRG ${MAKE_PRG}) + set(UV_OUTPUT_DIR ${DEPS_BUILD_DIR}/src/libuv/${CMAKE_BUILD_TYPE}) + if(MSVC) + set(INSTALL_CMD ${CMAKE_COMMAND} --build . --target install --config ${CMAKE_BUILD_TYPE} + # Some applications (lua-client/luarocks) look for uv.lib instead of libuv.lib + COMMAND ${CMAKE_COMMAND} -E copy ${UV_OUTPUT_DIR}/libuv.lib ${DEPS_INSTALL_DIR}/lib/uv.lib + COMMAND ${CMAKE_COMMAND} -E copy ${UV_OUTPUT_DIR}/libuv.dll ${DEPS_INSTALL_DIR}/bin/ + COMMAND ${CMAKE_COMMAND} -E copy ${UV_OUTPUT_DIR}/libuv.dll ${DEPS_INSTALL_DIR}/bin/uv.dll + COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_INSTALL_DIR}/include + COMMAND ${CMAKE_COMMAND} -E copy_directory ${DEPS_BUILD_DIR}/src/libuv/include ${DEPS_INSTALL_DIR}/include) else() - set(LIBUV_MAKE_PRG ${CMAKE_MAKE_PROGRAM}) + set(INSTALL_CMD ${CMAKE_COMMAND} --build . --target install --config ${CMAKE_BUILD_TYPE}) endif() - # Native MinGW - BuildLibUv(BUILD_IN_SOURCE - PATCH_COMMAND ${LIBUV_PATCH_COMMAND} - BUILD_COMMAND ${LIBUV_MAKE_PRG} -f Makefile.mingw - INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_INSTALL_DIR}/lib - COMMAND ${CMAKE_COMMAND} -E copy ${DEPS_BUILD_DIR}/src/libuv/libuv.a ${DEPS_INSTALL_DIR}/lib - COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_INSTALL_DIR}/include - COMMAND ${CMAKE_COMMAND} -E copy_directory ${DEPS_BUILD_DIR}/src/libuv/include ${DEPS_INSTALL_DIR}/include - ) - -elseif(WIN32 AND MSVC) - - set(UV_OUTPUT_DIR ${DEPS_BUILD_DIR}/src/libuv/${CMAKE_BUILD_TYPE}) BuildLibUv(BUILD_IN_SOURCE PATCH_COMMAND ${LIBUV_PATCH_COMMAND} CONFIGURE_COMMAND ${CMAKE_COMMAND} -E copy @@ -96,13 +90,19 @@ elseif(WIN32 AND MSVC) -DBUILD_SHARED_LIBS=ON -DCMAKE_INSTALL_PREFIX=${DEPS_INSTALL_DIR} BUILD_COMMAND ${CMAKE_COMMAND} --build . --config ${CMAKE_BUILD_TYPE} - INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config ${CMAKE_BUILD_TYPE} - # Some applications (lua-client/luarocks) look for uv.lib instead of libuv.lib - COMMAND ${CMAKE_COMMAND} -E copy ${UV_OUTPUT_DIR}/libuv.lib ${DEPS_INSTALL_DIR}/lib/uv.lib - COMMAND ${CMAKE_COMMAND} -E copy ${UV_OUTPUT_DIR}/libuv.dll ${DEPS_INSTALL_DIR}/bin/ - COMMAND ${CMAKE_COMMAND} -E copy ${UV_OUTPUT_DIR}/libuv.dll ${DEPS_INSTALL_DIR}/bin/uv.dll + INSTALL_COMMAND ${INSTALL_CMD}) + +elseif(MINGW) + + # Native MinGW + BuildLibUv(BUILD_IN_SOURCE + PATCH_COMMAND ${LIBUV_PATCH_COMMAND} + BUILD_COMMAND ${CMAKE_MAKE_PROGRAM} -f Makefile.mingw + INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_INSTALL_DIR}/lib + COMMAND ${CMAKE_COMMAND} -E copy ${DEPS_BUILD_DIR}/src/libuv/libuv.a ${DEPS_INSTALL_DIR}/lib COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_INSTALL_DIR}/include - COMMAND ${CMAKE_COMMAND} -E copy_directory ${DEPS_BUILD_DIR}/src/libuv/include ${DEPS_INSTALL_DIR}/include) + COMMAND ${CMAKE_COMMAND} -E copy_directory ${DEPS_BUILD_DIR}/src/libuv/include ${DEPS_INSTALL_DIR}/include + ) else() message(FATAL_ERROR "Trying to build libuv in an unsupported system ${CMAKE_SYSTEM_NAME}/${CMAKE_C_COMPILER_ID}") diff --git a/third-party/cmake/LibuvCMakeLists.txt b/third-party/cmake/LibuvCMakeLists.txt index 063e4291f2..d739e7ed12 100644 --- a/third-party/cmake/LibuvCMakeLists.txt +++ b/third-party/cmake/LibuvCMakeLists.txt @@ -4,11 +4,19 @@ project(libuv LANGUAGES C) file(GLOB UV_SOURCES_COMMON src/*.c) file(GLOB UV_SOURCES_WIN src/win/*.c) -add_library(libuv ${UV_SOURCES_COMMON} ${UV_SOURCES_WIN}) -target_compile_definitions(libuv PRIVATE WIN32_LEAN_AND_MEAN "_WIN32_WINNT=0x0600") -target_link_libraries(libuv iphlpapi psapi shell32 userenv ws2_32) -target_include_directories(libuv PUBLIC ./include PRIVATE ./src) -set_target_properties(libuv PROPERTIES DEFINE_SYMBOL BUILDING_UV_SHARED) +if(MSVC) + set(LIBUV libuv) + add_library(${LIBUV} ${UV_SOURCES_COMMON} ${UV_SOURCES_WIN}) +else() + set(LIBUV uv) + add_library(${LIBUV} STATIC ${UV_SOURCES_COMMON} ${UV_SOURCES_WIN}) +endif() +target_compile_definitions(${LIBUV} PRIVATE WIN32_LEAN_AND_MEAN "_WIN32_WINNT=0x0600") +target_link_libraries(${LIBUV} iphlpapi psapi shell32 userenv ws2_32) +target_include_directories(${LIBUV} PUBLIC ./include PRIVATE ./src) +if(MSVC) + set_target_properties(${LIBUV} PROPERTIES DEFINE_SYMBOL BUILDING_UV_SHARED) +endif() install(FILES include/tree.h @@ -20,7 +28,7 @@ install(FILES DESTINATION include) include(GNUInstallDirs) -install(TARGETS libuv +install(TARGETS ${LIBUV} PUBLIC_HEADER ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -- cgit From fdf17e33d5b295a5ed9f05a59ea2ec99675a01b0 Mon Sep 17 00:00:00 2001 From: erw7 Date: Tue, 22 May 2018 21:42:05 +0900 Subject: Change to always use cmake to build libuv on Windows --- third-party/cmake/BuildLibuv.cmake | 22 +++++++--------------- third-party/cmake/LibuvCMakeLists.txt | 4 ++-- 2 files changed, 9 insertions(+), 17 deletions(-) diff --git a/third-party/cmake/BuildLibuv.cmake b/third-party/cmake/BuildLibuv.cmake index fbda512a64..268e914437 100644 --- a/third-party/cmake/BuildLibuv.cmake +++ b/third-party/cmake/BuildLibuv.cmake @@ -64,7 +64,7 @@ elseif(MINGW AND CMAKE_CROSSCOMPILING) CONFIGURE_COMMAND ${UNIX_CFGCMD} --host=${CROSS_TARGET} INSTALL_COMMAND ${MAKE_PRG} V=1 install) -elseif((WIN32 AND MSVC) OR (MINGW AND CMAKE_GENERATOR MATCHES "Ninja")) +elseif(WIN32) set(UV_OUTPUT_DIR ${DEPS_BUILD_DIR}/src/libuv/${CMAKE_BUILD_TYPE}) if(MSVC) @@ -75,8 +75,12 @@ elseif((WIN32 AND MSVC) OR (MINGW AND CMAKE_GENERATOR MATCHES "Ninja")) COMMAND ${CMAKE_COMMAND} -E copy ${UV_OUTPUT_DIR}/libuv.dll ${DEPS_INSTALL_DIR}/bin/uv.dll COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_INSTALL_DIR}/include COMMAND ${CMAKE_COMMAND} -E copy_directory ${DEPS_BUILD_DIR}/src/libuv/include ${DEPS_INSTALL_DIR}/include) - else() + set(BUILD_SHARED ON) + elseif(MINGW) set(INSTALL_CMD ${CMAKE_COMMAND} --build . --target install --config ${CMAKE_BUILD_TYPE}) + 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 PATCH_COMMAND ${LIBUV_PATCH_COMMAND} @@ -87,23 +91,11 @@ elseif((WIN32 AND MSVC) OR (MINGW AND CMAKE_GENERATOR MATCHES "Ninja")) -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_GENERATOR=${CMAKE_GENERATOR} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} - -DBUILD_SHARED_LIBS=ON + -DBUILD_SHARED_LIBS=${BUILD_SHARED} -DCMAKE_INSTALL_PREFIX=${DEPS_INSTALL_DIR} BUILD_COMMAND ${CMAKE_COMMAND} --build . --config ${CMAKE_BUILD_TYPE} INSTALL_COMMAND ${INSTALL_CMD}) -elseif(MINGW) - - # Native MinGW - BuildLibUv(BUILD_IN_SOURCE - PATCH_COMMAND ${LIBUV_PATCH_COMMAND} - BUILD_COMMAND ${CMAKE_MAKE_PROGRAM} -f Makefile.mingw - INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_INSTALL_DIR}/lib - COMMAND ${CMAKE_COMMAND} -E copy ${DEPS_BUILD_DIR}/src/libuv/libuv.a ${DEPS_INSTALL_DIR}/lib - COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_INSTALL_DIR}/include - COMMAND ${CMAKE_COMMAND} -E copy_directory ${DEPS_BUILD_DIR}/src/libuv/include ${DEPS_INSTALL_DIR}/include - ) - else() message(FATAL_ERROR "Trying to build libuv in an unsupported system ${CMAKE_SYSTEM_NAME}/${CMAKE_C_COMPILER_ID}") endif() diff --git a/third-party/cmake/LibuvCMakeLists.txt b/third-party/cmake/LibuvCMakeLists.txt index d739e7ed12..983f9db404 100644 --- a/third-party/cmake/LibuvCMakeLists.txt +++ b/third-party/cmake/LibuvCMakeLists.txt @@ -6,11 +6,11 @@ file(GLOB UV_SOURCES_WIN src/win/*.c) if(MSVC) set(LIBUV libuv) - add_library(${LIBUV} ${UV_SOURCES_COMMON} ${UV_SOURCES_WIN}) else() set(LIBUV uv) - add_library(${LIBUV} STATIC ${UV_SOURCES_COMMON} ${UV_SOURCES_WIN}) endif() + +add_library(${LIBUV} ${UV_SOURCES_COMMON} ${UV_SOURCES_WIN}) target_compile_definitions(${LIBUV} PRIVATE WIN32_LEAN_AND_MEAN "_WIN32_WINNT=0x0600") target_link_libraries(${LIBUV} iphlpapi psapi shell32 userenv ws2_32) target_include_directories(${LIBUV} PUBLIC ./include PRIVATE ./src) -- cgit From fefb67fa885873c40577fc2bdc048204f8896a7a Mon Sep 17 00:00:00 2001 From: erw7 Date: Wed, 23 May 2018 20:03:53 +0900 Subject: Remove unnecessary copy of header --- third-party/cmake/BuildLibuv.cmake | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/third-party/cmake/BuildLibuv.cmake b/third-party/cmake/BuildLibuv.cmake index 268e914437..b9844ada2b 100644 --- a/third-party/cmake/BuildLibuv.cmake +++ b/third-party/cmake/BuildLibuv.cmake @@ -72,9 +72,7 @@ elseif(WIN32) # Some applications (lua-client/luarocks) look for uv.lib instead of libuv.lib COMMAND ${CMAKE_COMMAND} -E copy ${UV_OUTPUT_DIR}/libuv.lib ${DEPS_INSTALL_DIR}/lib/uv.lib COMMAND ${CMAKE_COMMAND} -E copy ${UV_OUTPUT_DIR}/libuv.dll ${DEPS_INSTALL_DIR}/bin/ - COMMAND ${CMAKE_COMMAND} -E copy ${UV_OUTPUT_DIR}/libuv.dll ${DEPS_INSTALL_DIR}/bin/uv.dll - COMMAND ${CMAKE_COMMAND} -E make_directory ${DEPS_INSTALL_DIR}/include - COMMAND ${CMAKE_COMMAND} -E copy_directory ${DEPS_BUILD_DIR}/src/libuv/include ${DEPS_INSTALL_DIR}/include) + COMMAND ${CMAKE_COMMAND} -E copy ${UV_OUTPUT_DIR}/libuv.dll ${DEPS_INSTALL_DIR}/bin/uv.dll) set(BUILD_SHARED ON) elseif(MINGW) set(INSTALL_CMD ${CMAKE_COMMAND} --build . --target install --config ${CMAKE_BUILD_TYPE}) -- cgit From 655e3167eec6196c3e480b360cfb0b93094a3359 Mon Sep 17 00:00:00 2001 From: erw7 Date: Wed, 23 May 2018 20:06:37 +0900 Subject: Change conditions to more generally --- third-party/cmake/LibuvCMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/third-party/cmake/LibuvCMakeLists.txt b/third-party/cmake/LibuvCMakeLists.txt index 983f9db404..35d6824df5 100644 --- a/third-party/cmake/LibuvCMakeLists.txt +++ b/third-party/cmake/LibuvCMakeLists.txt @@ -14,7 +14,7 @@ add_library(${LIBUV} ${UV_SOURCES_COMMON} ${UV_SOURCES_WIN}) target_compile_definitions(${LIBUV} PRIVATE WIN32_LEAN_AND_MEAN "_WIN32_WINNT=0x0600") target_link_libraries(${LIBUV} iphlpapi psapi shell32 userenv ws2_32) target_include_directories(${LIBUV} PUBLIC ./include PRIVATE ./src) -if(MSVC) +if(BUILD_SHARED_LIBS) set_target_properties(${LIBUV} PROPERTIES DEFINE_SYMBOL BUILDING_UV_SHARED) endif() -- cgit From d337965e0951748fb91bf7c939b01e0f4779d8f0 Mon Sep 17 00:00:00 2001 From: erw7 Date: Wed, 23 May 2018 20:22:05 +0900 Subject: Change to not use library prefix on MSVC --- cmake/FindLibUV.cmake | 6 +----- third-party/cmake/LibuvCMakeLists.txt | 18 ++++++------------ 2 files changed, 7 insertions(+), 17 deletions(-) diff --git a/cmake/FindLibUV.cmake b/cmake/FindLibUV.cmake index 3a60a831ea..29eaf15b8e 100644 --- a/cmake/FindLibUV.cmake +++ b/cmake/FindLibUV.cmake @@ -31,11 +31,7 @@ if(LIBUV_USE_STATIC) "${CMAKE_STATIC_LIBRARY_PREFIX}uv${CMAKE_STATIC_LIBRARY_SUFFIX}") endif(LIBUV_USE_STATIC) -if(MSVC) - list(APPEND LIBUV_NAMES libuv) -else() - list(APPEND LIBUV_NAMES uv) -endif() +list(APPEND LIBUV_NAMES uv) find_library(LIBUV_LIBRARY NAMES ${LIBUV_NAMES} HINTS ${PC_LIBUV_LIBDIR} ${PC_LIBUV_LIBRARY_DIRS} diff --git a/third-party/cmake/LibuvCMakeLists.txt b/third-party/cmake/LibuvCMakeLists.txt index 35d6824df5..920d5cec07 100644 --- a/third-party/cmake/LibuvCMakeLists.txt +++ b/third-party/cmake/LibuvCMakeLists.txt @@ -4,18 +4,12 @@ project(libuv LANGUAGES C) file(GLOB UV_SOURCES_COMMON src/*.c) file(GLOB UV_SOURCES_WIN src/win/*.c) -if(MSVC) - set(LIBUV libuv) -else() - set(LIBUV uv) -endif() - -add_library(${LIBUV} ${UV_SOURCES_COMMON} ${UV_SOURCES_WIN}) -target_compile_definitions(${LIBUV} PRIVATE WIN32_LEAN_AND_MEAN "_WIN32_WINNT=0x0600") -target_link_libraries(${LIBUV} iphlpapi psapi shell32 userenv ws2_32) -target_include_directories(${LIBUV} PUBLIC ./include PRIVATE ./src) +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(${LIBUV} PROPERTIES DEFINE_SYMBOL BUILDING_UV_SHARED) + set_target_properties(uv PROPERTIES DEFINE_SYMBOL BUILDING_UV_SHARED) endif() install(FILES @@ -28,7 +22,7 @@ install(FILES DESTINATION include) include(GNUInstallDirs) -install(TARGETS ${LIBUV} +install(TARGETS uv PUBLIC_HEADER ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -- cgit From 7f0095cc94d4cef2e839e5c65052874587a27a17 Mon Sep 17 00:00:00 2001 From: erw7 Date: Wed, 23 May 2018 22:02:35 +0900 Subject: Change to use RUNTIME target for DLL installation --- third-party/cmake/BuildLibuv.cmake | 8 +------- third-party/cmake/LibuvCMakeLists.txt | 1 + 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/third-party/cmake/BuildLibuv.cmake b/third-party/cmake/BuildLibuv.cmake index b9844ada2b..0f2375e29b 100644 --- a/third-party/cmake/BuildLibuv.cmake +++ b/third-party/cmake/BuildLibuv.cmake @@ -68,14 +68,8 @@ elseif(WIN32) set(UV_OUTPUT_DIR ${DEPS_BUILD_DIR}/src/libuv/${CMAKE_BUILD_TYPE}) if(MSVC) - set(INSTALL_CMD ${CMAKE_COMMAND} --build . --target install --config ${CMAKE_BUILD_TYPE} - # Some applications (lua-client/luarocks) look for uv.lib instead of libuv.lib - COMMAND ${CMAKE_COMMAND} -E copy ${UV_OUTPUT_DIR}/libuv.lib ${DEPS_INSTALL_DIR}/lib/uv.lib - COMMAND ${CMAKE_COMMAND} -E copy ${UV_OUTPUT_DIR}/libuv.dll ${DEPS_INSTALL_DIR}/bin/ - COMMAND ${CMAKE_COMMAND} -E copy ${UV_OUTPUT_DIR}/libuv.dll ${DEPS_INSTALL_DIR}/bin/uv.dll) set(BUILD_SHARED ON) elseif(MINGW) - set(INSTALL_CMD ${CMAKE_COMMAND} --build . --target install --config ${CMAKE_BUILD_TYPE}) set(BUILD_SHARED OFF) else() message(FATAL_ERROR "Trying to build libuv in an unsupported system ${CMAKE_SYSTEM_NAME}/${CMAKE_C_COMPILER_ID}") @@ -92,7 +86,7 @@ elseif(WIN32) -DBUILD_SHARED_LIBS=${BUILD_SHARED} -DCMAKE_INSTALL_PREFIX=${DEPS_INSTALL_DIR} BUILD_COMMAND ${CMAKE_COMMAND} --build . --config ${CMAKE_BUILD_TYPE} - INSTALL_COMMAND ${INSTALL_CMD}) + 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}") diff --git a/third-party/cmake/LibuvCMakeLists.txt b/third-party/cmake/LibuvCMakeLists.txt index 920d5cec07..8b51a101c6 100644 --- a/third-party/cmake/LibuvCMakeLists.txt +++ b/third-party/cmake/LibuvCMakeLists.txt @@ -26,4 +26,5 @@ 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}) -- cgit From 2bfdceba37a62395735878b89b6cf347c9213da6 Mon Sep 17 00:00:00 2001 From: erw7 Date: Sun, 27 May 2018 18:16:29 +0900 Subject: Change to use bundled libuv to build luv --- third-party/cmake/BuildLuv.cmake | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/third-party/cmake/BuildLuv.cmake b/third-party/cmake/BuildLuv.cmake index 339264746c..a62ee72f91 100644 --- a/third-party/cmake/BuildLuv.cmake +++ b/third-party/cmake/BuildLuv.cmake @@ -58,6 +58,12 @@ set(LUV_CONFIGURE_COMMAND_COMMON -DBUILD_SHARED_LIBS=OFF -DBUILD_MODULE=OFF) +if(USE_BUNDLED_LIBUV) + set(LUV_CONFIGURE_COMMAND_COMMON + ${LUV_CONFIGURE_COMMAND_COMMON} + -DCMAKE_PREFIX_PATH=${DEPS_INSTALL_DIR}) +endif() + if(MINGW AND CMAKE_CROSSCOMPILING) get_filename_component(TOOLCHAIN ${CMAKE_TOOLCHAIN_FILE} REALPATH) set(LUV_CONFIGURE_COMMAND -- cgit