[CMake] check_cxx_compiler_flag usage

Clément Gregoire lectem at gmail.com
Thu Dec 7 09:13:08 EST 2017


Your usage of check_cxx_compiler_flag is correct, it's probably just
missing link flags or something.
Can you check the error log of cmake to know why it fails to compile ? It
is in your buildfolder : CMakeFiles/CMakeError.log

Here's how I did it for coverage by the way (not perfect, but was enough
for my usage):

https://github.com/Lectem/cpp-boilerplate/blob/master/cmake/Coverage.cmake#L42




2017-12-07 14:31 GMT+01:00 Damien R <damienrg+list at gmail.com>:

> Thank you for pointing that. It increments the number of people using
> CMAKE_REQUIRED_FLAGS "trick" to make it working with
> check_cxx_compiler_flag.
>
> But my question is more about :
>  - why they coded CHECK_CXX_COMPILER_FLAG this way?
>  - is my usage valid or not? If not what should I do? If yes, is it a bug?
>
> Regards,
>
> Damien R.
>
>
>
> On 7 December 2017 at 10:35, Eric Noulard <eric.noulard at gmail.com> wrote:
>
>>
>> Not really answering the question but
>> did you try to use an existing CMake module for handling sanitizers
>> config?
>>
>> I find this one https://github.com/arsenm/sanitizers-cmake very
>> effective, with
>> modern CMake target oriented features.
>>
>>
>>
>>
>> 2017-12-07 9:24 GMT+01:00 Damien R <damienrg+list at gmail.com>:
>>
>>> Hi,
>>>
>>> I am trying to use CHECK_CXX_COMPILER_FLAG with cmake 3.9 to check if
>>> the compiler supports asan.
>>> The CMakeLists.txt is:
>>> cmake_minimum_required(VERSION 3.9)
>>> include(CheckCXXCompilerFlag)
>>> check_cxx_compiler_flag("-fsanitize=address" COMPILER_SUPPORT_FLAG)
>>>
>>> I always got:
>>> -- Performing Test COMPILER_SUPPORT_FLAG - Failed
>>>
>>> Even if the documentation say that CHECK_CXX_COMPILER_FLAG sets
>>> CMAKE_REQUIRED_DEFINITIONS by the name of the macro I thought that it would
>>> work.
>>> Can you tell me why CHECK_CXX_COMPILER_FLAG use
>>> CMAKE_REQUIRED_DEFINITIONS instead of CMAKE_REQUIRED_FLAGS
>>> and what is the official way for checking this flag?
>>>
>>> Regards,
>>>
>>> Damien R.
>>>
>>>
>>> --
>>>
>>> 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
>>>
>>
>>
>>
>> --
>> Eric
>>
>
>
> --
>
> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake/attachments/20171207/de64e4b2/attachment.html>


More information about the CMake mailing list