gcc - script - create cmake
¿De cualquier forma en CMake para requerir la versión 4+ de GCC? (4)
Estoy utilizando algunas características que se proporcionan en GCC v4 + y me gustaría que CMake encuentre el compilador GCC v4 y, si no lo encuentra, devuelve un error que indica que se requiere GCC v4.
¿Alguien tiene módulos / ideas sobre cómo hacer algo como esto?
Gracias.
Use el comando try_compile () e intente compilar el siguiente programa
#if __GNUC__ != 4
#error
#endif
int main() { return 0; }
Una forma totalmente diferente (no necesariamente mejor) de implementar una verificación de versión de gcc sería algo así como:
if(CMAKE_COMPILER_IS_GNUCXX)
exec_program(
${CMAKE_CXX_COMPILER}
ARGS --version
OUTPUT_VARIABLE _compiler_output)
string(REGEX REPLACE ".* ([0-9]//.[0-9]//.[0-9]) .*" "//1"
gcc_compiler_version ${_compiler_output})
message(STATUS "C++ compiler version: ${gcc_compiler_version} [${CMAKE_CXX_COMPILER}]")
if(gcc_compiler_version MATCHES "4//.[0-9]//.[0-9]")
message(FATAL_ERROR "foobar")
...
if(gcc_compiler_version VERSION_GREATER "4.5.99")
...
...
También está el archivo de la cadena de herramientas, que se menciona en la wiki de vtk . Eso le permite especificar cadenas de herramientas personalizadas. Normalmente se usa para la compilación cruzada, pero lo he usado antes para que funcionen otras cadenas de herramientas.
Pronto puede haber una solución en cmake, cf. http://cmake.3232098.n2.nabble.com/GCC-compiler-version-td7185771.html
Las versiones futuras de cmake pueden incluir dos variables: CMAKE_C_COMPILER_VERSION y CMAKE_CXX_COMPILER_VERSION .
Halas, todavía no los he visto en el registro de cambios 2.8.8.
Yo uso la solución @ maker por el momento.