Hi, we were having some problems with warnings and gcc versions so I thought to write a macro that adds a flag to any string (typically CMAKE_C_FLAGS)
ADD_CHECK_C_COMPILER_FLAG(CMAKE_C_FLAGS -Wno-unknown-pragmas) ...this is the macro. macro(ADD_CHECK_C_COMPILER_FLAG _CFLAGS _FLAG) include(CheckCCompilerFlag) # odd workaround set(CFLAG_TEST "CFLAG_TEST") CHECK_C_COMPILER_FLAG("${_FLAG}" CFLAG_TEST) if(CFLAG_TEST) # message(STATUS "Using CFLAG: ${_FLAG}") set(${_CFLAGS} "${${_CFLAGS}} ${_FLAG}") else() message(STATUS "Unsupported CFLAG: ${_FLAG}") endif() endmacro() My question is why this is needed? set(CFLAG_TEST "CFLAG_TEST") CHECK_C_COMPILER_FLAG("${_FLAG}" CFLAG_TEST) If I do this (as I see in other examples online)... CHECK_C_COMPILER_FLAG("${_FLAG}" CFLAG_TEST) This if check fails in CheckCSourceCompiles.cmake:28 ... MACRO(CHECK_C_SOURCE_COMPILES SOURCE VAR) IF("${VAR}" MATCHES "^${VAR}$") This is confusing since from what I can tell CFLAG_TEST can be an undefined variable. Any idea whats going on?, CMake 2.8.3 -- - Campbell _______________________________________________ Powered by 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