cmake_minimum_required(VERSION 3.28) project(gamingcore CXX) set(CMAKE_CXX_STANDARD 23) set(SRC "src/Main.cpp" ) if("${CMAKE_BUILD_TYPE}" STREQUAL "Release") set(LINK_OPTIONS "") set(LOG_LEVEL 2) set(DEFINITIONS CHECK_MEMORY) else() set(DEFINITIONS ERROR_SIMULATOR CHECK_MEMORY DEBUG_VULKAN) set(LOG_LEVEL 4) endif() if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") include("cmake/gcc_warnings.cmake") elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang") include("cmake/clang_warnings.cmake") endif() include("${CMAKE_INSTALL_PREFIX}/cmake/add_modules.cmake") add_executable(table ${SRC}) target_compile_options(table PUBLIC ${WARNINGS} -fdiagnostics-color=always ) target_compile_definitions(table PRIVATE LOG_LEVEL=${LOG_LEVEL} PUBLIC ${DEFINITIONS} ) target_link_libraries(table PRIVATE core) add_modules( TARGET table NAME core_modules PREFIX ${CMAKE_INSTALL_PREFIX}/ FILES ${core_modules} ) add_modules( TARGET table NAME table_private_modules FILES src/Module.cppm ) target_link_directories(table PUBLIC ${CMAKE_INSTALL_PREFIX}/lib )