cmake_minimum_required(VERSION 3.22.1) project("mosis-designer") set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD_REQUIRED ON) # Use FetchContent for RmlUi include(FetchContent) # Find Lua before RmlUi so it can be used find_package(Lua REQUIRED) # Enable RmlUi Lua bindings before fetching set(RMLUI_LUA_BINDINGS ON CACHE BOOL "" FORCE) # Fetch RmlUi from GitHub FetchContent_Declare( rmlui GIT_REPOSITORY https://github.com/mikke89/RmlUi.git GIT_TAG master ) FetchContent_MakeAvailable(rmlui) # Find other dependencies via vcpkg find_package(glfw3 CONFIG REQUIRED) find_package(freetype CONFIG REQUIRED) find_package(PNG REQUIRED) # Get the RmlUi source directory for include paths FetchContent_GetProperties(rmlui) set(RMLUI_SOURCE_DIR ${rmlui_SOURCE_DIR}) add_executable(mosis-designer main.cpp ${rmlui_SOURCE_DIR}/Backends/RmlUi_Backend_GLFW_GL3.cpp ${rmlui_SOURCE_DIR}/Backends/RmlUi_Platform_GLFW.cpp ${rmlui_SOURCE_DIR}/Backends/RmlUi_Renderer_GL3.cpp ) target_link_libraries(mosis-designer PUBLIC RmlUi::RmlUi RmlUi::Lua glfw freetype PNG::PNG ) target_include_directories(mosis-designer PUBLIC ${RMLUI_SOURCE_DIR} ${RMLUI_SOURCE_DIR}/Backends )