Moved some android compiler flags and added documentation on them too.
This commit is contained in:
parent
401b680218
commit
b3c336b7fb
|
|
@ -55,3 +55,25 @@ if(CMAKE_VERSION VERSION_LESS "3.1")
|
|||
else()
|
||||
set (CMAKE_C_STANDARD 99)
|
||||
endif()
|
||||
|
||||
if(${PLATFORM} MATCHES "Android")
|
||||
|
||||
# If enabled will remove dead code during the linking process
|
||||
# https://gcc.gnu.org/onlinedocs/gnat_ugn/Compilation-options.html
|
||||
add_if_flag_compiles(-ffunction-sections CMAKE_C_FLAGS)
|
||||
|
||||
# If enabled will generate some exception data (usually disabled for C programs)
|
||||
# https://gcc.gnu.org/onlinedocs/gcc-4.2.4/gcc/Code-Gen-Options.html
|
||||
add_if_flag_compiles(-funwind-tables CMAKE_C_FLAGS)
|
||||
|
||||
# If enabled adds stack protection guards around functions that allocate memory
|
||||
# https://www.keil.com/support/man/docs/armclang_ref/armclang_ref_cjh1548250046139.htm
|
||||
add_if_flag_compiles(-fstack-protector-strong CMAKE_C_FLAGS)
|
||||
|
||||
# Marks that the library will not be compiled with an executable stack
|
||||
add_if_flag_compiles(-Wa,--noexecstack CMAKE_C_FLAGS)
|
||||
|
||||
# Do not expand symbolic links or resolve paths like "/./" or "/../", etc.
|
||||
# https://gcc.gnu.org/onlinedocs/gcc/Directory-Options.html
|
||||
add_if_flag_compiles(-no-canonical-prefixes CMAKE_C_FLAGS)
|
||||
endif()
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
if(${PLATFORM} MATCHES "Desktop")
|
||||
if (${PLATFORM} MATCHES "Desktop")
|
||||
set(PLATFORM_CPP "PLATFORM_DESKTOP")
|
||||
|
||||
if(APPLE)
|
||||
if (APPLE)
|
||||
# Need to force OpenGL 3.3 on OS X
|
||||
# See: https://github.com/raysan5/raylib/issues/341
|
||||
set(GRAPHICS "GRAPHICS_API_OPENGL_33")
|
||||
|
|
@ -11,40 +11,35 @@ if(${PLATFORM} MATCHES "Desktop")
|
|||
if (NOT CMAKE_SYSTEM STRLESS "Darwin-18.0.0")
|
||||
add_definitions(-DGL_SILENCE_DEPRECATION)
|
||||
MESSAGE(AUTHOR_WARNING "OpenGL is deprecated starting with macOS 10.14 (Mojave)!")
|
||||
endif()
|
||||
elseif(WIN32)
|
||||
endif ()
|
||||
elseif (WIN32)
|
||||
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
|
||||
set(LIBS_PRIVATE ${LIBS_PRIVATE} winmm)
|
||||
else()
|
||||
else ()
|
||||
find_library(pthread NAMES pthread)
|
||||
find_package(OpenGL QUIET)
|
||||
if ("${OPENGL_LIBRARIES}" STREQUAL "")
|
||||
set(OPENGL_LIBRARIES "GL")
|
||||
endif()
|
||||
endif ()
|
||||
|
||||
if ("${CMAKE_SYSTEM_NAME}" MATCHES "(Net|Open)BSD")
|
||||
find_library(OSS_LIBRARY ossaudio)
|
||||
endif()
|
||||
endif ()
|
||||
|
||||
set(LIBS_PRIVATE m pthread ${OPENGL_LIBRARIES} ${OSS_LIBRARY})
|
||||
endif()
|
||||
endif ()
|
||||
|
||||
elseif(${PLATFORM} MATCHES "Web")
|
||||
elseif (${PLATFORM} MATCHES "Web")
|
||||
set(PLATFORM_CPP "PLATFORM_WEB")
|
||||
set(GRAPHICS "GRAPHICS_API_OPENGL_ES2")
|
||||
set(CMAKE_C_FLAGS "-s USE_GLFW=3 -s ASSERTIONS=1 --profiling")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -s USE_GLFW=3 -s ASSERTIONS=1 --profiling")
|
||||
set(CMAKE_STATIC_LIBRARY_SUFFIX ".a")
|
||||
|
||||
elseif(${PLATFORM} MATCHES "Android")
|
||||
elseif (${PLATFORM} MATCHES "Android")
|
||||
set(PLATFORM_CPP "PLATFORM_ANDROID")
|
||||
set(GRAPHICS "GRAPHICS_API_OPENGL_ES2")
|
||||
include(AddIfFlagCompiles)
|
||||
add_if_flag_compiles(-ffunction-sections CMAKE_C_FLAGS)
|
||||
add_if_flag_compiles(-funwind-tables CMAKE_C_FLAGS)
|
||||
add_if_flag_compiles(-fstack-protector-strong CMAKE_C_FLAGS)
|
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
add_if_flag_compiles(-Wa,--noexecstack CMAKE_C_FLAGS)
|
||||
add_if_flag_compiles(-no-canonical-prefixes CMAKE_C_FLAGS)
|
||||
|
||||
add_definitions(-DANDROID -D__ANDROID_API__=21)
|
||||
include_directories(external/android/native_app_glue)
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--exclude-libs,libatomic.a -Wl,--build-id -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,--warn-shared-textrel -Wl,--fatal-warnings -uANativeActivity_onCreate")
|
||||
|
|
@ -52,7 +47,7 @@ elseif(${PLATFORM} MATCHES "Android")
|
|||
find_library(OPENGL_LIBRARY OpenGL)
|
||||
set(LIBS_PRIVATE m log android EGL GLESv2 OpenSLES atomic c)
|
||||
|
||||
elseif(${PLATFORM} MATCHES "Raspberry Pi")
|
||||
elseif (${PLATFORM} MATCHES "Raspberry Pi")
|
||||
set(PLATFORM_CPP "PLATFORM_RPI")
|
||||
set(GRAPHICS "GRAPHICS_API_OPENGL_ES2")
|
||||
|
||||
|
|
@ -65,7 +60,7 @@ elseif(${PLATFORM} MATCHES "Raspberry Pi")
|
|||
link_directories(/opt/vc/lib)
|
||||
set(LIBS_PRIVATE ${GLESV2} ${EGL} ${BCMHOST} pthread rt m dl)
|
||||
|
||||
elseif(${PLATFORM} MATCHES "DRM")
|
||||
elseif (${PLATFORM} MATCHES "DRM")
|
||||
set(PLATFORM_CPP "PLATFORM_DRM")
|
||||
set(GRAPHICS "GRAPHICS_API_OPENGL_ES2")
|
||||
|
||||
|
|
@ -81,7 +76,7 @@ elseif(${PLATFORM} MATCHES "DRM")
|
|||
include_directories(/usr/include/libdrm)
|
||||
set(LIBS_PRIVATE ${GLESV2} ${EGL} ${DRM} ${GBM} pthread m dl)
|
||||
|
||||
endif()
|
||||
endif ()
|
||||
|
||||
if (${OPENGL_VERSION})
|
||||
set(${SUGGESTED_GRAPHICS} "${GRAPHICS}")
|
||||
|
|
@ -93,12 +88,12 @@ if (${OPENGL_VERSION})
|
|||
set(GRAPHICS "GRAPHICS_API_OPENGL_11")
|
||||
elseif (${OPENGL_VERSION} MATCHES "ES 2.0")
|
||||
set(GRAPHICS "GRAPHICS_API_OPENGL_ES2")
|
||||
endif()
|
||||
endif ()
|
||||
if ("${SUGGESTED_GRAPHICS}" AND NOT "${SUGGESTED_GRAPHICS}" STREQUAL "${GRAPHICS}")
|
||||
message(WARNING "You are overriding the suggested GRAPHICS=${SUGGESTED_GRAPHICS} with ${GRAPHICS}! This may fail")
|
||||
endif()
|
||||
endif()
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
if(NOT GRAPHICS)
|
||||
if (NOT GRAPHICS)
|
||||
set(GRAPHICS "GRAPHICS_API_OPENGL_33")
|
||||
endif()
|
||||
endif ()
|
||||
Loading…
Reference in New Issue
Block a user