CMAKE_MINIMUM_REQUIRED(VERSION 3.21) PROJECT(HunanRender) SET(CMAKE_CXX_STANDARD 17) SET(CMAKE_CXX_STANDARD_REQUIRED ON) SET(CMAKE_CXX_EXTENSIONS OFF) MACRO(SOURCE_GROUP_BY_DIR SOURCE_FILES) IF(MSVC) set(sgbd_cur_dir ${CMAKE_CURRENT_SOURCE_DIR}) foreach(sgbd_file ${${SOURCE_FILES}}) string(REGEX REPLACE ${sgbd_cur_dir}/\(.*\) \\1 sgbd_fpath ${sgbd_file}) string(REGEX REPLACE "\(.*\)/.*" \\1 sgbd_group_name ${sgbd_fpath}) string(COMPARE EQUAL ${sgbd_fpath} ${sgbd_group_name} sgbd_nogroup) string(REPLACE "/" "\\" sgbd_group_name ${sgbd_group_name}) if(sgbd_nogroup) set(sgbd_group_name "\\") endif(sgbd_nogroup) source_group(${sgbd_group_name} FILES ${sgbd_file}) endforeach(sgbd_file) ENDIF(MSVC) ENDMACRO(SOURCE_GROUP_BY_DIR) SET(Thirdparty ${CMAKE_CURRENT_SOURCE_DIR}/Thirdparty) SET(ProjectDIR ${CMAKE_CURRENT_SOURCE_DIR}) SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SAFESEH:NO") SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /SAFESEH:NO") SET(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /SAFESEH:NO") ADD_SUBDIRECTORY(Src)