2022-08-05 10:18:37 +08:00
|
|
|
diff --git a/cmake/TGUIConfig.cmake.in b/cmake/TGUIConfig.cmake.in
|
|
|
|
index 5b58350..c9398b7 100644
|
|
|
|
--- a/cmake/TGUIConfig.cmake.in
|
|
|
|
+++ b/cmake/TGUIConfig.cmake.in
|
|
|
|
@@ -44,6 +44,28 @@
|
|
|
|
# add_executable(myapp ...)
|
|
|
|
# target_link_libraries(myapp tgui)
|
|
|
|
|
|
|
|
+include(CMakeFindDependencyMacro)
|
|
|
|
+if("@TGUI_HAS_BACKEND_SFML@")
|
|
|
|
+ find_dependency(SFML CONFIG COMPONENTS graphics)
|
|
|
|
+endif()
|
|
|
|
+if("@TGUI_HAS_BACKEND_SDL@")
|
|
|
|
+ find_dependency(SDL2 CONFIG)
|
|
|
|
+ find_dependency(SDL2_ttf CONFIG)
|
|
|
|
+ find_dependency(Threads)
|
|
|
|
+endif()
|
|
|
|
+if("@EXPORT_USE_OPENGL@")
|
|
|
|
+ cmake_policy(PUSH)
|
|
|
|
+ if (POLICY CMP0072)
|
|
|
|
+ cmake_policy(SET CMP0072 NEW)
|
|
|
|
+ endif()
|
|
|
|
+ find_package(OpenGL REQUIRED)
|
|
|
|
+ cmake_policy(POP)
|
|
|
|
+endif()
|
|
|
|
+if("@EXPORT_USE_THREADS@")
|
|
|
|
+ set(THREADS_PREFER_PTHREAD_FLAG ON)
|
|
|
|
+ find_package(Threads REQUIRED)
|
|
|
|
+endif()
|
|
|
|
+
|
|
|
|
set(FIND_TGUI_PATHS
|
|
|
|
"${CMAKE_CURRENT_LIST_DIR}/../.."
|
|
|
|
${TGUI_ROOT}
|
|
|
|
@@ -58,7 +80,7 @@ set(FIND_TGUI_PATHS
|
|
|
|
/opt)
|
|
|
|
|
|
|
|
# Choose which target definitions must be imported
|
|
|
|
-if (TGUI_STATIC_LIBRARIES)
|
|
|
|
+if (NOT "@BUILD_SHARED_LIBS@")
|
|
|
|
set(TGUI_IS_FRAMEWORK_INSTALL "@TGUI_BUILD_FRAMEWORKS@")
|
|
|
|
if (TGUI_IS_FRAMEWORK_INSTALL)
|
|
|
|
message(WARNING "Static frameworks are not supported by TGUI. Clear TGUI_DIR cache entry, \
|
|
|
|
@@ -77,7 +99,10 @@ if (EXISTS "${targets_config_file}")
|
|
|
|
include("${targets_config_file}")
|
|
|
|
|
|
|
|
# Search for X11 on Linux and BSD
|
|
|
|
- if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux" OR CMAKE_SYSTEM_NAME MATCHES "^k?FreeBSD$" OR CMAKE_SYSTEM_NAME MATCHES "^OpenBSD$")
|
|
|
|
+ if(TARGET TGUI_X11)
|
|
|
|
+ find_dependency(X11)
|
|
|
|
+ set_property(TARGET TGUI_X11 APPEND PROPERTY INTERFACE_LINK_LIBRARIES "${TGUI_X11_LIB}")
|
|
|
|
+ elseif(0)
|
|
|
|
find_library(TGUI_X11_LIB NAMES X11 PATHS ${FIND_TGUI_PATHS} PATH_SUFFIXES lib NO_SYSTEM_ENVIRONMENT_PATH)
|
|
|
|
mark_as_advanced(TGUI_X11_LIB)
|
|
|
|
if(TGUI_X11_LIB)
|
2021-05-18 14:24:46 +08:00
|
|
|
diff --git a/src/Backends/SDL/CMakeLists.txt b/src/Backends/SDL/CMakeLists.txt
|
2022-08-05 10:18:37 +08:00
|
|
|
index d86f11d..3f3f3ce 100644
|
2021-05-18 14:24:46 +08:00
|
|
|
--- a/src/Backends/SDL/CMakeLists.txt
|
|
|
|
+++ b/src/Backends/SDL/CMakeLists.txt
|
2022-08-05 10:18:37 +08:00
|
|
|
@@ -4,7 +4,11 @@ find_package(SDL2 REQUIRED)
|
|
|
|
find_package(SDL2_ttf REQUIRED)
|
2021-05-18 14:24:46 +08:00
|
|
|
|
|
|
|
# Link to SDL and set include and library search directories
|
|
|
|
-target_link_libraries(tgui PRIVATE SDL2::Core SDL2::TTF)
|
2022-08-05 10:18:37 +08:00
|
|
|
+if(TARGET SDL2_ttf::SDL2_ttf)
|
|
|
|
+ target_link_libraries(tgui PRIVATE SDL2::SDL2 SDL2_ttf::SDL2_ttf)
|
|
|
|
+else()
|
|
|
|
+ target_link_libraries(tgui PRIVATE SDL2::SDL2 SDL2_ttf::SDL2_ttf-static)
|
|
|
|
+endif()
|
2021-05-18 14:24:46 +08:00
|
|
|
|
|
|
|
# Add the backend source files to the library
|
|
|
|
target_sources(tgui PRIVATE
|
2022-08-05 10:18:37 +08:00
|
|
|
@@ -19,10 +23,15 @@ target_sources(tgui PRIVATE
|
2021-05-18 14:24:46 +08:00
|
|
|
)
|
|
|
|
|
|
|
|
add_library(tgui-sdl-interface INTERFACE)
|
|
|
|
-target_link_libraries(tgui-sdl-interface INTERFACE SDL2::Core SDL2::TTF SDL2::Main)
|
2022-08-05 10:18:37 +08:00
|
|
|
+if(TARGET SDL2_ttf::SDL2_ttf)
|
|
|
|
+ target_link_libraries(tgui-sdl-interface INTERFACE SDL2::SDL2 SDL2_ttf::SDL2_ttf SDL2::SDL2main)
|
|
|
|
+else()
|
|
|
|
+ target_link_libraries(tgui-sdl-interface INTERFACE SDL2::SDL2 SDL2_ttf::SDL2_ttf-static SDL2::SDL2main)
|
|
|
|
+endif()
|
2021-05-18 14:24:46 +08:00
|
|
|
|
|
|
|
# Also link to OpenGL or OpenGL ES
|
|
|
|
if(NOT TGUI_USE_GLES)
|
2022-08-05 10:18:37 +08:00
|
|
|
+ set(EXPORT_USE_OPENGL 1 CACHE INTERNAL "")
|
|
|
|
find_package(OpenGL REQUIRED)
|
|
|
|
target_link_libraries(tgui PRIVATE OpenGL::GL)
|
|
|
|
target_link_libraries(tgui-sdl-interface INTERFACE OpenGL::GL)
|
|
|
|
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
|
|
|
index 4a166dc..a53b58f 100755
|
|
|
|
--- a/src/CMakeLists.txt
|
|
|
|
+++ b/src/CMakeLists.txt
|
|
|
|
@@ -213,6 +213,7 @@ if(TGUI_OS_LINUX OR TGUI_OS_BSD)
|
|
|
|
target_link_libraries(tgui PRIVATE TGUI_X11)
|
|
|
|
|
|
|
|
# For the FileDialog we need to link to pthreads and dl on Linux and BSD (to load system icons in the background)
|
|
|
|
+ set(EXPORT_USE_THREADS 1 CACHE INTERNAL "")
|
|
|
|
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
|
|
|
find_package(Threads REQUIRED)
|
|
|
|
target_link_libraries(tgui PRIVATE Threads::Threads)
|