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,35 @@
diff --git a/include/GL/freeglut_std.h b/include/GL/freeglut_std.h
index a658c7c..a5efb3b 100644
--- a/include/GL/freeglut_std.h
+++ b/include/GL/freeglut_std.h
@@ -70,7 +70,7 @@
/* Link with Win32 static freeglut lib */
# if FREEGLUT_LIB_PRAGMAS
-# ifdef NDEBUG
+# if defined(NDEBUG) || !defined(_DEBUG)
# pragma comment (lib, "freeglut_static.lib")
# else
# pragma comment (lib, "freeglut_staticd.lib")
@@ -88,7 +88,7 @@
/* Link with Win32 shared freeglut lib */
# if FREEGLUT_LIB_PRAGMAS
-# ifdef NDEBUG
+# if defined(NDEBUG) || !defined(_DEBUG)
# pragma comment (lib, "freeglut.lib")
# else
# pragma comment (lib, "freeglutd.lib")
diff --git a/src/blackberry/fg_main_blackberry.c b/src/blackberry/fg_main_blackberry.c
index a1b9cbb..a20c53d 100644
--- a/src/blackberry/fg_main_blackberry.c
+++ b/src/blackberry/fg_main_blackberry.c
@@ -31,7 +31,7 @@
#include "fg_internal.h"
#include "egl/fg_window_egl.h"
-#ifdef NDEBUG
+#if defined(NDEBUG) || !defined(_DEBUG)
#define LOGI(...)
#endif

View File

@@ -0,0 +1,21 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6f403af..ce6f9f2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -258,6 +258,16 @@ ENDIF()
IF(FREEGLUT_GLES)
LIST(APPEND PUBLIC_DEFINITIONS -DFREEGLUT_GLES)
LIST(APPEND LIBS GLESv2 GLESv1_CM EGL)
+ELSEIF(APPLE)
+ # on OSX FindOpenGL uses framework version of OpenGL, but we need X11 version
+ FIND_PATH(GLX_INCLUDE_DIR GL/glx.h
+ PATHS /opt/X11/include /usr/X11/include /usr/X11R6/include)
+ FIND_LIBRARY(OPENGL_gl_LIBRARY GL
+ PATHS /opt/X11/lib /usr/X11/lib /usr/X11R6/lib)
+ FIND_LIBRARY(OPENGL_glu_LIBRARY GLU
+ PATHS /opt/X11/lib /usr/X11/lib /usr/X11R6/lib)
+ LIST(APPEND LIBS ${OPENGL_gl_LIBRARY})
+ INCLUDE_DIRECTORIES(${GLX_INCLUDE_DIR})
ELSE()
FIND_PACKAGE(OpenGL REQUIRED)
LIST(APPEND LIBS ${OPENGL_gl_LIBRARY})

View File

@@ -0,0 +1,17 @@
diff --git a/CMakeLists.txt.orig b/CMakeLists.txt
index 6f403af..d1ba4e7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -418,12 +418,6 @@ IF(WIN32)
IF(FREEGLUT_REPLACE_GLUT)
SET_TARGET_PROPERTIES(freeglut_static PROPERTIES OUTPUT_NAME ${LIBNAME})
ENDIF()
- # need to set machine:x64 for linker, at least for VC10, and
- # doesn't hurt for older compilers:
- # http://public.kitware.com/Bug/view.php?id=11240#c22768
- IF (CMAKE_CL_64)
- SET_TARGET_PROPERTIES(freeglut_static PROPERTIES STATIC_LIBRARY_FLAGS "/machine:x64")
- ENDIF()
ENDIF()
ELSE()
# on UNIX we need to make sure:

50
externals/vcpkg/ports/freeglut/portfile.cmake vendored Executable file
View File

@@ -0,0 +1,50 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO FreeGLUTProject/freeglut
REF v3.2.2
SHA512 caaed8af95c2d0ecbc785229e26433978a0f606ae2b9f0b3cd794bb5bb70a1cc54d21f941a1a03e20c7e0fa3eba9d54a21d6e23e44f243899c0fdf146066cf29
HEAD_REF master
PATCHES
x11-dependencies-export.patch
macOS_Xquartz.patch
fix-debug-macro.patch
no_x64_enforcement.patch
windows-static-output-name.patch
)
if(NOT VCPKG_TARGET_IS_WINDOWS)
message("Freeglut currently requires the following libraries from the system package manager:\n opengl\n glu\n libx11\n xrandr\n xi\n xxf86vm\n\nThese can be installed on Ubuntu systems via apt-get install libxi-dev libgl1-mesa-dev libglu1-mesa-dev mesa-common-dev libxrandr-dev libxxf86vm-dev\nOn macOS Xquartz is required.")
endif()
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" FREEGLUT_STATIC)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" FREEGLUT_DYNAMIC)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
-DFREEGLUT_BUILD_STATIC_LIBS=${FREEGLUT_STATIC}
-DFREEGLUT_BUILD_SHARED_LIBS=${FREEGLUT_DYNAMIC}
-DFREEGLUT_BUILD_DEMOS=OFF
-DINSTALL_PDB=OFF # Installing pdbs failed on debug static. So, disable it and let vcpkg_copy_pdbs() do it
)
vcpkg_cmake_install()
vcpkg_copy_pdbs()
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/FreeGLUT)
vcpkg_fixup_pkgconfig()
# Rename static lib (otherwise it's incompatible with FindGLUT.cmake)
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
vcpkg_replace_string(
"${CURRENT_PACKAGES_DIR}/include/GL/freeglut_std.h"
"ifdef FREEGLUT_STATIC"
"if 1 //ifdef FREEGLUT_STATIC"
)
endif()
# Clean
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/glut")
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
file(INSTALL "${SOURCE_PATH}/COPYING" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)

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

@@ -0,0 +1,4 @@
The package freeglut is compatible with built-in CMake targets:
find_package(GLUT REQUIRED)
target_link_libraries(main PRIVATE GLUT::GLUT)

View File

@@ -0,0 +1,33 @@
_find_package(${ARGS})
if(GLUT_FOUND AND UNIX AND NOT ANDROID)
cmake_policy(PUSH)
cmake_policy(SET CMP0012 NEW)
cmake_policy(SET CMP0054 NEW)
cmake_policy(SET CMP0057 NEW)
if(GLUT_LINK_LIBRARIES)
# Since CMake 3.22, FindGLUT.cmake loads the glut pkg-config module.
# We need `-lglut` resolved to an absolute path.
set(GLUT_LIBRARIES "${GLUT_LINK_LIBRARIES}")
else()
find_package(X11)
# Before CMake 3.14, FindX11.cmake doesn't create imported targets.
# For X11, we simply assume shared linkage of system libs,
# so order and transitive usage requirements don't matter.
if(X11_Xrandr_FOUND AND NOT "Xrandr" IN_LIST GLUT_LIBRARIES)
list(APPEND GLUT_LIBRARIES "${X11_Xrandr_LIB}")
set_property(TARGET GLUT::GLUT APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${X11_Xrandr_LIB}")
endif()
# X11_xf86vmode_FOUND for CMake < 3.14
if((X11_xf86vm_FOUND OR X11_xf86vmode_FOUND) AND NOT "Xxf86vm" IN_LIST GLUT_LIBRARIES)
list(APPEND GLUT_LIBRARIES "${X11_Xxf86vm_LIB}")
set_property(TARGET GLUT::GLUT APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${X11_Xxf86vm_LIB}")
endif()
if(X11_Xi_FOUND AND NOT GLUT_Xi_LIBRARY AND NOT "Xi" IN_LIST GLUT_LIBRARIES)
list(APPEND GLUT_LIBRARIES "${X11_Xi_LIB}")
set_property(TARGET GLUT::GLUT APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${X11_Xi_LIB}")
endif()
endif()
cmake_policy(POP)
endif()

17
externals/vcpkg/ports/freeglut/vcpkg.json vendored Executable file
View File

@@ -0,0 +1,17 @@
{
"name": "freeglut",
"version": "3.2.2",
"description": "Open source implementation of GLUT with source and binary backwards compatibility.",
"homepage": "https://sourceforge.net/projects/freeglut/",
"license": null,
"dependencies": [
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
]
}

View File

@@ -0,0 +1,29 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index aec0a27..73ccbdb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -429,7 +429,7 @@ IF(WIN32)
ENDIF()
IF(FREEGLUT_BUILD_STATIC_LIBS)
TARGET_COMPILE_DEFINITIONS(freeglut_static PUBLIC FREEGLUT_STATIC)
- IF(FREEGLUT_REPLACE_GLUT)
+ IF(1)
SET_TARGET_PROPERTIES(freeglut_static PROPERTIES OUTPUT_NAME ${LIBNAME})
ENDIF()
ENDIF()
diff --git a/include/GL/freeglut_std.h b/include/GL/freeglut_std.h
index a5efb3b..6bdcdfb 100644
--- a/include/GL/freeglut_std.h
+++ b/include/GL/freeglut_std.h
@@ -71,9 +71,9 @@
/* Link with Win32 static freeglut lib */
# if FREEGLUT_LIB_PRAGMAS
# if defined(NDEBUG) || !defined(_DEBUG)
-# pragma comment (lib, "freeglut_static.lib")
+# pragma comment (lib, "freeglut.lib")
# else
-# pragma comment (lib, "freeglut_staticd.lib")
+# pragma comment (lib, "freeglutd.lib")
# endif
# endif

View File

@@ -0,0 +1,63 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6f403af..4ced28a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -72,7 +72,7 @@ SET(FREEGLUT_HEADERS
include/GL/freeglut_ext.h
include/GL/freeglut_std.h
)
-IF(FREEGLUT_REPLACE_GLUT)
+IF(TRUE)
LIST(APPEND FREEGLUT_HEADERS
include/GL/glut.h
)
@@ -319,23 +319,27 @@ IF(CMAKE_COMPILER_IS_GNUCC)
ENDIF()
ENDIF(CMAKE_COMPILER_IS_GNUCC)
+SET(xlibs_private "")
INCLUDE(CheckIncludeFiles)
IF(UNIX AND NOT(ANDROID OR BLACKBERRY OR FREEGLUT_WAYLAND))
FIND_PACKAGE(X11 REQUIRED)
- INCLUDE_DIRECTORIES(${X11_X11_INCLUDE_PATH})
- LIST(APPEND LIBS ${X11_X11_LIB})
+ LIST(APPEND LIBS X11::X11)
+ set(xlibs_private "-lX11")
IF(X11_Xrandr_FOUND)
SET(HAVE_X11_EXTENSIONS_XRANDR_H TRUE)
- LIST(APPEND LIBS ${X11_Xrandr_LIB})
+ LIST(APPEND LIBS X11::Xrandr)
+ STRING(APPEND xlibs_private " -lXrandr")
ENDIF()
- IF(X11_xf86vmode_FOUND)
+ IF(X11_Xxf86vm_FOUND)
SET(HAVE_X11_EXTENSIONS_XF86VMODE_H TRUE)
- LIST(APPEND LIBS ${X11_Xxf86vm_LIB})
+ LIST(APPEND LIBS X11::Xxf86vm)
+ STRING(APPEND xlibs_private " -lXxf86vm")
ENDIF()
IF(X11_Xinput_FOUND)
# Needed for multi-touch:
CHECK_INCLUDE_FILES("${X11_Xinput_INCLUDE_PATH}/X11/extensions/XInput2.h" HAVE_X11_EXTENSIONS_XINPUT2_H)
- LIST(APPEND LIBS ${X11_Xinput_LIB})
+ LIST(APPEND LIBS X11::Xi)
+ STRING(APPEND xlibs_private " -lXi")
ELSE()
MESSAGE(FATAL_ERROR "Missing X11's XInput.h (X11/extensions/XInput.h)")
ENDIF()
@@ -586,13 +590,13 @@ ELSEIF(FREEGLUT_GLES)
ELSEIF(FREEGLUT_WAYLAND)
SET(PC_LIBS_PRIVATE "-lwayland-client -lwayland-cursor -lwayland-egl -lGLESv2 -lGLESv1_CM -lEGL -lxkbcommon -lm")
ELSE()
- SET(PC_LIBS_PRIVATE "-lX11 -lXxf86vm -lXrandr -lGLESv2 -lGLESv1_CM -lEGL -lm")
+ SET(PC_LIBS_PRIVATE "${xlibs_private} -lGLESv2 -lGLESv1_CM -lEGL -lm")
ENDIF()
ELSE()
IF(FREEGLUT_WAYLAND)
SET(PC_LIBS_PRIVATE "-lwayland-client -lwayland-cursor -lwayland-egl -lGL -lxkbcommon -lm")
ELSE()
- SET(PC_LIBS_PRIVATE "-lX11 -lXxf86vm -lXrandr -lGL -lm")
+ SET(PC_LIBS_PRIVATE "${xlibs_private} -lGL -lm")
ENDIF()
ENDIF()
# Client applications need to define FreeGLUT GLES version to