CMakeLists.txt 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. project(glad)
  2. find_package(OpenGL REQUIRED)
  3. add_library(glad SHARED)
  4. add_library(OBS::obsglad ALIAS glad)
  5. target_sources(glad PRIVATE src/glad.c include/glad/glad.h)
  6. target_include_directories(glad PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
  7. target_compile_definitions(glad PRIVATE GLAD_GLAPI_EXPORT_BUILD)
  8. target_link_libraries(glad PUBLIC OpenGL::GL)
  9. set_target_properties(
  10. glad
  11. PROPERTIES OUTPUT_NAME obsglad
  12. FOLDER "deps"
  13. VERSION "${OBS_VERSION_MAJOR}"
  14. SOVERSION "1")
  15. if(OS_WINDOWS)
  16. set(MODULE_DESCRIPTION "Glad OpenGL Loading Library")
  17. configure_file(${CMAKE_SOURCE_DIR}/cmake/bundle/windows/obs-module.rc.in
  18. obsglad.rc)
  19. target_sources(glad PRIVATE src/glad_wgl.c include/glad/glad_wgl.h obsglad.rc)
  20. elseif(OS_POSIX AND NOT OS_MACOS)
  21. find_package(OpenGL REQUIRED)
  22. find_package(X11 REQUIRED)
  23. target_link_libraries(glad PRIVATE X11::X11)
  24. target_sources(glad PRIVATE src/glad_glx.c include/glad/glad_glx.h)
  25. if(TARGET OpenGL::EGL)
  26. target_sources(glad PRIVATE src/glad_egl.c include/glad/glad_egl.h)
  27. target_link_libraries(glad PRIVATE OpenGL::EGL)
  28. endif()
  29. endif()
  30. if(NOT MSVC)
  31. target_compile_options(glad PRIVATE -fvisibility=hidden)
  32. endif()
  33. setup_binary_target(glad)