1include(Compiler/Clang-OBJC) 2 3if((NOT DEFINED CMAKE_DEPENDS_USE_COMPILER OR CMAKE_DEPENDS_USE_COMPILER) 4 AND CMAKE_GENERATOR MATCHES "Makefiles" 5 AND CMAKE_DEPFILE_FLAGS_OBJC) 6 # dependencies are computed by the compiler itself 7 set(CMAKE_OBJC_DEPFILE_FORMAT gcc) 8 set(CMAKE_OBJC_DEPENDS_USE_COMPILER TRUE) 9endif() 10 11 12if(NOT CMAKE_OBJC_COMPILER_VERSION VERSION_LESS 4.0) 13 set(CMAKE_OBJC90_STANDARD_COMPILE_OPTION "-std=c90") 14 set(CMAKE_OBJC90_EXTENSION_COMPILE_OPTION "-std=gnu90") 15 set(CMAKE_OBJC90_STANDARD__HAS_FULL_SUPPORT ON) 16 17 set(CMAKE_OBJC99_STANDARD_COMPILE_OPTION "-std=c99") 18 set(CMAKE_OBJC99_EXTENSION_COMPILE_OPTION "-std=gnu99") 19 set(CMAKE_OBJC99_STANDARD__HAS_FULL_SUPPORT ON) 20 21 set(CMAKE_OBJC11_STANDARD_COMPILE_OPTION "-std=c11") 22 set(CMAKE_OBJC11_EXTENSION_COMPILE_OPTION "-std=gnu11") 23 set(CMAKE_OBJC11_STANDARD__HAS_FULL_SUPPORT ON) 24endif() 25 26# AppleClang 10.0 was the oldest compiler available to test C17 support 27if(NOT CMAKE_OBJC_COMPILER_VERSION VERSION_LESS 10.0) 28 set(CMAKE_OBJC17_STANDARD_COMPILE_OPTION "-std=c17") 29 set(CMAKE_OBJC17_EXTENSION_COMPILE_OPTION "-std=gnu17") 30 set(CMAKE_OBJC17_STANDARD__HAS_FULL_SUPPORT ON) 31endif() 32 33if(NOT CMAKE_OBJC_COMPILER_VERSION VERSION_LESS 11.0) 34 set(CMAKE_OBJC23_STANDARD_COMPILE_OPTION "-std=c2x") 35 set(CMAKE_OBJC23_EXTENSION_COMPILE_OPTION "-std=gnu2x") 36 set(CMAKE_OBJC23_STANDARD__HAS_FULL_SUPPORT ON) 37endif() 38 39# AppleClang 10.0 was the oldest compiler available to test default C11 support 40__compiler_check_default_language_standard(OBJC 4.0 99 10.0 11) 41