early-access version 2853

This commit is contained in:
pineappleEA
2022-07-23 03:01:36 +02:00
parent 1f2b5081b5
commit 1f111bb69c
8955 changed files with 418777 additions and 999 deletions

View File

@@ -0,0 +1,36 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 011577a..e52d19d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -42,11 +42,13 @@ include(cmake/GenerateTemplateExportHeader.cmake)
#
# Get git revision
+if(NOT DEFINED GIT_REV)
get_git_head_revision(GIT_REFSPEC GIT_SHA1)
string(SUBSTRING "${GIT_SHA1}" 0 12 GIT_REV)
if(NOT GIT_SHA1)
set(GIT_REV "0")
endif()
+endif()
# Meta information about the project
set(META_PROJECT_NAME "glbinding")
@@ -135,7 +137,7 @@ if("${CMAKE_INSTALL_PREFIX}" STREQUAL "/usr" OR "${CMAKE_INSTALL_PREFIX}" STREQU
endif()
# Installation paths
-if(UNIX AND SYSTEM_DIR_INSTALL)
+if(1)
# Install into the system (/usr/bin or /usr/local/bin)
set(INSTALL_ROOT "share/${project}") # /usr/[local]/share/<project>
set(INSTALL_CMAKE "share/${project}/cmake") # /usr/[local]/share/<project>/cmake
@@ -148,7 +150,7 @@ if(UNIX AND SYSTEM_DIR_INSTALL)
set(INSTALL_DOC "share/doc/${project}") # /usr/[local]/share/doc/<project>
set(INSTALL_SHORTCUTS "share/applications") # /usr/[local]/share/applications
set(INSTALL_ICONS "share/pixmaps") # /usr/[local]/share/pixmaps
- set(INSTALL_INIT "/etc/init") # /etc/init (upstart init scripts)
+ set(INSTALL_INIT "etc/init") # /etc/init (upstart init scripts)
else()
# Install into local directory
set(INSTALL_ROOT ".") # ./

View File

@@ -0,0 +1,33 @@
diff --git a/source/glbinding/CMakeLists.txt b/source/glbinding/CMakeLists.txt
index 97654c8..bca68d1 100644
--- a/source/glbinding/CMakeLists.txt
+++ b/source/glbinding/CMakeLists.txt
@@ -261,6 +261,11 @@ target_link_libraries(${target}
# Compile definitions
#
+
+if (CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ target_compile_definitions(${target} PRIVATE SYSTEM_WINDOWS WINDOWS_STORE)
+endif()
+
target_compile_definitions(${target}
PRIVATE
# since we use stl and stl is intended to use exceptions, exceptions should not be disabled
diff --git a/source/glbinding/source/getProcAddress.cpp b/source/glbinding/source/getProcAddress.cpp
index c1cfc5c..7e5f8bc 100644
--- a/source/glbinding/source/getProcAddress.cpp
+++ b/source/glbinding/source/getProcAddress.cpp
@@ -18,7 +18,11 @@ namespace glbinding {
ProcAddress getProcAddress(const char * name)
{
- static auto module = LoadLibrary(_T("OPENGL32.DLL"));
+#ifdef WINDOWS_STORE
+ static auto module = ::LoadPackagedLibrary(_T("OPENGL32.DLL"), 0);
+#else
+ static auto module = ::LoadLibrary(_T("OPENGL32.DLL"));
+#endif
// Prevent static linking of opengl32
static auto wglGetProcAddress_ = reinterpret_cast<void * (__stdcall *)(const char *)>(::GetProcAddress(module, "wglGetProcAddress"));

View File

@@ -0,0 +1,62 @@
diff --git a/3rdparty/KHR/CMakeLists.txt b/3rdparty/KHR/CMakeLists.txt
index 25fac3a..429544f 100644
--- a/3rdparty/KHR/CMakeLists.txt
+++ b/3rdparty/KHR/CMakeLists.txt
@@ -43,7 +43,7 @@ add_library(${target} INTERFACE)
add_library(externals::${target} ALIAS ${target})
# Export library for downstream projects
-export(TARGETS ${target} NAMESPACE ${META_PROJECT_NAME}:: FILE ${PROJECT_BINARY_DIR}/cmake/${target}/${target}-export.cmake)
+export(TARGETS ${target} NAMESPACE ${META_PROJECT_NAME}:: FILE ${PROJECT_BINARY_DIR}/${target}-export.cmake)
#
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 700b48b..8aaab8d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -141,15 +141,15 @@ endif()
if(1)
# Install into the system (/usr/bin or /usr/local/bin)
set(INSTALL_ROOT "share/${project}") # /usr/[local]/share/<project>
- set(INSTALL_CMAKE "share/${project}/cmake") # /usr/[local]/share/<project>/cmake
+ set(INSTALL_CMAKE "share/${project}") # /usr/[local]/share/<project>/cmake
set(INSTALL_EXAMPLES "share/${project}") # /usr/[local]/share/<project>
set(INSTALL_DATA "share/${project}") # /usr/[local]/share/<project>
set(INSTALL_BIN "bin") # /usr/[local]/bin
set(INSTALL_SHARED "lib") # /usr/[local]/lib
set(INSTALL_LIB "lib") # /usr/[local]/lib
set(INSTALL_INCLUDE "include") # /usr/[local]/include
- set(INSTALL_DOC "share/doc/${project}") # /usr/[local]/share/doc/<project>
- set(INSTALL_SHORTCUTS "share/applications") # /usr/[local]/share/applications
+ set(INSTALL_DOC "share/${project}/doc") # /usr/[local]/share/doc/<project>
+ set(INSTALL_SHORTCUTS "share/${project}/applications") # /usr/[local]/share/applications
set(INSTALL_ICONS "share/pixmaps") # /usr/[local]/share/pixmaps
set(INSTALL_INIT "etc/init") # /etc/init (upstart init scripts)
else()
diff --git a/source/glbinding-aux/CMakeLists.txt b/source/glbinding-aux/CMakeLists.txt
index 61cc166..cb0758a 100644
--- a/source/glbinding-aux/CMakeLists.txt
+++ b/source/glbinding-aux/CMakeLists.txt
@@ -137,7 +137,7 @@ add_library(${target}
add_library(${META_PROJECT_NAME}::${target} ALIAS ${target})
# Export library for downstream projects
-export(TARGETS ${target} NAMESPACE ${META_PROJECT_NAME}:: FILE ${PROJECT_BINARY_DIR}/cmake/${target}/${target}-export.cmake)
+export(TARGETS ${target} NAMESPACE ${META_PROJECT_NAME}:: FILE ${PROJECT_BINARY_DIR}/${target}-export.cmake)
# Create API export header
generate_export_header(${target}
diff --git a/source/glbinding/CMakeLists.txt b/source/glbinding/CMakeLists.txt
index bca68d1..f014494 100644
--- a/source/glbinding/CMakeLists.txt
+++ b/source/glbinding/CMakeLists.txt
@@ -172,7 +172,7 @@ add_library(${target}
add_library(${META_PROJECT_NAME}::${target} ALIAS ${target})
# Export library for downstream projects
-export(TARGETS ${target} NAMESPACE ${META_PROJECT_NAME}:: FILE ${PROJECT_BINARY_DIR}/cmake/${target}/${target}-export.cmake)
+export(TARGETS ${target} NAMESPACE ${META_PROJECT_NAME}:: FILE ${PROJECT_BINARY_DIR}/${target}-export.cmake)
# Create API export header
generate_export_header(${target}

View File

@@ -0,0 +1,35 @@
diff --git a/glbinding-config.cmake b/glbinding-config.cmake
index 03fc505..01b6cc8 100644
--- a/glbinding-config.cmake
+++ b/glbinding-config.cmake
@@ -1,7 +1,7 @@
# This config script tries to locate the project either in its source tree
# or from an install location.
-#
+#
# Please adjust the list of submodules to search for.
@@ -35,20 +35,11 @@ endmacro()
# Try install location
set(MODULE_FOUND FALSE)
-find_modules("cmake")
+find_modules(".")
if(MODULE_FOUND)
return()
endif()
-# Try common build locations
-if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
- find_modules("build-debug/cmake")
- find_modules("build/cmake")
-else()
- find_modules("build/cmake")
- find_modules("build-debug/cmake")
-endif()
-
# Signal success/failure to CMake
set(glbinding_FOUND ${MODULE_FOUND})

View File

@@ -0,0 +1,59 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO cginternals/glbinding
REF v3.1.0
SHA512 d7294c9a0dc47a7c107b134e5dfa78c5812fc6bf739b9fd778fa7ce946d5ea971839a65c3985e0915fd75311e4a85fb221d33a71856c460199eab0e7622f7151
HEAD_REF master
PATCHES
0001_force-system-install.patch
0002_fix-uwpmacro.patch
0003_fix-cmake-configs-paths.patch
0004_fix-config-expected-paths.patch
)
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
PREFER_NINJA
OPTIONS
-DOPTION_BUILD_TESTS=OFF
-DOPTION_BUILD_GPU_TESTS=OFF
-DOPTION_BUILD_TOOLS=OFF
-DOPTION_BUILD_EXAMPLES=OFF
-DGIT_REV=0
-DCMAKE_DISABLE_FIND_PACKAGE_cpplocate=ON
-DOPTION_BUILD_EXAMPLES=OFF
)
vcpkg_install_cmake()
vcpkg_fixup_cmake_targets(CONFIG_PATH share/glbinding)
vcpkg_copy_pdbs()
## _IMPORT_PREFIX needs to go up one extra level in the directory tree.
file(GLOB_RECURSE TARGET_CMAKES "${CURRENT_PACKAGES_DIR}/*-export.cmake")
foreach(TARGET_CMAKE IN LISTS TARGET_CMAKES)
file(READ ${TARGET_CMAKE} _contents)
string(REPLACE
[[
get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
]]
[[
get_filename_component(_IMPORT_PREFIX "${CMAKE_CURRENT_LIST_FILE}" PATH)
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
get_filename_component(_IMPORT_PREFIX "${_IMPORT_PREFIX}" PATH)
]]
_contents "${_contents}")
file(WRITE ${TARGET_CMAKE} "${_contents}")
endforeach()
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
# Remove files already published by egl-registry
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/include/KHR)
# Handle copyright
file(RENAME ${CURRENT_PACKAGES_DIR}/share/glbinding/LICENSE ${CURRENT_PACKAGES_DIR}/share/glbinding/copyright)
configure_file(${CMAKE_CURRENT_LIST_DIR}/usage ${CURRENT_PACKAGES_DIR}/share/glbinding/usage @ONLY)

4
externals/vcpkg/ports/glbinding/usage vendored Executable file
View File

@@ -0,0 +1,4 @@
The package glbinding:@TARGET_TRIPLET@ provides CMake targets:
find_package(glbinding CONFIG REQUIRED)
target_link_libraries(main PRIVATE glbinding::glbinding glbinding::glbinding-aux)

10
externals/vcpkg/ports/glbinding/vcpkg.json vendored Executable file
View File

@@ -0,0 +1,10 @@
{
"name": "glbinding",
"version-string": "3.1.0",
"port-version": 3,
"description": "glbinding is an MIT licensed, cross-platform C++ binding for the OpenGL API",
"homepage": "https://github.com/cginternals/glbinding",
"dependencies": [
"egl-registry"
]
}