aboutsummaryrefslogtreecommitdiff
path: root/raylib/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'raylib/CMakeLists.txt')
-rw-r--r--raylib/CMakeLists.txt45
1 files changed, 45 insertions, 0 deletions
diff --git a/raylib/CMakeLists.txt b/raylib/CMakeLists.txt
new file mode 100644
index 0000000..be978d1
--- /dev/null
+++ b/raylib/CMakeLists.txt
@@ -0,0 +1,45 @@
+cmake_minimum_required(VERSION 3.0)
+project(raylib)
+
+# Avoid excessive expansion of variables in conditionals. In particular, if
+# "PLATFORM" is "DRM" than:
+#
+# 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)
+
+# Directory for easier includes
+# Anywhere you see include(...) you can check <root>/cmake for that file
+set(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)
+
+# Enforces a few environment and compiler configurations
+include(BuildOptions)
+
+# Main sources directory (the second parameter sets the output directory name to raylib)
+add_subdirectory(src raylib)
+
+if (${BUILD_EXAMPLES})
+ MESSAGE(STATUS "Building examples is enabled")
+ add_subdirectory(examples)
+endif()
+
+enable_testing()