fix the link error of raylib_opengl_interop and rlgl_standalone, and the error of un-removed cache in AddIfFlagCompiles.cmake

This commit is contained in:
PSZ 2024-02-25 18:53:34 +08:00
parent 2a774a88f5
commit 4726740e42
4 changed files with 15 additions and 0 deletions

View File

@ -9,4 +9,7 @@ function(add_if_flag_compiles flag)
set(outcome "compiles") set(outcome "compiles")
endif() endif()
message(STATUS "Testing if ${flag} can be used -- ${outcome}") message(STATUS "Testing if ${flag} can be used -- ${outcome}")
# It must be manually removed from the cache; otherwise, the check won't be re-evalated
# https://cmake.org/cmake/help/latest/module/CheckCCompilerFlag.html
unset(COMPILER_HAS_THOSE_TOGGLES CACHE)
endfunction() endfunction()

View File

@ -11,6 +11,12 @@ add_if_flag_compiles(-Werror=implicit-function-declaration CMAKE_C_FLAGS)
# Allows some casting of pointers without generating a warning # Allows some casting of pointers without generating a warning
add_if_flag_compiles(-fno-strict-aliasing CMAKE_C_FLAGS) add_if_flag_compiles(-fno-strict-aliasing CMAKE_C_FLAGS)
# Set the charset of input files and executable files as utf-8
# Since the default charset of MSVC is not utf-8
if(CMAKE_C_COMPILER_ID STREQUAL "MSVC")
add_if_flag_compiles(-utf-8 CMAKE_C_FLAGS)
endif()
if (ENABLE_MSAN AND ENABLE_ASAN) if (ENABLE_MSAN AND ENABLE_ASAN)
# MSAN and ASAN both work on memory - ASAN does more things # MSAN and ASAN both work on memory - ASAN does more things
MESSAGE(WARNING "Compiling with both AddressSanitizer and MemorySanitizer is not recommended") MESSAGE(WARNING "Compiling with both AddressSanitizer and MemorySanitizer is not recommended")

View File

@ -142,5 +142,8 @@ foreach (example_source ${example_sources})
endif () endif ()
endforeach () endforeach ()
# Need glfw implemention for glfw3.h
target_sources(rlgl_standalone PRIVATE ${CMAKE_SOURCE_DIR}/src/rglfw.c)
# Copy all of the resource files to the destination # Copy all of the resource files to the destination
file(COPY ${example_resources} DESTINATION "resources/") file(COPY ${example_resources} DESTINATION "resources/")

View File

@ -38,6 +38,9 @@
#include <OpenGL/gl3.h> // OpenGL 3 library for OSX #include <OpenGL/gl3.h> // OpenGL 3 library for OSX
#include <OpenGL/gl3ext.h> // OpenGL 3 extensions library for OSX #include <OpenGL/gl3ext.h> // OpenGL 3 extensions library for OSX
#else #else
#if defined(_WIN32) && defined(_MSC_VER)
#define GLAD_IMPLEMENTATION // Need self-implementation for MSVC
#endif
#include "glad.h" // Required for: OpenGL functionality #include "glad.h" // Required for: OpenGL functionality
#endif #endif
#define GLSL_VERSION 330 #define GLSL_VERSION 330