CMakeLists.txt 1004 B

12345678910111213141516171819202122232425262728293031
  1. cmake_minimum_required(VERSION 3.28...3.30)
  2. find_package(OpenGL REQUIRED)
  3. add_library(obsglad OBJECT)
  4. add_library(OBS::glad ALIAS obsglad)
  5. target_sources(
  6. obsglad
  7. PRIVATE
  8. src/glad.c
  9. $<$<PLATFORM_ID:Windows>:src/glad_wgl.c>
  10. $<$<TARGET_EXISTS:OpenGL::EGL>:src/glad_egl.c>
  11. $<$<TARGET_EXISTS:OpenGL::EGL>:include/EGL/eglplatform.h>
  12. PUBLIC
  13. include/glad/glad.h
  14. "$<$<PLATFORM_ID:Windows>:${CMAKE_CURRENT_SOURCE_DIR}/include/glad/glad_wgl.h>"
  15. "$<$<TARGET_EXISTS:OpenGL::EGL>:${CMAKE_CURRENT_SOURCE_DIR}/include/glad/glad_egl.h>"
  16. )
  17. target_compile_options(obsglad PRIVATE $<$<COMPILE_LANG_AND_ID:C,AppleClang,Clang>:-Wno-strict-prototypes>)
  18. target_include_directories(obsglad PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include")
  19. target_link_libraries(
  20. obsglad
  21. PRIVATE $<$<NOT:$<PLATFORM_ID:Windows,Darwin>>:${CMAKE_DL_LIBS}>
  22. PUBLIC OpenGL::GL $<$<TARGET_EXISTS:OpenGL::EGL>:OpenGL::EGL>
  23. )
  24. set_target_properties(obsglad PROPERTIES FOLDER deps POSITION_INDEPENDENT_CODE TRUE)