cmake_minimum_required(VERSION 3.20) project(sand) find_package(OpenMP REQUIRED) find_package(PkgConfig REQUIRED) pkg_check_modules(LUAJIT REQUIRED luajit) add_library(sand SHARED src/sand.cpp src/lualib.cpp ) target_include_directories(sand PUBLIC include PRIVATE ${LUAJIT_INCLUDE_DIRS} ) target_link_libraries(sand PRIVATE ${LUAJIT_LIBRARIES} OpenMP::OpenMP_CXX) set_target_properties(sand PROPERTIES CXX_STANDARD 20 CXX_STANDARD_REQUIRED ON ) if (EXISTS third/tracy/CMakeLists.txt) option(TRACY_ENABLE "Enable Tracy" ON) set(TRACY_STATIC OFF) set(TRACY_ON_DEMAND ON) add_subdirectory(third/tracy) target_link_libraries(sand PUBLIC Tracy::TracyClient) else() target_compile_definitions(sand PUBLIC FrameMark ZoneScoped) endif() find_package(SDL3 CONFIG REQUIRED) add_executable(sandtest src/main.cpp ) target_link_libraries(sandtest PRIVATE sand SDL3) set_target_properties(sandtest PROPERTIES CXX_STANDARD 20 CXX_STANDARD_REQUIRED ON )