vcpkg/ports/opengl/portfile.cmake
Alexander Neumann 1e2c7c3d57
[qt] update port to 6.4 (#26693)
* try qt 6.4-beta4

* fix patch

* fix copyright install

* fix qtdeclarative

* always perform import prefix correction

* adjust qtmultimedia

* fix qttools

* add missing "

* fix linux ?

* fix qtmultimedia with gstreamer

* fix qtvirtualkeyboard

* fix qtwebengine

* fix qmllint regression in qtdeclarative on osx/linux

* fix details

* fix qttools deps

* fix qtdeclarative deps

* remove xcb feature

* fix hunspell patch

* bump qtbase

* add qt3d

* format manifest

* test features in CI

* pass ci baseline stuff

* vulkan is skip in ci so cannot force it.

* remove extra ,

* fix deps

* try to fix promotion

* gstreamer adjustments.

* fix gstreamer on linux

* fix gstreamer stuff

* fix x264 api import macro

* fix gst-rsp-server

* correctly replace

* promote targets....

* enable arm64 qtwebengine

* --trace-expand

* install wrapper for egl.

* add newline

* remove opengl from skip list

* add gl to link

* another try

* retry again

* test dynamic angle linkage

* retry

* link XNVCtrl

* retry

* add libxnvctrl

* retry

* retry again...

* move wrapper to angle

* revert changes to egl-reg

* more debugging

* try again

* fix stuff

* add missing ,

* egl stuff

* wrapper stuff

* fix angle

* remove double dep

* remove libxnvctrl

* format manifest

* revert trace

* bump version

* bump v

* v db

* remove trace

* v db

* refine supports

* v db

* remove qtmultimedia from baseline

* format manifest

* update all the stuff

* refine qtmultimedia

* fix qtmultimedia?

* fix stuff

* fix stuff ?

* trace again

* Try fixing qtmultimedia for static windows builds.

* is ci faster than me...?

* refine

* fix gstreamer static usage

* fix all the qt things!

* fix the path

* try getting logs.

* fix patch

* trace stuff

* only fix stuff when it needs fixing

* force lookup of system EGL. migth need a wrapper in opengl instead.

* try fixing opengl

* don't directly call _find_package

* don't search in install prefix

* retry

* disable trace

* have the correct fix for linux ?

* move angle into a subfolder. No way to deal with it otherwise on linux.

* make the wrapper do nothing

* try fixing allegro5

* lower case

* remove wrapper

* v db

* remove trace

* v db

* remove trace

* v db

* try fixing allegro5 on arm

* retry again

* try again

* revert allegro

* put on ci baseline

* v db

* v db

* bump port

* v db fix

* remove conflicting wrapper

* v db

* glib now uses pcre2

* fix gstreamer picking up egl on windows

* v db

* fix find_package call

* Add bullet feature control

* Disable Qt

* Update versions

* Remove obsolete qt patch junk

* Update versions

* v db

* comments

* v db

* v db

* v db

* v db

* restore correction lost in merge

* v db

* promote to global

* v db

* Fix minimal qtbase builds with opengl disabled

* make host dependency on qtshadertools a normal dependency in qtmultimedia.

* v db

* opengl dynamic doesn't work on !windows

* v db

Co-authored-by: Kai Pastor <dg0yt@darc.de>
2022-11-18 12:31:51 -08:00

65 lines
3.2 KiB
CMake

if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
vcpkg_get_windows_sdk(WINDOWS_SDK)
if (WINDOWS_SDK MATCHES "10.")
set(LIBGLFILEPATH "$ENV{WindowsSdkDir}Lib/${WINDOWS_SDK}/um/${TRIPLET_SYSTEM_ARCH}/OpenGL32.Lib")
set(LIBGLUFILEPATH "$ENV{WindowsSdkDir}Lib/${WINDOWS_SDK}/um/${TRIPLET_SYSTEM_ARCH}/GlU32.Lib")
set(HEADERSPATH "$ENV{WindowsSdkDir}Include/${WINDOWS_SDK}/um")
elseif(WINDOWS_SDK MATCHES "8.")
set(LIBGLFILEPATH "$ENV{WindowsSdkDir}Lib/winv6.3/um/${TRIPLET_SYSTEM_ARCH}/OpenGL32.Lib")
set(LIBGLUFILEPATH "$ENV{WindowsSdkDir}Lib/winv6.3/um/${TRIPLET_SYSTEM_ARCH}/GlU32.Lib")
set(HEADERSPATH "$ENV{WindowsSdkDir}Include/um")
else()
message(FATAL_ERROR "Portfile not yet configured for Windows SDK with version: ${WINDOWS_SDK}")
endif()
if (NOT EXISTS "${LIBGLFILEPATH}")
file(TO_NATIVE_PATH "${LIBGLFILEPATH}" DISPLAY)
message(FATAL_ERROR "Cannot find Windows ${WINDOWS_SDK} SDK. File does not exist: ${DISPLAY}")
endif()
if (NOT EXISTS "${LIBGLUFILEPATH}")
file(TO_NATIVE_PATH "${LIBGLUFILEPATH}" DISPLAY)
message(FATAL_ERROR "Cannot find Windows ${WINDOWS_SDK} SDK. File does not exist: ${DISPLAY}")
endif()
set(INCLUDEGLPATH "${CURRENT_PACKAGES_DIR}/include/gl")
set(SHAREOPENGLPATH "${CURRENT_PACKAGES_DIR}/share/opengl")
set(RELEASELIBPATH "${CURRENT_PACKAGES_DIR}/lib")
set(DEBUGLIBPATH "${CURRENT_PACKAGES_DIR}/debug/lib")
set(GLGLHPATH "${HEADERSPATH}/gl/GL.h")
set(GLGLUHPATH "${HEADERSPATH}/gl/GLU.h")
file(MAKE_DIRECTORY "${INCLUDEGLPATH}" "${SHAREOPENGLPATH}" "${RELEASELIBPATH}")
if (NOT VCPKG_BUILD_TYPE)
file(MAKE_DIRECTORY "${DEBUGLIBPATH}")
endif()
file(COPY "${GLGLHPATH}" "${GLGLUHPATH}" DESTINATION "${INCLUDEGLPATH}")
if (NOT VCPKG_BUILD_TYPE)
file(COPY "${LIBGLFILEPATH}" DESTINATION "${DEBUGLIBPATH}")
file(COPY "${LIBGLUFILEPATH}" DESTINATION "${DEBUGLIBPATH}")
endif()
file(COPY "${LIBGLFILEPATH}" DESTINATION "${RELEASELIBPATH}")
file(COPY "${LIBGLUFILEPATH}" DESTINATION "${RELEASELIBPATH}")
if (WINDOWS_SDK MATCHES "10.")
file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" "See https://developer.microsoft.com/windows/downloads/windows-10-sdk for the Windows 10 SDK license")
elseif(WINDOWS_SDK MATCHES "8.")
file(WRITE "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" "See https://developer.microsoft.com/windows/downloads/windows-8-1-sdk for the Windows 8.1 SDK license")
endif()
string(REGEX MATCH "^([0-9]+)\\.([0-9]+)\\.([0-9]+)" WINDOWS_SDK_SEMVER "${WINDOWS_SDK}")
configure_file("${CMAKE_CURRENT_LIST_DIR}/opengl.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/opengl.pc" @ONLY)
configure_file("${CMAKE_CURRENT_LIST_DIR}/glu.pc.in" "${CURRENT_PACKAGES_DIR}/lib/pkgconfig/glu.pc" @ONLY)
if (NOT VCPKG_BUILD_TYPE)
configure_file("${CMAKE_CURRENT_LIST_DIR}/opengl.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/opengl.pc" @ONLY)
configure_file("${CMAKE_CURRENT_LIST_DIR}/glu.pc.in" "${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/glu.pc" @ONLY)
endif()
vcpkg_fixup_pkgconfig()
else()
set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
endif()