cmake_minimum_required(VERSION 3.25 FATAL_ERROR) project(remote-ui LANGUAGES CXX) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_CXX_STANDARD_REQUIRED ON) set (VERSION_MAJOR 1) set (VERSION_MINOR 0) set(CMAKE_INCLUDE_CURRENT_DIR ON) include(GNUInstallDirs) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) set(PROJECT_DIR ${CMAKE_CURRENT_LIST_DIR}) # defines targets and sources add_subdirectory(UI) add_subdirectory(client) # contains an "external" library we will link to add_subdirectory(external) add_subdirectory(protobuf) # defines the executable if(NOT EMSCRIPTEN) add_subdirectory(server) endif() # enable testing and define tests if(NOT EMSCRIPTEN) enable_testing() add_subdirectory(tests) endif()