2013/9/11 Miller Henry <[email protected]>:
> We are using cmake 2.8.11 for out project.
>
> Our local compiler is gcc-4.4.3.  There is desire to use a newer compiler,
> but we are not yet ready to commit to anything yet.  In the mean time we
> have installed binaries gcc-4.7 and gcc-4.8.  We can specify the alternate
> compiler with –DCMAKE_C_COMPILER=gcc-4.7, but we want to go a step farther:
> one (believed important) advantage of gcc-4.7 is the option -mtune=atom
> since that is are target system. We want to force this option when using the
> newer compiler, but the older version of gcc doesn’t accept it.
>
> Toolchain files are not an option, when you use a toolchain file cmake sets
> CMAKE_CROSSCOMPILING meaning parts of our system that depend on running on
> x86 will not run.  (it is up to a different team to make a build for other
> processors – they are nowhere close to done but that variable is used in a
> few places to disable things that my team needs).
>
> Here is what we come up with, which both feels icky, and seems like a bad
> compromise:
>
> IF("4.8.0" STREQUAL ${CMAKE_CXX_COMPILER_VERSION} OR "4.8.1" STREQUAL
> ${CMAKE_CXX_COMPILER_VERSION} OR "4.8" STREQUAL ${USE_GCC_VERSION})
>   SET(CMAKE_CXX_COMPILER "g++-4.8")
> SET(CMAKE_C_COMPILER "gcc-4.8")
>   SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -std=c++11")
>     SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-local-typedefs"
> CACHE STRING "" FORCE)
> ELSEIF("4.7.1" STREQUAL ${CMAKE_CXX_COMPILER_VERSION} OR "4.7.2" STREQUAL
> ${CMAKE_CXX_COMPILER_VERSION} OR "4.7" STREQUAL ${USE_GCC_VERSION})
>   SET(CMAKE_CXX_COMPILER "g++-4.7")
>   SET(CMAKE_C_COMPILER "gcc-4.7")
> ENDIF("4.8.0" STREQUAL ${CMAKE_CXX_COMPILER_VERSION} OR "4.8.1" STREQUAL
> ${CMAKE_CXX_COMPILER_VERSION} OR "4.8" STREQUAL ${USE_GCC_VERSION})
>

As for me coding any compiler options into CMake files is an urgly idea.
--

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://www.cmake.org/mailman/listinfo/cmake

Reply via email to