- 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()
|