Am Freitag 11 Mai 2007 03:14 schrieb Alan W. Irwin: > On 2007-05-11 00:07+0200 Hendrik Sattler wrote: > > Am Donnerstag 10 Mai 2007 19:39 schrieb Alan W. Irwin: > >> [...]This error is caused by lack of C support. > > > > Yes. It is obviously that way. But it is kind of non-sense to require a C > > compiler for a library like Qt4. > > I think you are probably correct to be concerned with a C dependency for > the QT4 module.
Below, you can find a fix for it. Looks like all of TRY_COMPILE command usages should be reviewed to not be fixed implicitely on CMAKE_C_COMPILER (at least not if the stuff is fully doable with CMAKE_CXX_COMPILER). -----------------------snip------------------------- --- /c/local/cmake/share/cmake-2.4/Modules/CheckSymbolExists.cmake.orig Wed Jan 10 11:03:28 2007 +++ /c/local/cmake/share/cmake-2.4/Modules/CheckSymbolExists.cmake Fri May 11 08:56:30 2007 @@ -13,6 +13,11 @@ # CMAKE_REQUIRED_INCLUDES = list of include directories # CMAKE_REQUIRED_LIBRARIES = list of libraries to link +SET(CHECK_SYMBOL_SOURCE_FILE_EXTENSION "c") +IF(NOT CMAKE_C_COMPILER) + SET(CHECK_SYMBOL_SOURCE_FILE_EXTENSION "cpp") +ENDIF(NOT CMAKE_C_COMPILER) + MACRO(CHECK_SYMBOL_EXISTS SYMBOL FILES VARIABLE) IF("${VARIABLE}" MATCHES "^${VARIABLE}$") SET(CMAKE_CONFIGURABLE_FILE_CONTENT "/* */\n") @@ -37,12 +42,12 @@ "${CMAKE_CONFIGURABLE_FILE_CONTENT}\nvoid cmakeRequireSymbol(int dummy,...){(void)dummy;}\nint main()\n{\n#ifndef ${SYMBOL}\n cmakeRequireSymbol(0,&${SYMBOL});\n#endif\n return 0;\n}\n") CONFIGURE_FILE("${CMAKE_ROOT}/Modules/CMakeConfigurableFile.in" - "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckSymbolExists.c" @ONLY) + "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckSymbolExists.${CHECK_SYMBOL_SOURCE_FILE_EXTENSION}" @ONLY) MESSAGE(STATUS "Looking for ${SYMBOL}") TRY_COMPILE(${VARIABLE} ${CMAKE_BINARY_DIR} - ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckSymbolExists.c + ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckSymbolExists.${CHECK_SYMBOL_SOURCE_FILE_EXTENSION} COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_SYMBOL_EXISTS_FLAGS} @@ -55,7 +60,7 @@ FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log "Determining if the ${SYMBOL} " "exist passed with the following output:\n" - "${OUTPUT}\nFile ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckSymbolExists.c:\n" + "${OUTPUT}\nFile ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckSymbolExists.${CHECK_SYMBOL_SOURCE_FILE_EXTENSION}:\n" "${CMAKE_CONFIGURABLE_FILE_CONTENT}\n") ELSE(${VARIABLE}) MESSAGE(STATUS "Looking for ${SYMBOL} - not found.") @@ -63,7 +68,7 @@ FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log "Determining if the ${SYMBOL} " "exist failed with the following output:\n" - "${OUTPUT}\nFile ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckSymbolExists.c:\n" + "${OUTPUT}\nFile ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckSymbolExists.${CHECK_SYMBOL_SOURCE_FILE_EXTENSION}:\n" "${CMAKE_CONFIGURABLE_FILE_CONTENT}\n") ENDIF(${VARIABLE}) ENDIF("${VARIABLE}" MATCHES "^${VARIABLE}$") -----------------------snip------------------------- HS _______________________________________________ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake