Skip to content

Commit

Permalink
[getopt-win32] Allow use as a CMake package (#28192)
Browse files Browse the repository at this point in the history
* [getopt-win32] Allow using it as a package

* [getopt-win32] Update port version

* [getopt-win32] Fix quotes

* [getopt-win32] Update port version
  • Loading branch information
tdcosta100 authored Dec 9, 2022
1 parent b99eebb commit cf1fda5
Show file tree
Hide file tree
Showing 6 changed files with 65 additions and 26 deletions.
17 changes: 16 additions & 1 deletion ports/getopt-win32/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,20 @@ if(BUILD_SHARED_LIBS)
else()
add_definitions(-DSTATIC_GETOPT)
endif()

add_library(getopt getopt.c)
install(TARGETS getopt)

install(
TARGETS getopt
EXPORT unofficial-getopt-win32
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)

install(
EXPORT unofficial-getopt-win32
NAMESPACE unofficial::getopt-win32::
DESTINATION share/unofficial-getopt-win32
FILE unofficial-getopt-win32-config.cmake
)
57 changes: 34 additions & 23 deletions ports/getopt-win32/portfile.cmake
Original file line number Diff line number Diff line change
@@ -1,23 +1,34 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO libimobiledevice-win32/getopt
REF 0.1
SHA512 40e2a901241a5d751cec741e5de423c8f19b105572c7cae18adb6e69be0b408efc6c9a2ecaeb62f117745eac0d093f30d6b91d88c1a27e1f7be91f0e84fdf199
HEAD_REF master
PATCHES getopt.h.patch
)

file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}")

vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}")
vcpkg_cmake_install()

file(COPY "${SOURCE_PATH}/getopt.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include/")
if (VCPKG_LIBRARY_LINKAGE STREQUAL "static")
vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/getopt.h"
" #define __GETOPT_H_" " #define __GETOPT_H_\n #define STATIC_GETOPT"
)
endif()

configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY)
set(VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS enabled)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO libimobiledevice-win32/getopt
REF 0.1
SHA512 40e2a901241a5d751cec741e5de423c8f19b105572c7cae18adb6e69be0b408efc6c9a2ecaeb62f117745eac0d093f30d6b91d88c1a27e1f7be91f0e84fdf199
HEAD_REF master
PATCHES getopt.h.patch
)

file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}")

vcpkg_cmake_configure(SOURCE_PATH "${SOURCE_PATH}")
vcpkg_cmake_install()
vcpkg_fixup_pkgconfig()

file(COPY "${SOURCE_PATH}/getopt.h" DESTINATION "${CURRENT_PACKAGES_DIR}/include")

if (VCPKG_LIBRARY_LINKAGE STREQUAL "static")
vcpkg_replace_string(
"${CURRENT_PACKAGES_DIR}/include/getopt.h"
" #define __GETOPT_H_"
" #define __GETOPT_H_\n #define STATIC_GETOPT"
)
endif()

vcpkg_cmake_config_fixup(
CONFIG_PATH "share/unofficial-getopt-win32"
PACKAGE_NAME "unofficial-getopt-win32"
)

file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY)
set(VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS "enabled")
4 changes: 4 additions & 0 deletions ports/getopt-win32/usage
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
getopt-win32 provides CMake targets:

find_package(unofficial-getopt-win32 REQUIRED)
target_link_libraries(main PRIVATE unofficial::getopt-win32::getopt)
6 changes: 5 additions & 1 deletion ports/getopt-win32/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "getopt-win32",
"version": "0.1",
"port-version": 4,
"port-version": 5,
"description": "An implementation of getopt.",
"homepage": "https://github.com/libimobiledevice-win32/getopt",
"license": "LGPL-3.0-only",
Expand All @@ -10,6 +10,10 @@
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
]
}
2 changes: 1 addition & 1 deletion versions/baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -2594,7 +2594,7 @@
},
"getopt-win32": {
"baseline": "0.1",
"port-version": 4
"port-version": 5
},
"gettext": {
"baseline": "0.21",
Expand Down
5 changes: 5 additions & 0 deletions versions/g-/getopt-win32.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "e20f1829d379f402502feedd978738b06b3f17ad",
"version": "0.1",
"port-version": 5
},
{
"git-tree": "a655b35c38424570406603859dcfbb70d25bc0b9",
"version": "0.1",
Expand Down

0 comments on commit cf1fda5

Please sign in to comment.