Modules/Widgets/CMakeLists.txt
Шурупов Илья Викторович c6a0602553 Run the widget gallery on Android
The app starts the widget gallery fullscreen, and Graphics/rsc is
packaged as assets.
2026-10-17 09:19:48 +03:00

54 lines
2.9 KiB
CMake

project(Widgets)
### ---------------------- Headless Widget Library --------------------- ###
file(GLOB_RECURSE SOURCES CONFIGURE_DEPENDS "./private/core/*.cpp" "./private/layouts/*.cpp" "./private/widgets/*.cpp")
file(GLOB_RECURSE HEADERS CONFIGURE_DEPENDS "./public/core/*.hpp" "./public/layouts/*.hpp" "./public/widgets/*.hpp")
add_library(${PROJECT_NAME} STATIC ${SOURCES} ${HEADERS})
target_include_directories(${PROJECT_NAME} PUBLIC ./public/core ./public/layouts ./public/widgets)
target_include_directories(${PROJECT_NAME} PRIVATE ./private/core)
target_link_libraries(${PROJECT_NAME} PUBLIC Math GraphicsInput)
### ---------------------- Window Application Adapter --------------------- ###
if (MODULES_BUILD_DESKTOP OR ANDROID)
file(GLOB_RECURSE APP_SOURCES CONFIGURE_DEPENDS "./private/app/*.cpp")
file(GLOB_RECURSE APP_HEADERS CONFIGURE_DEPENDS "./public/app/*.hpp")
add_library(${PROJECT_NAME}App STATIC ${APP_SOURCES} ${APP_HEADERS})
target_include_directories(${PROJECT_NAME}App PUBLIC ./public/app)
target_link_libraries(${PROJECT_NAME}App PUBLIC ${PROJECT_NAME} Graphics Imgui)
endif ()
### -------------------------- Gallery -------------------------- ###
if (MODULES_BUILD_TESTS OR MODULES_BUILD_EXAMPLES OR ANDROID)
add_library(${PROJECT_NAME}Gallery STATIC ./examples/Gallery.cpp ./examples/Gallery.hpp ./examples/ThemeEditor.cpp ./examples/ThemeEditor.hpp)
target_include_directories(${PROJECT_NAME}Gallery PUBLIC ./examples)
target_link_libraries(${PROJECT_NAME}Gallery PUBLIC ${PROJECT_NAME})
if (MODULES_BUILD_DESKTOP AND MODULES_BUILD_EXAMPLES)
add_executable(${PROJECT_NAME}Example ./examples/GalleryApplication.cpp)
target_link_libraries(${PROJECT_NAME}Example ${PROJECT_NAME}Gallery ${PROJECT_NAME}App)
endif ()
if (ANDROID)
add_library(widgetGallery SHARED ./examples/GalleryAndroid.cpp)
target_link_libraries(widgetGallery PRIVATE ${PROJECT_NAME}Gallery ${PROJECT_NAME}App)
target_link_options(widgetGallery PRIVATE "-Wl,-u,ANativeActivity_onCreate")
endif ()
endif ()
### -------------------------- Tests -------------------------- ###
if (MODULES_BUILD_TESTS)
file(GLOB TEST_SOURCES CONFIGURE_DEPENDS "./tests/*.cpp" "./tests/support/*.cpp")
add_executable(Test${PROJECT_NAME} ${TEST_SOURCES})
target_include_directories(Test${PROJECT_NAME} PRIVATE ./tests/support)
target_link_libraries(Test${PROJECT_NAME} ${PROJECT_NAME} ${PROJECT_NAME}Gallery UnitTest++)
add_test(NAME Test${PROJECT_NAME} COMMAND Test${PROJECT_NAME})
if (MODULES_BUILD_DESKTOP)
add_executable(Test${PROJECT_NAME}App ./tests/app/DebugInspectorTests.cpp ./tests/app/InputTranslatorTests.cpp ./tests/Main.cpp ./tests/support/UiDriver.cpp ./tests/support/RecordingPainter.cpp)
target_include_directories(Test${PROJECT_NAME}App PRIVATE ./tests/support)
target_link_libraries(Test${PROJECT_NAME}App ${PROJECT_NAME}App UnitTest++)
add_test(NAME Test${PROJECT_NAME}App COMMAND Test${PROJECT_NAME}App)
endif ()
endif ()