aboutsummaryrefslogtreecommitdiff
path: root/deps/raylib/cmake/GlfwImport.cmake
diff options
context:
space:
mode:
authorbonmas14 <bonmas14@gmail.com>2025-09-20 22:28:15 +0300
committerbonmas14 <bonmas14@gmail.com>2025-09-20 22:28:15 +0300
commitcdda4c4182c9ee068567529715e4a5c68a8efb58 (patch)
tree38a63f62a64018a2d35fc33354f8589fd33b7514 /deps/raylib/cmake/GlfwImport.cmake
downloadc_wizard-cdda4c4182c9ee068567529715e4a5c68a8efb58.tar.gz
c_wizard-cdda4c4182c9ee068567529715e4a5c68a8efb58.zip
Init commit v1.0
Diffstat (limited to 'deps/raylib/cmake/GlfwImport.cmake')
-rw-r--r--deps/raylib/cmake/GlfwImport.cmake36
1 files changed, 36 insertions, 0 deletions
diff --git a/deps/raylib/cmake/GlfwImport.cmake b/deps/raylib/cmake/GlfwImport.cmake
new file mode 100644
index 0000000..4a5ef8c
--- /dev/null
+++ b/deps/raylib/cmake/GlfwImport.cmake
@@ -0,0 +1,36 @@
+
+if(USE_EXTERNAL_GLFW STREQUAL "ON")
+ find_package(glfw3 3.4 REQUIRED)
+elseif(USE_EXTERNAL_GLFW STREQUAL "IF_POSSIBLE")
+ find_package(glfw3 3.4 QUIET)
+endif()
+if (glfw3_FOUND)
+ set(LIBS_PRIVATE ${LIBS_PRIVATE} glfw)
+endif()
+
+# Explicitly check against "ON", because USE_EXTERNAL_GLFW is a tristate option
+# Also adding only on desktop (web also uses glfw but it is more limited and is added using an emcc linker flag)
+if(NOT glfw3_FOUND AND NOT USE_EXTERNAL_GLFW STREQUAL "ON" AND "${PLATFORM}" MATCHES "Desktop")
+ MESSAGE(STATUS "Using raylib's GLFW")
+ set(GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE)
+ set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE)
+ set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
+ set(GLFW_INSTALL OFF CACHE BOOL "" FORCE)
+ set(GLFW_LIBRARY_TYPE "OBJECT" CACHE STRING "" FORCE)
+
+
+ add_subdirectory(external/glfw)
+
+ # Hide glfw's symbols when building a shared lib
+ if (BUILD_SHARED_LIBS)
+ set_property(TARGET glfw PROPERTY C_VISIBILITY_PRESET hidden)
+ endif()
+
+ list(APPEND raylib_sources $<TARGET_OBJECTS:glfw>)
+ include_directories(BEFORE SYSTEM external/glfw/include)
+elseif("${PLATFORM}" STREQUAL "DRM")
+ MESSAGE(STATUS "No GLFW required on PLATFORM_DRM")
+else()
+ MESSAGE(STATUS "Using external GLFW")
+ set(GLFW_PKG_DEPS glfw3)
+endif()