可以通过检查 CMAKE_CXX_COMPILER_ID 变量的值来区分使用的编译器类型:
CMAKE_CXX_COMPILER_ID
if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") # 使用微软编译器 else() # 使用 Mingw 编译器 endif()
具体来说,如果使用的是微软编译器,CMAKE_CXX_COMPILER_ID 的值将为 "MSVC";如果使用的是 Mingw 编译器,其值将为 "GNU"。
"MSVC"
"GNU"