if(VCPKG_CMAKE_SYSTEM_NAME) message(FATAL_ERROR "getopt-win32 only supports building on Windows Desktop") endif() vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO libimobiledevice-win32/getopt REF 0.1 SHA512 40e2a901241a5d751cec741e5de423c8f19b105572c7cae18adb6e69be0b408efc6c9a2ecaeb62f117745eac0d093f30d6b91d88c1a27e1f7be91f0e84fdf199 HEAD_REF master PATCHES getopt.h.patch ) if(VCPKG_LIBRARY_LINKAGE STREQUAL static) list(APPEND OPTIONS "/p:ConfigurationType=StaticLibrary") else() list(APPEND OPTIONS "/p:ConfigurationType=DynamicLibrary") endif() set(_file "${SOURCE_PATH}/getopt.vcxproj") file(READ "${_file}" _contents) if(VCPKG_CRT_LINKAGE STREQUAL static) string(REPLACE "MultiThreadedDLL" "MultiThreaded" _contents "${_contents}") string(REPLACE "MultiThreadedDebugDLL" "MultiThreadedDebug" _contents "${_contents}") else() string(REPLACE "MultiThreaded" "MultiThreadedDLL" _contents "${_contents}") string(REPLACE "MultiThreadedDebug" "MultiThreadedDebugDLL" _contents "${_contents}") endif() file(WRITE "${_file}" "${_contents}") vcpkg_install_msbuild( SOURCE_PATH ${SOURCE_PATH} PROJECT_SUBPATH getopt.vcxproj LICENSE_SUBPATH LICENSE OPTIONS ${OPTIONS} ) # Copy header 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() set(VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS enabled)