When CMake (current version: 3.2.2) generates project files for Visual Studio, it appears to define an undocumented variable that seems quite useful to me: CMAKE_CXX_COMPILER_VERSION. It appears to be the full compiler version. For example, for my VS2010 installation, CMAKE_CXX_COMPILER_VERSION is "16.0.40219.1", and for my VS2013 installation, CMAKE_CXX_COMPILER_VERSION is "18.0.31101.0".

It seems useful to me to pass this CMake variable to the resource compiler, which does not have direct access to the macro's predefined by the C++ compiler (like _MSC_FULL_VER and _MSC_BUILD), for example by adding a "-D" flag:

add_definitions(-DMY_COMPILER_VERSION="${CMAKE_CXX_COMPILER_VERSION}")

Do you agree that it would be a good idea to add CMAKE_CXX_COMPILER_VERSION to the list of useful CMake variables, at http://www.cmake.org/Wiki/CMake_Useful_Variables ?


Kind regards, Niels
--
Niels Dekker
Scientific programmer at LKEB
Leiden University Medical Center
--

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

Reply via email to