CMAKE_MINIMUM_REQUIRED(VERSION 3.21) PROJECT(Dyt) option(USE_HOST_EVENT_LOOP "Enable the integration of CEF message loop thread into host event loop" OFF ) if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin") set(OS_MAC 1) set(OS_MACOSX 1) # For backwards compatibility. set(OS_POSIX 1) add_definitions(-DOS_MACOS=1 -DOS_POSIX=1) elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") set(OS_LINUX 1) set(OS_POSIX 1) add_definitions(-DOS_LINUX=1 -DOS_POSIX=1) elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows") set(OS_WINDOWS 1) add_definitions(-DOS_WINDOWS=1 -DNOMINMAX) endif() 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}/../Tool) 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 src)