CMakeLists.txt 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. # Source files and their filters
  2. include(CMakeSources.cmake)
  3. # Find packages
  4. if(LINUX)
  5. find_package(OpenGL REQUIRED)
  6. endif()
  7. # Includes
  8. set(BansheeGLRenderAPI_INC
  9. "./"
  10. "../BansheeUtility"
  11. "../BansheeCore"
  12. "GLSL/include")
  13. if(WIN32)
  14. set(BansheeGLRenderAPI_INC ${BansheeGLRenderAPI_INC} "Source/Win32")
  15. elseif(LINUX)
  16. set(BansheeGLRenderAPI_INC ${BansheeGLRenderAPI_INC} ${OPENGL_INCLUDE_DIR})
  17. endif()
  18. include_directories(${BansheeGLRenderAPI_INC})
  19. # Target
  20. add_library(BansheeGLRenderAPI SHARED ${BS_BANSHEEGLRENDERAPI_SRC})
  21. # Defines
  22. target_compile_definitions(BansheeGLRenderAPI PRIVATE -DBS_RSGL_EXPORTS -DGLEW_STATIC)
  23. # Libraries
  24. if(WIN32)
  25. ## External lib: OpenGL
  26. target_link_libraries(BansheeGLRenderAPI PRIVATE glu32 opengl32)
  27. elseif(LINUX)
  28. ## External lib: OpenGL
  29. target_link_libraries(BansheeGLRenderAPI PRIVATE ${OPENGL_LIBRARIES})
  30. elseif(APPLE) # MacOS
  31. target_link_framework(BansheeGLRenderAPI Foundation)
  32. target_link_framework(BansheeGLRenderAPI CoreGraphics)
  33. target_link_framework(BansheeGLRenderAPI CoreVideo)
  34. target_link_framework(BansheeGLRenderAPI OpenGL)
  35. target_link_framework(BansheeGLRenderAPI IOKit)
  36. target_link_framework(BansheeGLRenderAPI AppKit)
  37. endif()
  38. ## Local libs
  39. target_link_libraries(BansheeGLRenderAPI PUBLIC BansheeUtility BansheeCore)
  40. # IDE specific
  41. set_property(TARGET BansheeGLRenderAPI PROPERTY FOLDER Plugins)
  42. # Install
  43. if(RENDER_API_MODULE MATCHES "OpenGL")
  44. install(
  45. TARGETS BansheeGLRenderAPI
  46. RUNTIME DESTINATION bin
  47. LIBRARY DESTINATION lib
  48. ARCHIVE DESTINATION lib
  49. )
  50. endif()