2024-03-17 12:25:29 +00:00
|
|
|
if (NOT NO_ISA_EXTENSIONS)
|
|
|
|
include(CheckCXXCompilerFlag)
|
|
|
|
if (CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64" OR CMAKE_SYSTEM_PROCESSOR MATCHES "arm64")
|
|
|
|
CHECK_CXX_COMPILER_FLAG("-mcpu=native" COMPILER_SUPPORTS_MCPU_NATIVE)
|
|
|
|
if(COMPILER_SUPPORTS_MARCH_NATIVE)
|
2024-09-27 12:10:30 +00:00
|
|
|
add_compile_options(-mcpu=native)
|
2024-03-17 12:25:29 +00:00
|
|
|
endif()
|
|
|
|
else()
|
|
|
|
CHECK_CXX_COMPILER_FLAG("-march=native" COMPILER_SUPPORTS_MARCH_NATIVE)
|
|
|
|
if(COMPILER_SUPPORTS_MARCH_NATIVE)
|
2024-09-27 12:10:30 +00:00
|
|
|
add_compile_options(-march=native)
|
2024-03-17 12:25:29 +00:00
|
|
|
endif()
|
|
|
|
endif()
|
2024-03-22 21:07:43 +00:00
|
|
|
if(WIN32)
|
2024-09-27 12:10:30 +00:00
|
|
|
add_compile_options(/arch:AVX2)
|
2024-03-22 21:07:43 +00:00
|
|
|
endif()
|
2024-03-17 12:25:29 +00:00
|
|
|
endif()
|
|
|
|
|
|
|
|
if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND NOT LEGACY)
|
|
|
|
set(USE_WAYLAND ON)
|
|
|
|
else()
|
|
|
|
set(USE_WAYLAND OFF)
|
|
|
|
endif()
|
|
|
|
|
2024-09-26 14:02:47 +00:00
|
|
|
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
|
|
|
add_compile_options(-fexperimental-library)
|
|
|
|
endif()
|
|
|
|
|
2024-03-17 12:25:29 +00:00
|
|
|
if(WIN32)
|
2024-09-23 21:10:11 +00:00
|
|
|
add_definitions(-DNOMINMAX -DWIN32_LEAN_AND_MEAN -D_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR)
|
2024-05-18 12:01:43 +00:00
|
|
|
add_compile_options(/MP)
|
2024-03-17 12:25:29 +00:00
|
|
|
endif()
|
2024-03-17 12:50:39 +00:00
|
|
|
|
2024-09-18 16:41:29 +00:00
|
|
|
if(EMSCRIPTEN)
|
2024-09-20 19:46:32 +00:00
|
|
|
add_compile_options(-pthread -DIMGUI_IMPL_OPENGL_ES2)
|
2024-09-18 16:41:29 +00:00
|
|
|
endif()
|
|
|
|
|
2024-03-20 21:25:24 +00:00
|
|
|
if(NOT CMAKE_BUILD_TYPE STREQUAL "Debug" AND NOT EMSCRIPTEN)
|
2024-03-17 12:50:39 +00:00
|
|
|
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON)
|
|
|
|
endif()
|
2024-03-21 00:08:50 +00:00
|
|
|
|
2024-07-17 20:54:07 +00:00
|
|
|
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND NOT EMSCRIPTEN)
|
2024-05-12 17:44:58 +00:00
|
|
|
find_program(MOLD_LINKER mold)
|
|
|
|
if(MOLD_LINKER)
|
|
|
|
set(CMAKE_LINKER_TYPE "MOLD")
|
|
|
|
endif()
|
2024-05-23 23:16:06 +00:00
|
|
|
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
2024-09-27 12:10:30 +00:00
|
|
|
add_compile_options(-fno-eliminate-unused-debug-types)
|
2024-05-23 23:16:06 +00:00
|
|
|
endif()
|
2024-03-23 01:08:00 +00:00
|
|
|
endif()
|
2024-07-12 15:11:27 +00:00
|
|
|
|
|
|
|
file(GENERATE OUTPUT .gitignore CONTENT "*")
|
2024-09-23 21:11:08 +00:00
|
|
|
|
|
|
|
set(CMAKE_COLOR_DIAGNOSTICS ON)
|