[prev in list] [next in list] [prev in thread] [next in thread]
List: cmake
Subject: Re: [CMake] Where do all the extra clang flags come from in Xcode?
From: Ruslan Baratov via CMake <cmake () cmake ! org>
Date: 2015-05-17 12:43:59
Message-ID: 55588D0F.5090308 () yahoo ! com
[Download RAW message or body]
On 14-May-15 23:53, Paul Smith wrote:
> I was comparing the command line used when we choose an Xcode generator
> on our OSX systems, vs. the command line used when we choose a Makefile
> generator. We certainly have nothing in our CMakeLists.txt which sets
> compiler flags based on the type of generator, only based on the type of
> compiler (GCC, Clang, etc.)
>
> But, when I look at the compiler and flags used by the Makefile
> generator it uses /usr/bin/c++ (which is clang++ underneath) and it's
> basically only the the compiler flags that we provided.
>
> When I look at the compiler and flags used by the Xcode generator, not
> only does it use a different path to the compiler
> (/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang \
> -x c++) but, more concerning (because I assume that /usr/bin/clang++ eventually \
> gets down to the same actual compiler as above) but it contains a huge number of \
> extra flags, for example it appears to disable all sorts of warnings (that we don't \
> want disabled): -Wno-missing-prototypes, -Wno-return-type, -Wno-non-virtual-dtor, \
> -Wno-overloaded-virtual, etc. etc.
> This means people who build on OSX using Makefile generators see extra
> warnings that people who build on OSX using Xcode don't see.
>
> Where are these extra flags all coming from? Is it from Xcode itself
> somehow? Can I keep them from being added? I don't want peoples'
> personal Xcode settings to disable warnings during compilation!
>
> Note these are build servers and so no one is actually invoking Xcode:
> we log in via SSH, use cmake to generate the Xcode project files, then
> use cmake -build (which runs xcodebuild) to run the build itself.
>
As far as I know extra flags set by Xcode itself. You can use
XCODE_ATTRIBUTE_* target properties to enable/disable warnings. This
table can be helpful:
https://github.com/ruslo/leathers/wiki/List#xcodeclang-table
Cheers, Ruslo
--
Powered by www.kitware.com
Please keep messages on-topic and check the CMake FAQ at: \
http://www.cmake.org/Wiki/CMake_FAQ
Kitware offers various services to support the CMake community. For more information \
on each offering, please visit:
CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html
Visit other Kitware open-source projects at \
http://www.kitware.com/opensource/opensource.html
Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic