cmake_minimum_required(VERSION 3.20)
project(forge_kui_settings_lab LANGUAGES CXX)
if(NOT CMAKE_CXX_STANDARD)
  message(FATAL_ERROR "Set CMAKE_CXX_STANDARD to match the selected SDK package.")
endif()
set(CMAKE_CXX_STANDARD_REQUIRED ON)
if(MSVC)
  add_compile_options(/utf-8)
endif()
find_package(Kui 3 REQUIRED)
file(READ "${CMAKE_CURRENT_SOURCE_DIR}/app.css" APP_CSS)
file(READ "${CMAKE_CURRENT_SOURCE_DIR}/settings.zh.html" APP_HTML_ZH)
file(READ "${CMAKE_CURRENT_SOURCE_DIR}/settings.en.html" APP_HTML_EN)
string(REPLACE "<!-- APP_CSS -->" "<style>${APP_CSS}</style>" APP_HTML_ZH "${APP_HTML_ZH}")
string(REPLACE "<!-- APP_CSS -->" "<style>${APP_CSS}</style>" APP_HTML_EN "${APP_HTML_EN}")
configure_file(page.h.in generated_page.h @ONLY)
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS app.css settings.zh.html settings.en.html)
add_executable(settings_lab main.cpp)
target_include_directories(settings_lab PRIVATE "${CMAKE_CURRENT_BINARY_DIR}")
target_link_libraries(settings_lab PRIVATE Kui::Kui)
kui_copy_runtime_dlls(settings_lab)
include(CTest)
if(BUILD_TESTING)
  add_executable(settings_state_test settings_state_test.cpp)
  add_test(NAME settings_state COMMAND settings_state_test)
endif()
