| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220 |
- #[[
- Interface libraries for each backend, including their source files and linking requirements.
- Every time a new backend gets added or its target name is modified, please update
- the list of available backends found in OptionsLists.cmake
- ]]
- add_library(rmlui_backend_common_headers INTERFACE)
- target_include_directories(rmlui_backend_common_headers INTERFACE "${CMAKE_CURRENT_LIST_DIR}")
- target_sources(rmlui_backend_common_headers INTERFACE
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Backend.h"
- )
- if(RMLUI_BACKEND_SIMULATE_TOUCH)
- set(RMLUI_BACKEND_SIMULATE_TOUCH_SUPPORTED
- "SDL_GL2"
- "SDL_GL3"
- "SDL_VK"
- "SDL_SDLrenderer"
- "SDL_GPU"
- )
- if(NOT RMLUI_BACKEND IN_LIST RMLUI_BACKEND_SIMULATE_TOUCH_SUPPORTED)
- message(WARNING "RMLUI_BACKEND_SIMULATE_TOUCH enabled but not supported on selected backend ${RMLUI_BACKEND}")
- else()
- target_compile_definitions(rmlui_backend_common_headers INTERFACE "RMLUI_BACKEND_SIMULATE_TOUCH")
- endif()
- endif()
- add_library(rmlui_backend_Win32_GL2 INTERFACE)
- target_sources(rmlui_backend_Win32_GL2 INTERFACE
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Platform_Win32.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Renderer_GL2.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Backend_Win32_GL2.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Platform_Win32.h"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Renderer_GL2.h"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Include_Windows.h"
- )
- target_link_libraries(rmlui_backend_Win32_GL2 INTERFACE rmlui_backend_common_headers OpenGL::GL)
- add_library(rmlui_backend_Win32_VK INTERFACE)
- target_sources(rmlui_backend_Win32_VK INTERFACE
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Platform_Win32.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Renderer_VK.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Backend_Win32_VK.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Platform_Win32.h"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Renderer_VK.h"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Include_Vulkan.h"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Vulkan/ShadersCompiledSPV.h"
- )
- target_link_libraries(rmlui_backend_Win32_VK INTERFACE rmlui_backend_common_headers)
- add_library(rmlui_backend_X11_GL2 INTERFACE)
- target_sources(rmlui_backend_X11_GL2 INTERFACE
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Platform_X11.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Renderer_GL2.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Backend_X11_GL2.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Platform_X11.h"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Renderer_GL2.h"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Include_Xlib.h"
- )
- # RMLUI_CMAKE_MINIMUM_VERSION_RAISE_NOTICE:
- # Once the minimum CMake version is CMake >= 3.14, "${X11_LIBRARIES}" should
- # be substituted by "X11:X11" in addition to any of the other imported that might
- # be required. More info:
- # https://cmake.org/cmake/help/latest/module/FindX11.html
- target_link_libraries(rmlui_backend_X11_GL2 INTERFACE rmlui_backend_common_headers OpenGL::GL ${X11_LIBRARIES})
- add_library(rmlui_backend_SDL_GL2 INTERFACE)
- target_sources(rmlui_backend_SDL_GL2 INTERFACE
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Platform_SDL.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Renderer_GL2.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Backend_SDL_GL2.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Platform_SDL.h"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Renderer_GL2.h"
- )
- target_link_libraries(rmlui_backend_SDL_GL2 INTERFACE rmlui_backend_common_headers OpenGL::GL SDL::SDL SDL_image::SDL_image)
- add_library(rmlui_backend_SDL_GL3 INTERFACE)
- target_sources(rmlui_backend_SDL_GL3 INTERFACE
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Platform_SDL.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Renderer_GL3.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Backend_SDL_GL3.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Platform_SDL.h"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Renderer_GL3.h"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Include_GL3.h"
- )
- target_link_libraries(rmlui_backend_SDL_GL3 INTERFACE rmlui_backend_common_headers SDL::SDL SDL_image::SDL_image)
- if(UNIX)
- # The OpenGL 3 renderer implementation uses dlopen/dlclose
- # This is required in some UNIX and UNIX-like operating systems to load shared object files at runtime
- target_link_libraries(rmlui_backend_SDL_GL3 INTERFACE ${CMAKE_DL_LIBS})
- endif()
- if(EMSCRIPTEN)
- # Only Emscripten requires linking to OpenGL::GL, for other platforms we use 'glad' as an OpenGL loader.
- target_link_libraries(rmlui_backend_SDL_GL3 INTERFACE OpenGL::GL)
- endif()
- add_library(rmlui_backend_SDL_VK INTERFACE)
- target_sources(rmlui_backend_SDL_VK INTERFACE
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Platform_SDL.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Renderer_VK.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Backend_SDL_VK.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Platform_SDL.h"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Renderer_VK.h"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Include_Vulkan.h"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Vulkan/ShadersCompiledSPV.h"
- )
- target_link_libraries(rmlui_backend_SDL_VK INTERFACE rmlui_backend_common_headers SDL::SDL)
- if(UNIX)
- # The Vulkan renderer implementation uses dlopen/dlclose
- # This is required in some UNIX and UNIX-like operating systems to load shared object files at runtime
- target_link_libraries(rmlui_backend_SDL_VK INTERFACE ${CMAKE_DL_LIBS})
- endif()
- add_library(rmlui_backend_SDL_SDLrenderer INTERFACE)
- target_sources(rmlui_backend_SDL_SDLrenderer INTERFACE
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Renderer_SDL.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Platform_SDL.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Backend_SDL_SDLrenderer.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Platform_SDL.h"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Renderer_SDL.h"
- )
- target_link_libraries(rmlui_backend_SDL_SDLrenderer INTERFACE rmlui_backend_common_headers SDL::SDL SDL_image::SDL_image)
- add_library(rmlui_backend_SDL_GPU INTERFACE)
- target_sources(rmlui_backend_SDL_GPU INTERFACE
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Renderer_SDL_GPU.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Platform_SDL.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Backend_SDL_GPU.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Platform_SDL.h"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Renderer_SDL_GPU.h"
- )
- target_link_libraries(rmlui_backend_SDL_GPU INTERFACE rmlui_backend_common_headers SDL::SDL SDL_image::SDL_image)
- add_library(rmlui_backend_SFML_GL2 INTERFACE)
- target_sources(rmlui_backend_SFML_GL2 INTERFACE
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Platform_SFML.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Renderer_GL2.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Backend_SFML_GL2.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Platform_SFML.h"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Renderer_GL2.h"
- )
- target_link_libraries(rmlui_backend_SFML_GL2 INTERFACE
- rmlui_backend_common_headers OpenGL::GL SFML::Graphics SFML::Window SFML::System
- )
- add_library(rmlui_backend_GLFW_GL2 INTERFACE)
- target_sources(rmlui_backend_GLFW_GL2 INTERFACE
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Platform_GLFW.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Renderer_GL2.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Backend_GLFW_GL2.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Platform_GLFW.h"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Renderer_GL2.h"
- )
- target_link_libraries(rmlui_backend_GLFW_GL2 INTERFACE rmlui_backend_common_headers OpenGL::GL glfw)
- add_library(rmlui_backend_GLFW_GL3 INTERFACE)
- target_sources(rmlui_backend_GLFW_GL3 INTERFACE
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Platform_GLFW.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Renderer_GL3.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Backend_GLFW_GL3.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Platform_GLFW.h"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Renderer_GL3.h"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Include_GL3.h"
- )
- target_link_libraries(rmlui_backend_GLFW_GL3 INTERFACE rmlui_backend_common_headers glfw)
- if(UNIX)
- # The OpenGL 3 renderer implementation uses dlopen/dlclose
- # This is required in some UNIX and UNIX-like operating systems to load shared object files at runtime
- target_link_libraries(rmlui_backend_GLFW_GL3 INTERFACE ${CMAKE_DL_LIBS})
- endif()
- add_library(rmlui_backend_GLFW_VK INTERFACE)
- target_sources(rmlui_backend_GLFW_VK INTERFACE
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Platform_GLFW.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Renderer_VK.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Backend_GLFW_VK.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Platform_GLFW.h"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Renderer_VK.h"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Include_Vulkan.h"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Vulkan/ShadersCompiledSPV.h"
- )
- target_link_libraries(rmlui_backend_GLFW_VK INTERFACE rmlui_backend_common_headers glfw)
- if(UNIX)
- # The Vulkan renderer implementation uses dlopen/dlclose
- # This is required in some UNIX and UNIX-like operating systems to load shared object files at runtime
- target_link_libraries(rmlui_backend_GLFW_VK INTERFACE ${CMAKE_DL_LIBS})
- endif()
- add_library(rmlui_backend_BackwardCompatible_GLFW_GL2 INTERFACE)
- target_sources(rmlui_backend_BackwardCompatible_GLFW_GL2 INTERFACE
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Platform_GLFW.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Platform_GLFW.h"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_BackwardCompatible/RmlUi_Renderer_BackwardCompatible_GL2.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_BackwardCompatible/RmlUi_Renderer_BackwardCompatible_GL2.h"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_BackwardCompatible/RmlUi_Backend_BackwardCompatible_GLFW_GL2.cpp"
- )
- target_link_libraries(rmlui_backend_BackwardCompatible_GLFW_GL2 INTERFACE rmlui_backend_common_headers OpenGL::GL glfw)
- add_library(rmlui_backend_BackwardCompatible_GLFW_GL3 INTERFACE)
- target_sources(rmlui_backend_BackwardCompatible_GLFW_GL3 INTERFACE
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Platform_GLFW.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_Platform_GLFW.h"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_BackwardCompatible/RmlUi_Renderer_BackwardCompatible_GL3.cpp"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_BackwardCompatible/RmlUi_Renderer_BackwardCompatible_GL3.h"
- "${CMAKE_CURRENT_LIST_DIR}/RmlUi_BackwardCompatible/RmlUi_Backend_BackwardCompatible_GLFW_GL3.cpp"
- )
- target_link_libraries(rmlui_backend_BackwardCompatible_GLFW_GL3 INTERFACE rmlui_backend_common_headers glfw)
- if(UNIX)
- # The OpenGL 3 renderer implementation uses dlopen/dlclose
- # This is required in some UNIX and UNIX-like operating systems to load shared object files at runtime
- target_link_libraries(rmlui_backend_BackwardCompatible_GLFW_GL3 INTERFACE ${CMAKE_DL_LIBS})
- endif()
- if(RMLUI_IS_ROOT_PROJECT)
- install(DIRECTORY "./"
- DESTINATION "${CMAKE_INSTALL_DATADIR}/Backends"
- )
- endif()
|