cmake_minimum_required(VERSION 3.19) project(m2dev-client-src) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/buildtool" ) include(Utils) set(CMAKE_CONFIGURATION_TYPES "Debug;RelWithDebInfo;Release" CACHE STRING "Configurations" FORCE) set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT "$<$:ProgramDatabase>") set_property(GLOBAL PROPERTY USE_FOLDERS ON) set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi") set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /DEBUG") add_compile_options("$<$:/utf-8>") add_compile_options(/MP) add_compile_options( $<$:/wd4828> $<$:/wd4996> ) add_definitions(-DNOMINMAX) add_definitions(-DWIN32_LEAN_AND_MEAN) add_definitions(-D_CRT_SECURE_NO_WARNINGS) add_definitions(-DWINDOWS_IGNORE_PACKING_MISMATCH) add_definitions(-DUSE_LOD) add_definitions(-DDUNGEON_WORK) add_definitions(-DBUILDING_GRANNY_STATIC) add_definitions(-DGRANNY_THREADED) add_compile_definitions("$<$:DEBUG>") add_compile_definitions("$<$:_DISTRIBUTE>") add_compile_definitions("$<$:_DISTRIBUTE>") include_directories("src") include_directories("extern/include") # Add subdirectories for libraries and executables add_subdirectory(vendor) add_subdirectory(src) add_subdirectory(extern)