aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefano Sinigardi <stesinigardi@hotmail.com>2021-09-13 23:56:51 +0200
committerGitHub <noreply@github.com>2021-09-13 14:56:51 -0700
commit259e0bd22c99928a7d0634e5cc59706575409a81 (patch)
treeae1c0f7c5119ec1963ff93ea2a877e6a7f8afd7c
parent7dc786c123e2c60ee234ef27268baa7a02071310 (diff)
downloadvcpkg-259e0bd22c99928a7d0634e5cc59706575409a81.tar.gz
vcpkg-259e0bd22c99928a7d0634e5cc59706575409a81.zip
[libgo] fix baseline issue (#19773)
* [libgo] fix baseline issue * [libgo] fix references * [libgo] fail fast on unsupported archs * [libgo] fix references * [libgo] fixes for macOS * [libgo] fix references * Minimize the patch Co-authored-by: PhoebeHui <20694052+PhoebeHui@users.noreply.github.com>
-rw-r--r--ports/libgo/cmake.patch127
-rw-r--r--ports/libgo/libgo-config.cmake25
-rw-r--r--ports/libgo/portfile.cmake10
-rw-r--r--ports/libgo/usage5
-rw-r--r--ports/libgo/vcpkg.json6
-rw-r--r--scripts/ci.baseline.txt3
-rw-r--r--versions/baseline.json2
-rw-r--r--versions/l-/libgo.json5
8 files changed, 129 insertions, 54 deletions
diff --git a/ports/libgo/cmake.patch b/ports/libgo/cmake.patch
index 54a7e739f..4f1a018d7 100644
--- a/ports/libgo/cmake.patch
+++ b/ports/libgo/cmake.patch
@@ -1,13 +1,114 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index dfa9b72..ff9827e 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -152,6 +152,8 @@ if (UNIX)
-
- elseif (WIN32)
- set_target_properties("${STATIC_T}" PROPERTIES COMPILE_FLAGS "/wd4819 /wd4267")
-+ install(TARGETS ${STATIC_T} LIBRARY DESTINATION "lib" ARCHIVE DESTINATION "lib")
-+ install(DIRECTORY ${PROJECT_SOURCE_DIR}/libgo/ DESTINATION "include/libgo" FILES_MATCHING PATTERN "*.h")
- endif()
-
- if (WIN32)
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index dfa9b72..e21eee0 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,8 +1,9 @@
+-cmake_minimum_required(VERSION 2.8)
++cmake_minimum_required(VERSION 3.0)
+
+ ###################################################################################
+ project(libgo)
+
++if(0)
+ enable_language(C ASM)
+
+ if (CMAKE_BUILD_TYPE)
+@@ -43,34 +44,38 @@ message("-------------- Env ---------------")
+ message(" CMAKE_SOURCE_DIR: ${CMAKE_SOURCE_DIR}")
+ message(" CMAKE_BINARY_DIR: ${CMAKE_BINARY_DIR}")
+ message("----------------------------------")
++endif()
++
++enable_language(C CXX ASM)
++set(CMAKE_CXX_STANDARD 11)
++set(CMAKE_CXX_STANDARD_REQUIRED ON)
++
++set(INSTALL_BIN_DIR "bin" CACHE PATH "Path where exe and dll will be installed")
++set(INSTALL_LIB_DIR "lib" CACHE PATH "Path where lib will be installed")
++set(INSTALL_INCLUDE_DIR "include/${PROJECT_NAME}" CACHE PATH "Path where headers will be installed")
++set(INSTALL_CMAKE_DIR "share/${PROJECT_NAME}" CACHE PATH "Path where cmake configs will be installed")
++set(RELATIVE_INSTALL_INCLUDE_DIR ${INSTALL_INCLUDE_DIR})
++foreach(p LIB BIN INCLUDE CMAKE)
++ set(var INSTALL_${p}_DIR)
++ if(NOT IS_ABSOLUTE "${${var}}")
++ set(${var} "${CMAKE_INSTALL_PREFIX}/${${var}}")
++ endif()
++endforeach()
++
++set(ENABLE_DEBUGGER 0)
++set(ENABLE_HOOK 0)
+
+ configure_file(${PROJECT_SOURCE_DIR}/libgo/common/cmake_config.h.in ${PROJECT_SOURCE_DIR}/libgo/common/cmake_config.h)
+ message("----------------------------------")
+
+ if (UNIX)
+- set(CMAKE_CXX_FLAGS "-std=c++11 -fPIC -Wall ${CMAKE_CXX_FLAGS}")
+- set(CMAKE_CXX_FLAGS_DEBUG "-g")
+- set(CMAKE_CXX_FLAGS_RELEASE "-g -O3 -DNDEBUG")
+-
+ set(CMAKE_ASM_SOURCE_FILE_EXTENSIONS S)
+- message("--> select asm source file, please wait about 5 seconds ...")
+ execute_process(COMMAND "${PROJECT_SOURCE_DIR}/third_party/select_asm.sh" "${PROJECT_SOURCE_DIR}" "jump" OUTPUT_VARIABLE jump_asm_file)
+ execute_process(COMMAND "${PROJECT_SOURCE_DIR}/third_party/select_asm.sh" "${PROJECT_SOURCE_DIR}" "make" OUTPUT_VARIABLE make_asm_file)
+ elseif (WIN32)
+- # windows platform
+ add_definitions(-D_CRT_SECURE_NO_WARNINGS)
+- set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd /EHsc")
+- set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT /EHsc")
+-
+- #set(CMAKE_ASM_SOURCE_FILE_EXTENSIONS asm)
+- #file(COPY ${PROJECT_SOURCE_DIR}/third_party/boost.context/libs/context/src/asm/make_x86_64_ms_pe_masm.asm DESTINATION ${PROJECT_SOURCE_DIR}/libgo/context)
+- #file(COPY ${PROJECT_SOURCE_DIR}/third_party/boost.context/libs/context/src/asm/jump_x86_64_ms_pe_masm.asm DESTINATION ${PROJECT_SOURCE_DIR}/libgo/context)
+ endif()
+
+-message("------------ Cxx flags -------------")
+-message(" CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE}: ${CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE}}")
+-message("------------------------------------")
+-
+ include_directories(${PROJECT_SOURCE_DIR})
+ aux_source_directory(${PROJECT_SOURCE_DIR}/libgo CO_SRC_LIST)
+ aux_source_directory(${PROJECT_SOURCE_DIR}/libgo/common CO_SRC_LIST)
+@@ -97,6 +102,7 @@ else()
+ aux_source_directory(${PROJECT_SOURCE_DIR}/libgo/netio/disable_hook CO_SRC_LIST)
+ endif()
+
++if(0)
+ set(TARGET "libgo")
+ set(STATIC_T "libgo_static")
+ set(STATIC_HOOK "static_hook")
+@@ -136,7 +142,6 @@ if (UNIX)
+ )
+
+ set(PROFILE_FLAGS "-pg ${CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE}}")
+-
+ #message("PROFILE_FLAGS: ${PROFILE_FLAGS}")
+ add_custom_target(profile
+ COMMAND ${CMAKE_COMMAND} -DCMAKE_BUILD_TYPE=PROFILE -DCMAKE_CXX_FLAGS_PROFILE=\\'${PROFILE_FLAGS}\\' ${CMAKE_SOURCE_DIR}
+@@ -160,3 +165,27 @@ if (WIN32)
+ add_subdirectory(${PROJECT_SOURCE_DIR}/tutorial)
+ endif()
+ endif()
++endif()
++
++list(APPEND CO_SRC_LIST ${jump_asm_file})
++list(APPEND CO_SRC_LIST ${make_asm_file})
++add_library(${PROJECT_NAME} ${CO_SRC_LIST})
++target_link_libraries(${PROJECT_NAME} ${CMAKE_DL_LIBS})
++if (WIN32)
++ target_link_libraries(${PROJECT_NAME} ws2_32)
++ set_target_properties(${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "/wd4819 /wd4267")
++endif()
++
++install(TARGETS ${PROJECT_NAME}
++ EXPORT "${PROJECT_NAME}Config"
++ LIBRARY DESTINATION lib
++ ARCHIVE DESTINATION lib
++ RUNTIME DESTINATION bin)
++
++install(DIRECTORY ${PROJECT_SOURCE_DIR}/libgo/
++ DESTINATION ${INSTALL_INCLUDE_DIR}
++ FILES_MATCHING PATTERN "*.h")
++
++install(EXPORT "${PROJECT_NAME}Config"
++ NAMESPACE libgo::
++ DESTINATION "${INSTALL_CMAKE_DIR}")
diff --git a/ports/libgo/libgo-config.cmake b/ports/libgo/libgo-config.cmake
deleted file mode 100644
index fd52f8dd3..000000000
--- a/ports/libgo/libgo-config.cmake
+++ /dev/null
@@ -1,25 +0,0 @@
-get_filename_component(_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
-
-if(NOT LIBGO_FIND_COMPONENTS)
- set(LIBGO_FIND_COMPONENTS libgo libgo)
- if(LIBGO_FIND_REQUIRED)
- set(LIBGO_FIND_REQUIRED_libgo TRUE)
- endif()
-
- set(LIBGO_FOUND TRUE)
-endif()
-
-set(LIBGO_INCLUDE_DIRS ${_DIR}/../../include)
-set(LIBGO_LIBRARIES)
-if (EXISTS ${_DIR}/../../lib/liblibgo.a)
- list(APPEND LIBGO_LIBRARIES optimized ${_DIR}/../../lib/liblibgo.a)
-endif()
-if (EXISTS ${_DIR}/../../debug/lib/liblibgo.a)
- list(APPEND LIBGO_LIBRARIES debug ${_DIR}/../../debug/lib/liblibgo.a)
-endif()
-if (EXISTS ${_DIR}/../../lib/libgo.lib)
- list(APPEND LIBGO_LIBRARIES optimized ${_DIR}/../../lib/libgo.lib)
-endif()
-if (EXISTS ${_DIR}/../../debug/lib/libgo.lib)
- list(APPEND LIBGO_LIBRARIES debug ${_DIR}/../../debug/lib/libgo.lib)
-endif()
diff --git a/ports/libgo/portfile.cmake b/ports/libgo/portfile.cmake
index fdb028123..e365ee3a1 100644
--- a/ports/libgo/portfile.cmake
+++ b/ports/libgo/portfile.cmake
@@ -1,4 +1,4 @@
-vcpkg_fail_port_install(ON_ARCH "arm" ON_TARGET "uwp")
+vcpkg_fail_port_install(ON_ARCH "arm" "arm64" ON_TARGET "uwp")
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
@@ -7,7 +7,8 @@ vcpkg_from_github(
REF 5d4f36508e8eb2d5aa17cf37cd951dc91da23096 #v3.1
SHA512 0f281f58116148ba1dd3904febbc391d47190f8e148b70bed7c4b7e6cb3efa5e41e2b7be4832ceeb805996e085f4c2d89fd0cf3b0651e037b32758d6a441411b
HEAD_REF master
- PATCHES cmake.patch
+ PATCHES
+ cmake.patch
)
vcpkg_from_github(
@@ -28,6 +29,7 @@ vcpkg_cmake_configure(
)
vcpkg_cmake_install()
+vcpkg_cmake_config_fixup()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/libgo/netio/disable_hook")
@@ -39,8 +41,4 @@ else()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/libgo/netio/unix")
endif()
-# Handle copyright
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
-file(INSTALL "${CURRENT_PORT_DIR}/libgo-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
-
-file(COPY "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
diff --git a/ports/libgo/usage b/ports/libgo/usage
deleted file mode 100644
index a8f072947..000000000
--- a/ports/libgo/usage
+++ /dev/null
@@ -1,5 +0,0 @@
-The package libgo provides CMake integration:
-
- find_package(libgo REQUIRED)
- target_include_directories(main PRIVATE ${LIBGO_INCLUDE_DIRS})
- target_link_libraries(main PRIVATE ${LIBGO_LIBRARIES})
diff --git a/ports/libgo/vcpkg.json b/ports/libgo/vcpkg.json
index b9d85cc60..47377a3e8 100644
--- a/ports/libgo/vcpkg.json
+++ b/ports/libgo/vcpkg.json
@@ -1,7 +1,7 @@
{
"name": "libgo",
"version": "3.1",
- "port-version": 2,
+ "port-version": 3,
"description": "The best stackful coroutine by c++11.",
"homepage": "https://github.com/yyzybb537/libgo",
"supports": "!(arm | uwp)",
@@ -9,6 +9,10 @@
{
"name": "vcpkg-cmake",
"host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
}
]
}
diff --git a/scripts/ci.baseline.txt b/scripts/ci.baseline.txt
index f3ee0b4f5..77a1d1a93 100644
--- a/scripts/ci.baseline.txt
+++ b/scripts/ci.baseline.txt
@@ -586,8 +586,6 @@ libgit2:x64-uwp=fail
libgo:arm-uwp=fail
libgo:x64-uwp=fail
libgo:arm64-windows=fail
-libgo:x64-windows=fail
-libgo:x86-windows=fail
libgpod:arm64-windows=fail
libgpod:arm-uwp=fail
libgpod:x64-uwp=fail
@@ -1711,7 +1709,6 @@ fastcgi:x64-windows-static-md=fail
gmp:x64-windows-static-md=fail
ijg-libjpeg:x64-windows-static-md=fail
libcerf:x64-windows-static-md=fail
-libgo:x64-windows-static-md=fail
libmicrohttpd:x64-windows-static-md=fail
libspatialite:x64-windows-static-md=fail
linenoise-ng:x64-windows-static-md=fail
diff --git a/versions/baseline.json b/versions/baseline.json
index be64ffb90..120d92335 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -3298,7 +3298,7 @@
},
"libgo": {
"baseline": "3.1",
- "port-version": 2
+ "port-version": 3
},
"libgpg-error": {
"baseline": "1.42",
diff --git a/versions/l-/libgo.json b/versions/l-/libgo.json
index 976f87c31..0b0b0d40f 100644
--- a/versions/l-/libgo.json
+++ b/versions/l-/libgo.json
@@ -1,6 +1,11 @@
{
"versions": [
{
+ "git-tree": "120510985335ea4bd1b8a91982d0f95842e43ba3",
+ "version": "3.1",
+ "port-version": 3
+ },
+ {
"git-tree": "1158e6c06fa6cb413bf12c04065ff58b8930c474",
"version": "3.1",
"port-version": 2