lali/CMakeLists.txt

48 lines
1.7 KiB
Text
Raw Normal View History

2024-11-19 16:57:32 +01:00
cmake_minimum_required(VERSION 3.21)
project(lali LANGUAGES CXX)
2024-04-09 18:46:06 +02:00
2024-11-19 16:57:32 +01:00
set(CMAKE_CXX_STANDARD 23)
2024-04-09 18:46:06 +02:00
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
2024-11-19 16:57:32 +01:00
set(SLINT_FEATURE_RENDERER_SKIA ON)
set(SLINT_FEATURE_RENDERER_SOFTWARE ON)
find_package(Slint QUIET)
if (NOT Slint_FOUND)
message("Slint could not be located in the CMake module search path. Downloading it from Git and building it locally")
include(FetchContent)
FetchContent_Declare(
Slint
GIT_REPOSITORY https://github.com/slint-ui/slint.git
# `release/1` will auto-upgrade to the latest Slint >= 1.0.0 and < 2.0.0
# `release/1.0` will auto-upgrade to the latest Slint >= 1.0.0 and < 1.1.0
GIT_TAG release/1.8
SOURCE_SUBDIR api/cpp
)
FetchContent_MakeAvailable(Slint)
endif (NOT Slint_FOUND)
add_executable(lali src/main.cpp)
target_include_directories(lali PRIVATE "external")
target_link_libraries(lali PRIVATE Slint::Slint)
slint_target_sources(
2024-11-20 12:40:24 +01:00
lali src/ui.slint
2024-11-19 16:57:32 +01:00
NAMESPACE ui
2024-11-20 11:48:49 +01:00
LIBRARY_PATHS selenite=${CMAKE_CURRENT_SOURCE_DIR}/external/selenite/components/index.slint
2024-11-19 16:57:32 +01:00
)
add_subdirectory(external/evalyte-cpp-common)
target_include_directories(lali PRIVATE "external/evalyte-cpp-common/include")
target_link_libraries(lali PRIVATE evalyte-cpp-common)
2024-11-19 16:57:32 +01:00
add_subdirectory(external/rei-json)
2024-11-19 16:57:32 +01:00
target_include_directories(lali PRIVATE "external/rei-json/include")
target_link_libraries(lali PRIVATE rei-json)
target_link_libraries(lali PRIVATE crypto)
target_link_libraries(lali PRIVATE ssl)
2024-04-09 18:46:06 +02:00
2024-11-19 16:57:32 +01:00
# On Windows, copy the Slint DLL next to the application binary so that it's found.
if (WIN32)
add_custom_command(TARGET lali POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_RUNTIME_DLLS:lali> $<TARGET_FILE_DIR:lali> COMMAND_EXPAND_LISTS)
endif()