diff --git a/CMakeLists.txt b/CMakeLists.txt old mode 100644 new mode 100755 index 82a1ad32..11db057e --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,10 +12,16 @@ else() set (CMAKE_C_STANDARD 99) endif() include(CheckCCompilerFlag) -CHECK_C_COMPILER_FLAG("-Werror=pointer-arith" COMPILER_HAS_POINTER_ARITH_TOGGLE) -if(COMPILER_HAS_POINTER_ARITH_TOGGLE) - set(CMAKE_C_FLAGS "-Werror=pointer-arith ${CMAKE_C_FLAGS}") -endif() +foreach(option -Werror=pointer-arith;-Werror=implicit-function-declaration) + CHECK_C_COMPILER_FLAG("${option}" COMPILER_HAS_THOSE_TOGGLES) + set(outcome "Failed") + if(COMPILER_HAS_THOSE_TOGGLES) + set(CMAKE_C_FLAGS "${option} ${CMAKE_C_FLAGS}") + set(outcome "works") + endif() + message(STATUS "Testing if ${option} can be used -- ${outcome}") +endforeach() + add_subdirectory(src release) diff --git a/src/Makefile b/src/Makefile index c88aa6dd..fc85ea0a 100644 --- a/src/Makefile +++ b/src/Makefile @@ -262,7 +262,8 @@ endif # -Wno-missing-braces ignore invalid warning (GCC bug 53119) # -D_DEFAULT_SOURCE use with -std=c99 on Linux and PLATFORM_WEB, required for timespec # -Werror=pointer-arith catch unportable code that does direct arithmetic on void pointers -CFLAGS += -O1 -Wall -std=c99 -D_DEFAULT_SOURCE -fgnu89-inline -Wno-missing-braces -Werror=pointer-arith +# -Werror=implicit-function-declaration catch function calls without prior declaration +CFLAGS += -O1 -Wall -std=c99 -D_DEFAULT_SOURCE -fgnu89-inline -Wno-missing-braces -Werror=pointer-arith -Werror=implicit-function-declaration ifeq ($(RAYLIB_BUILD_MODE), DEBUG) CFLAGS += -g diff --git a/src/physac.h b/src/physac.h index a04d3cb3..463d8950 100644 --- a/src/physac.h +++ b/src/physac.h @@ -255,6 +255,7 @@ PHYSACDEF void ClosePhysics(void); // Functions required to query time on Windows int __stdcall QueryPerformanceCounter(unsigned long long int *lpPerformanceCount); int __stdcall QueryPerformanceFrequency(unsigned long long int *lpFrequency); + #include #elif defined(__linux__) #if _POSIX_C_SOURCE < 199309L #undef _POSIX_C_SOURCE diff --git a/src/rlgl.c b/src/rlgl.c index d325a1bd..63860f1c 100644 --- a/src/rlgl.c +++ b/src/rlgl.c @@ -74,6 +74,7 @@ #if defined(GRAPHICS_API_OPENGL_11) #if defined(__APPLE__) #include // OpenGL 1.1 library for OSX + #include #else #if defined(_MSC_VER) // Using MSVC compiler, requires some additional definitions // APIENTRY for OpenGL function pointer declarations is required @@ -101,6 +102,7 @@ #if defined(GRAPHICS_API_OPENGL_33) #if defined(__APPLE__) #include // OpenGL 3 library for OSX + #include #else #define GLAD_IMPLEMENTATION #if defined(RLGL_STANDALONE) @@ -125,6 +127,7 @@ #include "shader_distortion.h" // Distortion shader to be embedded #endif + //---------------------------------------------------------------------------------- // Defines and Macros //----------------------------------------------------------------------------------