Init Repo
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
# FindGlad.cmake - Find or configure the GLAD OpenGL loader
|
||||
#
|
||||
# This module looks for glad in the third_party/glad directory (pre-generated).
|
||||
# It creates a static library target glad::glad.
|
||||
#
|
||||
# Inputs:
|
||||
# GLAD_DIR - Path to glad root (contains include/ and src/)
|
||||
#
|
||||
# Outputs:
|
||||
# Glad_FOUND
|
||||
# Glad::Glad (imported INTERFACE/STATIC target)
|
||||
|
||||
if(NOT GLAD_DIR)
|
||||
set(GLAD_DIR "${CMAKE_SOURCE_DIR}/third_party/glad")
|
||||
endif()
|
||||
|
||||
find_path(GLAD_INCLUDE_DIR
|
||||
NAMES glad/gl.h
|
||||
PATHS "${GLAD_DIR}/include"
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
|
||||
find_file(GLAD_SOURCE
|
||||
NAMES gl.c
|
||||
PATHS "${GLAD_DIR}/src"
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(Glad
|
||||
REQUIRED_VARS GLAD_INCLUDE_DIR GLAD_SOURCE
|
||||
)
|
||||
|
||||
if(Glad_FOUND AND NOT TARGET Glad::Glad)
|
||||
add_library(glad_impl STATIC "${GLAD_SOURCE}")
|
||||
|
||||
# The project enables only CXX; tell CMake that glad's C source
|
||||
# should be compiled as C and linked with the C linker.
|
||||
set_source_files_properties("${GLAD_SOURCE}" PROPERTIES LANGUAGE C)
|
||||
set_target_properties(glad_impl PROPERTIES LINKER_LANGUAGE C)
|
||||
|
||||
target_include_directories(glad_impl PUBLIC "${GLAD_INCLUDE_DIR}")
|
||||
# glad needs opengl32 on Windows
|
||||
if(WIN32)
|
||||
target_link_libraries(glad_impl PUBLIC opengl32)
|
||||
else()
|
||||
find_package(OpenGL REQUIRED)
|
||||
target_link_libraries(glad_impl PUBLIC OpenGL::GL)
|
||||
endif()
|
||||
|
||||
add_library(Glad::Glad ALIAS glad_impl)
|
||||
message(STATUS "Glad found: ${GLAD_INCLUDE_DIR}")
|
||||
endif()
|
||||
Reference in New Issue
Block a user