diff options
Diffstat (limited to 'vcpkg/ports/libx11/portfile.cmake')
| -rw-r--r-- | vcpkg/ports/libx11/portfile.cmake | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/vcpkg/ports/libx11/portfile.cmake b/vcpkg/ports/libx11/portfile.cmake new file mode 100644 index 0000000..d5cd2a4 --- /dev/null +++ b/vcpkg/ports/libx11/portfile.cmake @@ -0,0 +1,108 @@ +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(VCPKG_CROSSCOMPILING)
+ list(APPEND OPTIONS
+ --enable-malloc0returnsnull=yes
+ )
+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}" PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ GROUP_EXECUTE GROUP_READ WORLD_EXECUTE WORLD_READ)
+ 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)
+
|