Files
regolith-ui/CMakeLists.txt
T
2026-11-02 19:42:48 -06:00

49 lines
1.3 KiB
CMake

cmake_minimum_required(VERSION 3.21)
project(regolith VERSION 0.0.1 LANGUAGES C)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
option(REGOLITH_BUILD_TESTS "Build tests" ON)
option(REGOLITH_BUILD_SDL3 "Build the SDL3 backend" ON)
option(REGOLITH_SANITIZE "Build with ASan and UBSan" OFF)
if(REGOLITH_SANITIZE AND NOT MSVC AND NOT EMSCRIPTEN)
add_compile_options(-fsanitize=address,undefined -fno-omit-frame-pointer)
add_link_options(-fsanitize=address,undefined)
endif()
add_subdirectory(third_party)
add_library(regolith
src/context.c
src/nodes.c
src/props.c
src/types.c
src/layout_clay.c
src/text_stb.c
src/lua_module.c
)
add_library(regolith::regolith ALIAS regolith)
target_include_directories(regolith
PUBLIC ${PROJECT_SOURCE_DIR}/include
PRIVATE ${PROJECT_SOURCE_DIR}/src
)
target_link_libraries(regolith PUBLIC lua PRIVATE clay stb)
target_compile_definitions(regolith PRIVATE RG_BUILD)
target_compile_options(regolith PRIVATE
$<$<NOT:$<C_COMPILER_ID:MSVC>>:-Wall -Wextra -Wpedantic>)
set_target_properties(regolith PROPERTIES
C_STANDARD 99
C_EXTENSIONS OFF
C_VISIBILITY_PRESET hidden
)
if(REGOLITH_BUILD_SDL3 AND NOT EMSCRIPTEN)
find_package(SDL3 REQUIRED CONFIG)
endif()
if(REGOLITH_BUILD_TESTS)
enable_testing()
add_subdirectory(tests)
endif()