74350fa7cf
This file seems to not do anything useful. From what I can tell the OSX_FATLIB option sets CMAKE_OSX_ARCHITECTURES to "x86_64;i386". This doesn't account for the arm that apple now has, as well as 32 bit support being completely removed, and I think it's entirely reasonable to expect users to pass the necessary architectures they want themselves. It's possible this could break some users who rely on this, but I sincerely doubt anyone does. The solution is trivial either way (put -DCMAKE_OSX_ARCHITECTURES="i386;x86_64" on the command line yourself) The second part of BuildOptions.cmake claims to set PLATFORM to "Web" if the emscripten toolchain file is used (if (EMSCRIPTEN)), but it does not work correctly anyway. Currently, glfw searches for wayland and x11 libraries and fails likeso: CMake Error at /usr/share/cmake/Modules/FindPkgConfig.cmake:645 (message): The following required packages were not found: - wayland-client>=0.2.7 - wayland-cursor>=0.2.7 - wayland-egl>=0.2.7 - xkbcommon>=0.5.0 Call Stack (most recent call first): /usr/share/cmake/Modules/FindPkgConfig.cmake:873 (_pkg_check_modules_internal) src/external/glfw/src/CMakeLists.txt:163 (pkg_check_modules) Considering this code doesn't work as described, it's okay to delete it. I think a better check should be implemented, but that is for a different PR.
65 lines
1.9 KiB
CMake
65 lines
1.9 KiB
CMake
cmake_minimum_required(VERSION 3.5)
|
|
project(raylib)
|
|
|
|
# Avoid excessive expansion of variables in conditionals. In particular, if
|
|
# "PLATFORM" is "DRM" then:
|
|
#
|
|
# if (${PLATFORM} MATCHES "DRM")
|
|
#
|
|
# may expand e.g to:
|
|
#
|
|
# if (/usr/lib/aarch64-linux-gnu/libdrm.so MATCHES "DRM")
|
|
#
|
|
# See https://cmake.org/cmake/help/latest/policy/CMP0054.html
|
|
cmake_policy(SET CMP0054 NEW)
|
|
|
|
# Makes a hidden visibility preset on a static lib respected
|
|
# This is used to hide glfw's symbols from the library exports when building an so/dylib
|
|
# See https://cmake.org/cmake/help/latest/policy/CMP0063.html
|
|
cmake_policy(SET CMP0063 NEW)
|
|
|
|
# Directory for easier includes
|
|
# Anywhere you see include(...) you can check <root>/cmake for that file
|
|
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
|
|
|
|
# RAYLIB_IS_MAIN determines whether the project is being used from root
|
|
# or if it is added as a dependency (through add_subdirectory for example).
|
|
if ("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}")
|
|
set(RAYLIB_IS_MAIN TRUE)
|
|
else()
|
|
set(RAYLIB_IS_MAIN FALSE)
|
|
endif()
|
|
|
|
# Sets compiler flags and language standard
|
|
include(CompilerFlags)
|
|
|
|
# Registers build options that are exposed to cmake
|
|
include(CMakeOptions.txt)
|
|
|
|
if (UNIX AND NOT APPLE)
|
|
if (NOT GLFW_BUILD_WAYLAND AND NOT GLFW_BUILD_X11)
|
|
MESSAGE(FATAL_ERROR "Cannot disable both Wayland and X11")
|
|
endif()
|
|
endif()
|
|
|
|
# Main sources directory (the second parameter sets the output directory name to raylib)
|
|
add_subdirectory(src raylib)
|
|
|
|
# Uninstall target
|
|
if(NOT TARGET uninstall)
|
|
configure_file(
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/Uninstall.cmake"
|
|
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
|
|
IMMEDIATE @ONLY)
|
|
|
|
add_custom_target(uninstall
|
|
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
|
|
endif()
|
|
|
|
if (${BUILD_EXAMPLES})
|
|
MESSAGE(STATUS "Building examples is enabled")
|
|
add_subdirectory(examples)
|
|
endif()
|
|
|
|
enable_testing()
|