cmake_minimum_required(VERSION 3.14) project("UwU Engine" VERSION 0.1.0) set(OUTPUT_DIR ${CMAKE_BINARY_DIR}/bin) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${OUTPUT_DIR}) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${OUTPUT_DIR}) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${OUTPUT_DIR}) # Build mode set(BUILD_MODE "All" CACHE STRING "Build mode: Engine / Tests / TestGame / All") set_property(CACHE BUILD_MODE PROPERTY STRINGS "Engine" "Tests" "TestGame" "All") if(NOT MSVC) set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g") endif() if(MSVC) add_compile_options(/GR-) else() add_compile_options(-fno-rtti) endif() if(BUILD_MODE STREQUAL "Engine") add_subdirectory(FastRTTI) add_subdirectory(glfw) add_subdirectory(Core) add_subdirectory(ProjectGenerator) elseif(BUILD_MODE STREQUAL "Tests") add_subdirectory(Tests) elseif(BUILD_MODE STREQUAL "TestGame") add_subdirectory(FastRTTI) add_subdirectory(glfw) add_subdirectory(Core) add_subdirectory(TestGame) elseif(BUILD_MODE STREQUAL "All") add_subdirectory(FastRTTI) add_subdirectory(glfw) add_subdirectory(Core) add_subdirectory(ProjectGenerator) add_subdirectory(TestGame) add_subdirectory(Tests) endif()