[CMake] Where do all the extra clang flags come from in Xcode?
Ruslan Baratov
ruslan_baratov at yahoo.com
Mon May 18 11:29:18 EDT 2015
On 18-May-15 16:50, Parag Chandra wrote:
> In other words, these flags might very
> well be the same ones you’d see if you were to manually create an Xcode
> project via its wizards.
>
Not exactly. Wizard add some extra attributes:
Xcode 6.2 -> New project -> OSX -> Application -> Command Line Tool
> grep -i warn project.pbxproj
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
However CMake use others:
> cmake -H. -B_builds -GXcode
> grep -i warn project.pbxproj
WARNING_CFLAGS = ("-Wmost",
"-Wno-four-char-constants", "-Wno-unknown-pragmas", "$(inherited)", );
WARNING_CFLAGS = ("-Wmost",
"-Wno-four-char-constants", "-Wno-unknown-pragmas", "$(inherited)", );
WARNING_CFLAGS = ("-Wmost",
"-Wno-four-char-constants", "-Wno-unknown-pragmas", "$(inherited)", );
WARNING_CFLAGS = ("-Wmost",
"-Wno-four-char-constants", "-Wno-unknown-pragmas", "$(inherited)", );
WARNING_CFLAGS = ("-Wmost",
"-Wno-four-char-constants", "-Wno-unknown-pragmas", "$(inherited)", );
WARNING_CFLAGS = ("-Wmost",
"-Wno-four-char-constants", "-Wno-unknown-pragmas", "$(inherited)", );
WARNING_CFLAGS = ("-Wmost",
"-Wno-four-char-constants", "-Wno-unknown-pragmas", "$(inherited)", );
WARNING_CFLAGS = ("-Wmost",
"-Wno-four-char-constants", "-Wno-unknown-pragmas", "$(inherited)", );
WARNING_CFLAGS = ("-Wmost",
"-Wno-four-char-constants", "-Wno-unknown-pragmas", "$(inherited)", );
WARNING_CFLAGS = ("-Wmost",
"-Wno-four-char-constants", "-Wno-unknown-pragmas", "$(inherited)", );
WARNING_CFLAGS = ("-Wmost",
"-Wno-four-char-constants", "-Wno-unknown-pragmas", "$(inherited)", );
WARNING_CFLAGS = ("-Wmost",
"-Wno-four-char-constants", "-Wno-unknown-pragmas", "$(inherited)", );
In CMake case Xcode set missing attributes to default values, some of
them set to YES, some of them set to NO
More information about the CMake
mailing list