summaryrefslogtreecommitdiffstats
path: root/client/SDL/dialogs/res/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'client/SDL/dialogs/res/CMakeLists.txt')
-rw-r--r--client/SDL/dialogs/res/CMakeLists.txt89
1 files changed, 89 insertions, 0 deletions
diff --git a/client/SDL/dialogs/res/CMakeLists.txt b/client/SDL/dialogs/res/CMakeLists.txt
new file mode 100644
index 0000000..5591e4a
--- /dev/null
+++ b/client/SDL/dialogs/res/CMakeLists.txt
@@ -0,0 +1,89 @@
+
+add_executable(freerdp-res2bin
+ convert_res_to_c.cpp
+)
+
+set(SRCS
+ sdl_resource_manager.cpp
+ sdl_resource_manager.hpp
+)
+
+set(RES_SVG_FILES
+ ${CMAKE_SOURCE_DIR}/resources/FreeRDP_Icon.svg
+ ${CMAKE_SOURCE_DIR}/resources/icon_info.svg
+ ${CMAKE_SOURCE_DIR}/resources/icon_warning.svg
+ ${CMAKE_SOURCE_DIR}/resources/icon_error.svg
+)
+
+set(RES_FONT_FILES
+ ${CMAKE_SOURCE_DIR}/client/SDL/dialogs/font/OpenSans-VariableFont_wdth,wght.ttf
+)
+
+macro(convert_to_bin FILE FILE_TYPE)
+ get_filename_component(FILE_NAME ${FILE} NAME)
+ string(REGEX REPLACE "[^a-zA-Z0-9]" "_" TARGET_NAME ${FILE_NAME})
+
+ set(FILE_BIN_DIR ${CMAKE_CURRENT_BINARY_DIR}/bin)
+ set(FILE_BYPRODUCTS ${FILE_BIN_DIR}/${TARGET_NAME}.hpp ${FILE_BIN_DIR}/${TARGET_NAME}.cpp)
+
+ list(APPEND FACTORY_SRCS
+ ${FILE_BYPRODUCTS}
+ )
+
+ add_custom_command(
+ OUTPUT ${FILE_BYPRODUCTS}
+ COMMAND ${CMAKE_COMMAND} -E make_directory ${FILE_BIN_DIR}
+ COMMAND $<TARGET_FILE:freerdp-res2bin> ${FILE} ${FILE_TYPE} ${TARGET_NAME} ${FILE_BIN_DIR}
+ COMMENT "create image resources"
+ DEPENDS freerdp-res2bin
+ DEPENDS ${FILE}
+ )
+endmacro()
+
+option(SDL_USE_COMPILED_RESOURCES "Compile in images/fonts" ON)
+
+if (SDL_USE_COMPILED_RESOURCES)
+ list(APPEND SRCS
+ sdl_resource_file.cpp
+ sdl_resource_file.hpp
+ )
+
+ include_directories(${CMAKE_CURRENT_SOURCE_DIR})
+
+ if (WITH_SDL_IMAGE_DIALOGS)
+ foreach(FILE ${RES_SVG_FILES})
+ convert_to_bin("${FILE}" "images")
+ endforeach()
+ endif()
+
+ foreach(FILE ${RES_FONT_FILES})
+ convert_to_bin("${FILE}" "fonts")
+ endforeach()
+ add_definitions(-DSDL_USE_COMPILED_RESOURCES)
+else()
+ set(SDL_RESOURCE_ROOT ${CMAKE_INSTALL_FULL_DATAROOTDIR}/FreeRDP)
+ if (WITH_BINARY_VERSIONING)
+ string(APPEND SDL_RESOURCE_ROOT "${PROJECT_VERSION_MAJOR}")
+ endif()
+
+ add_definitions(-DSDL_RESOURCE_ROOT="${SDL_RESOURCE_ROOT}")
+
+ if (WITH_SDL_IMAGE_DIALOGS)
+ install(
+ FILES ${RES_SVG_FILES}
+ DESTINATION ${SDL_RESOURCE_ROOT}/images
+ )
+ endif()
+
+ install(
+ FILES ${RES_FONT_FILES}
+ DESTINATION ${SDL_RESOURCE_ROOT}/fonts
+ )
+endif()
+
+add_library(sdl_client_res OBJECT
+ ${RES_FILES}
+ ${SRCS}
+ ${FACTORY_SRCS}
+)
+set_property(TARGET sdl_client_res PROPERTY POSITION_INDEPENDENT_CODE ON)