[CMake] How to determine the compiler used outside of cmake

Miller, Frank FMiller at sjm.com
Thu May 2 15:35:26 EDT 2013


Update. The reason I didn’t have CMAKE_CXX_COMPILER in my cache is because I was doing a

  set(CMAKE_CXX_COMPILER /usr/bin/g++44 )

at the top of my root CMakeLists.txt. That preempts the set( CACHE ) call that project() does. My bad.

Frank

From: cmake-bounces at cmake.org [mailto:cmake-bounces at cmake.org] On Behalf Of Miller, Frank
Sent: Thursday, May 02, 2013 9:51 AM
To: m.hergarden at euphoria-it.nl
Cc: cmake at cmake.org
Subject: Re: [CMake] How to determine the compiler used outside of cmake

Interesting. I am running a very recent version (2.8.10.20130415) built from git. Perhaps the handling of CMAKE_CXX_COMPILER has changed recently.

I can’t believe I didn’t think to manually put it in the cache. That will work for me. Thanks.

As for the bigger problem I am solving... I have a wrapper script that drives the build. This is done to emulate a legacy build system and add some nice-to-haves. For example, the user can call the script from their source tree and it will call cmake/ninja in the proper binary tree. The default compiler to be used is hard coded into the CMakeLists.txt and I would like to have the script detect when the compiler changes and do a reconfigure automatically.

Now that I’m explaining the larger problem, I think I will have to put extra information in the cache to detect when the user manually overrides the default compiler. So I probably would have come around to your suggestion on my own.

Thanks again,

Frank

From: m.hergarden [mailto:m.hergarden at euphoria-it.nl]
Sent: Thursday, May 02, 2013 12:16 AM
To: Miller, Frank
Cc: cmake at cmake.org<mailto:cmake at cmake.org>
Subject: Re: [CMake] How to determine the compiler used outside of cmake

The compiler does show up in my cache: CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++, but that doesn't solve your issue.
What is the bigger problem you are solving? If you really really need it in the cache, you can always write a variable yourself to make sure it's there.

Regards,
Micha

On 05/01/2013 09:56 PM, Miller, Frank wrote:
Greetings,

Given a configured build tree, I would like to determine the c++ compiler used without reconfiguring. I expected the CMAKE_CXX_COMPILER variable would be in the CMakeCache.txt but I was wrong. I tried to run a simple cmake script with ‘cmake -P’ and print the value of CMAKE_CXX_COMPILER but that does not work. I found the value in ‘CMakeFiles/2.8.10.20130415/CMakeCXXCompiler.cmake’, so I have a workaround, but that smells like the wrong solution. Does anyone know of a better way?

Thanks as always,

Frank



This communication, including any attachments, may contain information that is proprietary, privileged, confidential or legally exempt from disclosure. If you are not a named addressee, you are hereby notified that you are not authorized to read, print, retain a copy of or disseminate any portion of this communication without the consent of the sender and that doing so may be unlawful. If you have received this communication in error, please immediately notify the sender via return e-mail and delete it from your system.


--



Powered by www.kitware.com<http://www.kitware.com>



Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html



Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ



Follow this link to subscribe/unsubscribe:

http://www.cmake.org/mailman/listinfo/cmake

--
Met vriendelijke groet,
Micha Hergarden
[image001]

Lieve Vrouweplein 9-10
5038 TS Tilburg

CONTACT

T    +31 (0) 13 460 92 80
F    +31 (0) 13 460 92 81
E    m.hergarden at euphoria-it.nl<mailto:m.hergarden at euphoria-it.nl>
W  www.euphoria-it.nl<http://www.euphoria-it.nl/>

Helpdesk: 013 - 460 92 86
Storingdienst: 06-47942098

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20130502/622e5fe4/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: image001.png
Type: image/png
Size: 3239 bytes
Desc: image001.png
URL: <http://www.cmake.org/pipermail/cmake/attachments/20130502/622e5fe4/attachment-0001.png>


More information about the CMake mailing list