mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-11-27 19:19:01 +08:00
[vcpkg baseline][ideviceinstaller] Fixing error LNK2005 when argtable2 installed before ideviceinstaller (#28459)
* [ideviceinstaller] Add support !static * Modify port-version * x-add-version * Add getopt as a dependence of argtable2 * Use version * x-add-version * Remove space * Add license * Fix format error * x-add-version * update version * fix argtable3 * x-add-version * fix argtable3 * version * fix gdcm * format portfile.cmake * update version * format vcpkg.json * x-add-version * format portfile.cmake * x-add-version * Update license * x-add-version * Again * Mistake Co-authored-by: Lily Wang <494550702@qq.com> Co-authored-by: Lily Wang <94091114+LilyWangLL@users.noreply.github.com>
This commit is contained in:
parent
df51b93304
commit
25663f218c
42
ports/argtable2/0003-add-dependence-getopt.patch
Normal file
42
ports/argtable2/0003-add-dependence-getopt.patch
Normal file
@ -0,0 +1,42 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 8a4bd5b..7dc50f1 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -9,6 +9,7 @@ endif(COMMAND cmake_policy)
|
||||
|
||||
OPTION( HAVE_GETOPT_H "Have the getopt library" 0 )
|
||||
IF( HAVE_GETOPT_H )
|
||||
+ find_package(unofficial-getopt-win32 REQUIRED)
|
||||
ADD_DEFINITIONS( -DHAVE_GETOPT_H )
|
||||
ENDIF( HAVE_GETOPT_H )
|
||||
|
||||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||
index 03e112c..8c58082 100644
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -1,7 +1,12 @@
|
||||
include(GNUInstallDirs)
|
||||
|
||||
IF( WIN32 )
|
||||
+ if(HAVE_GETOPT_H)
|
||||
+ ADD_LIBRARY( argtable2 arg_dbl.c arg_end.c arg_file.c arg_int.c arg_lit.c arg_rem.c arg_str.c argtable2.c argtable2.h)
|
||||
+ target_link_libraries(argtable2 PRIVATE unofficial::getopt-win32::getopt)
|
||||
+ else()
|
||||
ADD_LIBRARY( argtable2 arg_dbl.c arg_end.c arg_file.c arg_int.c arg_lit.c arg_rem.c arg_str.c argtable2.c argtable2.h getopt.c getopt.h getopt1.c )
|
||||
+ endif()
|
||||
ELSE( WIN32 )
|
||||
ADD_LIBRARY( argtable2 arg_date.c arg_dbl.c arg_end.c arg_file.c arg_int.c arg_lit.c arg_rem.c arg_rex.c arg_str.c argtable2.c argtable2.h getopt.c getopt.h getopt1.c )
|
||||
ENDIF( WIN32 )
|
||||
diff --git a/src/argtable2.c b/src/argtable2.c
|
||||
index c4d210c..1bc0a3e 100644
|
||||
--- a/src/argtable2.c
|
||||
+++ b/src/argtable2.c
|
||||
@@ -46,7 +46,7 @@ USA.
|
||||
#endif
|
||||
|
||||
#include "argtable2.h"
|
||||
-#include "./getopt.h"
|
||||
+//#include "./getopt.h"
|
||||
|
||||
static
|
||||
void arg_register_error(struct arg_end *end, void *parent, int error, const char *argval)
|
@ -9,18 +9,23 @@ vcpkg_from_sourceforge(
|
||||
PATCHES
|
||||
0001-fix-install-dirs.patch
|
||||
0002-include-correct-headers.patch
|
||||
0003-add-dependence-getopt.patch
|
||||
)
|
||||
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
PREFER_NINJA
|
||||
set(HAVE_GETOPT_H "")
|
||||
if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
|
||||
set(HAVE_GETOPT_H 1)
|
||||
endif()
|
||||
|
||||
vcpkg_cmake_configure(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
OPTIONS
|
||||
-DCMAKE_DEBUG_POSTFIX=d
|
||||
-DHAVE_GETOPT_H=${HAVE_GETOPT_H}
|
||||
)
|
||||
|
||||
vcpkg_install_cmake()
|
||||
vcpkg_copy_pdbs()
|
||||
vcpkg_cmake_install()
|
||||
|
||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
|
||||
|
||||
file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
|
||||
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING")
|
||||
|
@ -1,8 +1,19 @@
|
||||
{
|
||||
"name": "argtable2",
|
||||
"version-string": "2.13",
|
||||
"port-version": 9,
|
||||
"version": "2.13",
|
||||
"port-version": 10,
|
||||
"description": "Argtable is an ANSI C library for parsing GNU style command line options with a minimum of fuss.",
|
||||
"homepage": "http://argtable.sourceforge.net",
|
||||
"supports": "!uwp"
|
||||
"license": "LGPL-2.0-only",
|
||||
"supports": "!uwp",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "getopt",
|
||||
"platform": "windows & !mingw"
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-cmake",
|
||||
"host": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
16
ports/argtable3/Fix-dependence-getopt.patch
Normal file
16
ports/argtable3/Fix-dependence-getopt.patch
Normal file
@ -0,0 +1,16 @@
|
||||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||
index 2e0b519..6b455dd 100644
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -79,6 +79,11 @@ endif()
|
||||
add_library(${ARGTABLE3_PROJECT_NAME}::argtable3 ALIAS argtable3)
|
||||
target_include_directories(argtable3 PRIVATE ${PROJECT_SOURCE_DIR}/src)
|
||||
|
||||
+if(NOT ARGTABLE3_REPLACE_GETOPT)
|
||||
+ find_package(unofficial-getopt-win32 REQUIRED)
|
||||
+ target_link_libraries(argtable3 PRIVATE unofficial::getopt-win32::getopt)
|
||||
+endif()
|
||||
+
|
||||
set_target_properties(argtable3 PROPERTIES
|
||||
VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}
|
||||
SOVERSION ${PROJECT_VERSION_MAJOR}
|
@ -4,14 +4,21 @@ vcpkg_from_github(
|
||||
REF 7704006f3cbb556e11da80a5b97469075a32892e # 3.2.1 + minor patches including ARGTABLE3_ENABLE_EXAMPLES support
|
||||
SHA512 c51aa0a33a247c3801e36ca5d9523acefa31f21a34c1e86965a39290c1b437785e4d7e0ae80a65d811803b8fcbbc3a96ba3d6aefaea9bda15abc0f38bd1f45cc
|
||||
HEAD_REF master
|
||||
PATCHES Fix-dependence-getopt.patch
|
||||
)
|
||||
|
||||
set(ARGTABLE3_REPLACE_GETOPT ON)
|
||||
if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
|
||||
set(ARGTABLE3_REPLACE_GETOPT OFF)
|
||||
endif()
|
||||
|
||||
vcpkg_cmake_configure(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
OPTIONS
|
||||
-DARGTABLE3_ENABLE_CONAN=OFF
|
||||
-DARGTABLE3_ENABLE_TESTS=OFF
|
||||
-DARGTABLE3_ENABLE_EXAMPLES=OFF
|
||||
-DARGTABLE3_REPLACE_GETOPT=${ARGTABLE3_REPLACE_GETOPT}
|
||||
)
|
||||
|
||||
vcpkg_cmake_install()
|
||||
|
@ -1,11 +1,15 @@
|
||||
{
|
||||
"name": "argtable3",
|
||||
"version": "3.2.1",
|
||||
"port-version": 2,
|
||||
"port-version": 3,
|
||||
"description": "A single-file, ANSI C, command-line parsing library that parses GNU-style command-line options",
|
||||
"homepage": "https://www.argtable.org/",
|
||||
"license": "BSD-2-Clause-FreeBSD",
|
||||
"license": "BSD-2-Clause-NetBSD AND TCL",
|
||||
"dependencies": [
|
||||
{
|
||||
"name": "getopt",
|
||||
"platform": "windows & !mingw"
|
||||
},
|
||||
{
|
||||
"name": "vcpkg-cmake",
|
||||
"host": true
|
||||
|
39
ports/gdcm/fix-dependence-getopt.patch
Normal file
39
ports/gdcm/fix-dependence-getopt.patch
Normal file
@ -0,0 +1,39 @@
|
||||
diff --git a/Utilities/CMakeLists.txt b/Utilities/CMakeLists.txt
|
||||
index 4cdc999..c6ede41 100644
|
||||
--- a/Utilities/CMakeLists.txt
|
||||
+++ b/Utilities/CMakeLists.txt
|
||||
@@ -69,6 +69,7 @@ if(NOT GDCM_USE_SYSTEM_ZLIB)
|
||||
endif()
|
||||
|
||||
# Do getopt
|
||||
+if(NOT USE_VCPKG_GETOPT)
|
||||
if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/getopt)
|
||||
APPEND_COPYRIGHT(${CMAKE_CURRENT_SOURCE_DIR}/getopt/COPYING)
|
||||
if(WIN32 AND NOT CYGWIN AND NOT MINGW)
|
||||
@@ -79,6 +80,7 @@ if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/getopt)
|
||||
add_subdirectory(getopt)
|
||||
endif()
|
||||
endif()
|
||||
+endif()
|
||||
|
||||
# you could be running mingw32 on linux in which case you do NOT want the gdcmuuid lib
|
||||
APPEND_COPYRIGHT(${CMAKE_CURRENT_SOURCE_DIR}/gdcmuuid/COPYING)
|
||||
diff --git a/Utilities/VTK/Applications/CMakeLists.txt b/Utilities/VTK/Applications/CMakeLists.txt
|
||||
index c7f1ad9..20883a2 100644
|
||||
--- a/Utilities/VTK/Applications/CMakeLists.txt
|
||||
+++ b/Utilities/VTK/Applications/CMakeLists.txt
|
||||
@@ -45,7 +45,13 @@ foreach(app ${GDCM_VTK_APPS})
|
||||
target_link_libraries(${app} ${VTK_LIBRARIES} vtkIOXML)
|
||||
endif()
|
||||
if(WIN32 AND NOT CYGWIN)
|
||||
- target_link_libraries(${app} gdcmgetopt)
|
||||
+ if(USE_VCPKG_GETOPT)
|
||||
+ find_package(unofficial-getopt-win32 REQUIRED)
|
||||
+ target_link_libraries(${app} PRIVATE unofficial::getopt-win32::getopt)
|
||||
+ else()
|
||||
+ target_link_libraries(${app} gdcmgetopt)
|
||||
+ endif()
|
||||
+else()
|
||||
endif()
|
||||
if(NOT GDCM_INSTALL_NO_RUNTIME)
|
||||
install(TARGETS ${app}
|
@ -10,6 +10,7 @@ vcpkg_from_github(
|
||||
use-openjpeg-config.patch
|
||||
fix-share-path.patch
|
||||
Fix-Cmake_DIR.patch
|
||||
fix-dependence-getopt.patch
|
||||
)
|
||||
|
||||
file(REMOVE "${SOURCE_PATH}/CMake/FindOpenJPEG.cmake")
|
||||
@ -20,6 +21,11 @@ else()
|
||||
set(VCPKG_BUILD_SHARED_LIBS OFF)
|
||||
endif()
|
||||
|
||||
set(USE_VCPKG_GETOPT OFF)
|
||||
if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
|
||||
set(USE_VCPKG_GETOPT ON)
|
||||
endif()
|
||||
|
||||
vcpkg_cmake_configure(
|
||||
SOURCE_PATH "${SOURCE_PATH}"
|
||||
OPTIONS
|
||||
@ -30,6 +36,7 @@ vcpkg_cmake_configure(
|
||||
-DGDCM_USE_SYSTEM_ZLIB=ON
|
||||
-DGDCM_USE_SYSTEM_OPENJPEG=ON
|
||||
-DGDCM_BUILD_TESTING=OFF
|
||||
-DUSE_VCPKG_GETOPT=${USE_VCPKG_GETOPT}
|
||||
)
|
||||
|
||||
vcpkg_cmake_install()
|
||||
@ -59,4 +66,4 @@ if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
|
||||
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
|
||||
endif()
|
||||
|
||||
file(INSTALL "${SOURCE_PATH}/Copyright.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
|
||||
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/Copyright.txt")
|
||||
|
@ -1,12 +1,17 @@
|
||||
{
|
||||
"name": "gdcm",
|
||||
"version": "3.0.12",
|
||||
"port-version": 1,
|
||||
"description": "Grassroots DICOM library",
|
||||
"homepage": "https://github.com/malaterre/GDCM",
|
||||
"license": "BSD-3-Clause",
|
||||
"supports": "!uwp & !(windows & arm)",
|
||||
"dependencies": [
|
||||
"expat",
|
||||
{
|
||||
"name": "getopt",
|
||||
"platform": "windows & !mingw"
|
||||
},
|
||||
"openjpeg",
|
||||
{
|
||||
"name": "vcpkg-cmake",
|
||||
|
@ -10,6 +10,8 @@ endif()
|
||||
|
||||
add_library(getopt getopt.c)
|
||||
|
||||
TARGET_INCLUDE_DIRECTORIES(getopt INTERFACE $<INSTALL_INTERFACE:include>)
|
||||
|
||||
install(
|
||||
TARGETS getopt
|
||||
EXPORT unofficial-getopt-win32
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "getopt-win32",
|
||||
"version": "0.1",
|
||||
"port-version": 6,
|
||||
"port-version": 7,
|
||||
"description": "An implementation of getopt.",
|
||||
"homepage": "https://github.com/libimobiledevice-win32/getopt",
|
||||
"license": "LGPL-3.0-only",
|
||||
|
@ -1,5 +1,10 @@
|
||||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "931507f46135a9267c3d15ed5064235aac6154f4",
|
||||
"version": "2.13",
|
||||
"port-version": 10
|
||||
},
|
||||
{
|
||||
"git-tree": "406503ece7b3ab95af28c6871a6de7263731f829",
|
||||
"version-string": "2.13",
|
||||
|
@ -1,5 +1,10 @@
|
||||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "b84ef22a845ccccda6197d1865ddd1d8df9098c1",
|
||||
"version": "3.2.1",
|
||||
"port-version": 3
|
||||
},
|
||||
{
|
||||
"git-tree": "fe3b1c9a876237412e7ba925a3b41f62e7fc1d99",
|
||||
"version": "3.2.1",
|
||||
|
@ -170,11 +170,11 @@
|
||||
},
|
||||
"argtable2": {
|
||||
"baseline": "2.13",
|
||||
"port-version": 9
|
||||
"port-version": 10
|
||||
},
|
||||
"argtable3": {
|
||||
"baseline": "3.2.1",
|
||||
"port-version": 2
|
||||
"port-version": 3
|
||||
},
|
||||
"argumentum": {
|
||||
"baseline": "0.3.1",
|
||||
@ -2566,7 +2566,7 @@
|
||||
},
|
||||
"gdcm": {
|
||||
"baseline": "3.0.12",
|
||||
"port-version": 0
|
||||
"port-version": 1
|
||||
},
|
||||
"gdcm2": {
|
||||
"baseline": "deprecated",
|
||||
@ -2610,7 +2610,7 @@
|
||||
},
|
||||
"getopt-win32": {
|
||||
"baseline": "0.1",
|
||||
"port-version": 6
|
||||
"port-version": 7
|
||||
},
|
||||
"gettext": {
|
||||
"baseline": "0.21",
|
||||
|
@ -1,5 +1,10 @@
|
||||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "cb3870f85a108727ba53c35d59633f9d6fdb4c4e",
|
||||
"version": "3.0.12",
|
||||
"port-version": 1
|
||||
},
|
||||
{
|
||||
"git-tree": "d88a2229a173f1d38ae7beeb24d8169957968e74",
|
||||
"version": "3.0.12",
|
||||
|
@ -1,5 +1,10 @@
|
||||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "28d4331693c8c94a354365fff55df5f5762b7be6",
|
||||
"version": "0.1",
|
||||
"port-version": 7
|
||||
},
|
||||
{
|
||||
"git-tree": "e2e91ce0684f0a2daa95adc45c9c32e61ae40a7e",
|
||||
"version": "0.1",
|
||||
|
Loading…
Reference in New Issue
Block a user