mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-28 03:10:57 +08:00
6ab331448c
- [x] Changes comply with the [maintainer guide](https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md). - [x] SHA512s are updated for each updated download. - [x] The "supports" clause reflects platforms that may be fixed by this new version. - [x] Any fixed [CI baseline](https://github.com/microsoft/vcpkg/blob/master/scripts/ci.baseline.txt) entries are removed from that file. - [x] Any patches that are no longer applied are deleted from the port's directory. - [x] The version database is fixed by rerunning `./vcpkg x-add-version --all` and committing the result. - [x] Only one version is added to each modified port's versions file. To beat: - x64-windows: 28 min - x86-windows: 28 min - x64-windows-static-md: 26 min - x64-windows-static: 26 min - arm64-windows: 26 min
104 lines
4.0 KiB
CMake
104 lines
4.0 KiB
CMake
if(NOT X_VCPKG_FORCE_VCPKG_X_LIBRARIES AND NOT VCPKG_TARGET_IS_WINDOWS)
|
|
message(STATUS "Utils and libraries provided by '${PORT}' should be provided by your system! Install the required packages or force vcpkg libraries by setting X_VCPKG_FORCE_VCPKG_X_LIBRARIES in your triplet")
|
|
set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
|
|
else()
|
|
|
|
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
|
|
set(PATCHES dllimport.patch)
|
|
endif()
|
|
|
|
vcpkg_from_gitlab(
|
|
GITLAB_URL https://gitlab.freedesktop.org/xorg
|
|
OUT_SOURCE_PATH SOURCE_PATH
|
|
REPO lib/libx11
|
|
REF 3a30ada60c5217ada37b143b541c8e6f6284c7fa
|
|
SHA512 441f86ff8293d27459feaa93f85bcd4d02c6bd64fdb4d95199e5ee8a75340c2ce9b0fccd0b05840ce0de30ff3af3d21e6f37c81840e82b37dbddf082911b585d
|
|
HEAD_REF master
|
|
PATCHES
|
|
optimize-configure.patch
|
|
cl.build.patch
|
|
io_include.patch
|
|
${PATCHES}
|
|
vcxserver.patch
|
|
add_dl_pc.patch
|
|
)
|
|
|
|
set(ENV{ACLOCAL} "aclocal -I \"${CURRENT_INSTALLED_DIR}/share/xorg/aclocal/\"")
|
|
|
|
set(OPTIONS "")
|
|
if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
|
|
set(ENV{CPP} "cl_cpp_wrapper")
|
|
list(APPEND OPTIONS
|
|
--enable-loadable-i18n=no #Pointer conversion errors
|
|
--enable-unix-transport=no
|
|
--disable-thread-safety-constructor
|
|
ac_cv_search_dlopen=no
|
|
)
|
|
endif()
|
|
if(VCPKG_TARGET_IS_WINDOWS)
|
|
list(APPEND OPTIONS
|
|
--enable-malloc0returnsnull=yes #Configure fails to run the test for some reason
|
|
--enable-ipv6
|
|
--enable-hyperv
|
|
--enable-tcp-transport
|
|
--with-launchd=no
|
|
--with-lint=no
|
|
--disable-selective-werror
|
|
)
|
|
endif()
|
|
if(NOT XLSTPROC)
|
|
find_program(XLSTPROC NAMES "xsltproc${VCPKG_HOST_EXECUTABLE_SUFFIX}" PATHS "${CURRENT_HOST_INSTALLED_DIR}/tools/libxslt" PATH_SUFFIXES "bin")
|
|
endif()
|
|
if(NOT XLSTPROC)
|
|
message(FATAL_ERROR "${PORT} requires xlstproc for the host system. Please install libxslt within vcpkg or your system package manager!")
|
|
endif()
|
|
get_filename_component(XLSTPROC_DIR "${XLSTPROC}" DIRECTORY)
|
|
file(TO_NATIVE_PATH "${XLSTPROC_DIR}" XLSTPROC_DIR_NATIVE)
|
|
vcpkg_add_to_path("${XLSTPROC_DIR}")
|
|
set(ENV{XLSTPROC} "${XLSTPROC}")
|
|
|
|
if(VCPKG_TARGET_IS_OSX)
|
|
set(ENV{LC_ALL} C)
|
|
endif()
|
|
vcpkg_find_acquire_program(PERL)
|
|
vcpkg_configure_make(
|
|
SOURCE_PATH "${SOURCE_PATH}"
|
|
AUTOCONFIG
|
|
OPTIONS
|
|
${OPTIONS}
|
|
)
|
|
|
|
if(VCPKG_CROSSCOMPILING)
|
|
file(GLOB FOR_BUILD_FILES "${CURRENT_HOST_INSTALLED_DIR}/manual-tools/${PORT}/*")
|
|
file(COPY ${FOR_BUILD_FILES} DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/src/util")
|
|
if(NOT VCPKG_BUILD_TYPE)
|
|
file(COPY ${FOR_BUILD_FILES} DESTINATION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/src/util")
|
|
endif()
|
|
endif()
|
|
vcpkg_install_make()
|
|
vcpkg_fixup_pkgconfig()
|
|
|
|
if(EXISTS "${CURRENT_INSTALLED_DIR}/include/X11/extensions/XKBgeom.h")
|
|
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/X11/extensions/") #XKBgeom.h should be the only file in there
|
|
endif()
|
|
|
|
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
|
|
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
|
|
|
|
# Handle copyright
|
|
file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
|
|
|
|
if(NOT VCPKG_CROSSCOMPILING)
|
|
file(READ "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/config.log" config_contents)
|
|
string(REGEX MATCH "ac_cv_objext=[^\n]+" objsuffix "${config_contents}")
|
|
string(REPLACE "ac_cv_objext=" "." objsuffix "${objsuffix}")
|
|
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/src/util/makekeys${VCPKG_TARGET_EXECUTABLE_SUFFIX}" DESTINATION "${CURRENT_PACKAGES_DIR}/manual-tools/${PORT}")
|
|
file(INSTALL "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/src/util/makekeys${objsuffix}" DESTINATION "${CURRENT_PACKAGES_DIR}/manual-tools/${PORT}")
|
|
endif()
|
|
|
|
endif()
|
|
|
|
configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake"
|
|
"${CURRENT_PACKAGES_DIR}/share/x11/vcpkg-cmake-wrapper.cmake" @ONLY)
|
|
|