set(PROJECT_NAME EngineV2) set(CMAKE_C_COMPILER clang) set(CMAKE_C_FLAGS "-Wall -Wextra") cmake_minimum_required(VERSION 3.22.1) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) project(${PROJECT_NAME} C CXX) set(CMAKE_C_STANDARD 17) set(RAYLIB_DIR /usr/local/lib CACHE FILEPATH "directory to Raylib") if (EMSCRIPTEN) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DPLATFORM_WEB") set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -s USE_GLFW=3 -s ASSERTIONS=1 -s WASM=1 -s ASYNCIFY -s MIN_WEBGL_VERSION=2 -s MAX_WEBGL_VERSION=2 -s TOTAL_MEMORY=16777216 -s TOTAL_STACK=1048576 --preload-file ./res ") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") set(CMAKE_EXECUTABLE_SUFFIX ".html") endif () enable_testing() add_subdirectory(engine) set(GAME_LIBS engine ) macro(add_target_exe name) add_executable(${name} ${name}.c #tracy/public/TracyClient.cpp ) target_include_directories(${name} PRIVATE ${CMAKE_CURRENT_LIST_DIR} #PUBLIC #tracy/public/ ) if (RUN_PROFILER) target_compile_definitions(${name} PUBLIC TRACY_ENABLE TRACY_ON_DEMAND ) endif() if (NOT EMSCRIPTEN) if (INCLUDE_ASAN) target_compile_options(${name} PRIVATE -fsanitize=address -gdwarf-4) target_link_options(${name} PRIVATE -fsanitize=address -gdwarf-4) endif () if (EXPORT_MMAP) target_link_options(${name} PRIVATE -Xlinker -Map=scene_test.map) endif() endif () target_link_libraries(${name} PUBLIC ${GAME_LIBS} ) endmacro() add_target_exe(tile_test)