[CMake] Problem with get_filename_component() and CMAKE_CXX_COMPILER when finding Qt4

Petr Kmoch petr.kmoch at gmail.com
Mon Apr 22 09:15:22 EDT 2013


If you look at the trace, you'll see the following few lines before the
error:

C:/Program Files (x86)/CMake
2.8/share/cmake-2.8/Modules/FindQt4.cmake(738):
set(CMAKE_REQUIRED_INCLUDES_SAVE ${CMAKE_REQUIRED_INCLUDES} )
C:/Program Files (x86)/CMake
2.8/share/cmake-2.8/Modules/FindQt4.cmake(739):
set(CMAKE_REQUIRED_FLAGS_SAVE ${CMAKE_REQUIRED_FLAGS} )
C:/Program Files (x86)/CMake
2.8/share/cmake-2.8/Modules/FindQt4.cmake(741):
set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES};${QT_INCLUDE_DIR} )
C:/Program Files (x86)/CMake
2.8/share/cmake-2.8/Modules/FindQt4.cmake(743):
CHECK_CXX_SYMBOL_EXISTS(Q_WS_X11 QtCore/qglobal.h Q_WS_X11 )
C:/Program Files (x86)/CMake
2.8/share/cmake-2.8/Modules/CheckCXXSymbolExists.cmake(41):
_CHECK_SYMBOL_EXISTS(${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckSymbolExists.cxx
Q_WS_X11 QtCore/qglobal.h Q_WS_X11 )
C:/Program Files (x86)/CMake
2.8/share/cmake-2.8/Modules/CheckSymbolExists.cmake(46):  if(Q_WS_X11
MATCHES ^Q_WS_X11$ )
C:/Program Files (x86)/CMake
2.8/share/cmake-2.8/Modules/CheckSymbolExists.cmake(47):
set(CMAKE_CONFIGURABLE_FILE_CONTENT /* */\n )
C:/Program Files (x86)/CMake
2.8/share/cmake-2.8/Modules/CheckSymbolExists.cmake(48):
set(MACRO_CHECK_SYMBOL_EXISTS_FLAGS ${CMAKE_REQUIRED_FLAGS} )
C:/Program Files (x86)/CMake
2.8/share/cmake-2.8/Modules/CheckSymbolExists.cmake(49):
if(CMAKE_REQUIRED_LIBRARIES )
C:/Program Files (x86)/CMake
2.8/share/cmake-2.8/Modules/CheckSymbolExists.cmake(54):  else()
C:/Program Files (x86)/CMake
2.8/share/cmake-2.8/Modules/CheckSymbolExists.cmake(55):
set(CHECK_SYMBOL_EXISTS_LIBS )
C:/Program Files (x86)/CMake
2.8/share/cmake-2.8/Modules/CheckSymbolExists.cmake(57):
if(CMAKE_REQUIRED_INCLUDES )
C:/Program Files (x86)/CMake
2.8/share/cmake-2.8/Modules/CheckSymbolExists.cmake(58):
set(CMAKE_SYMBOL_EXISTS_INCLUDES
-DINCLUDE_DIRECTORIES:STRING=${CMAKE_REQUIRED_INCLUDES} )
C:/Program Files (x86)/CMake
2.8/share/cmake-2.8/Modules/CheckSymbolExists.cmake(63):  foreach(FILE
QtCore/qglobal.h )
C:/Program Files (x86)/CMake
2.8/share/cmake-2.8/Modules/CheckSymbolExists.cmake(64):
set(CMAKE_CONFIGURABLE_FILE_CONTENT
${CMAKE_CONFIGURABLE_FILE_CONTENT}#include <${FILE}>\n )
C:/Program Files (x86)/CMake
2.8/share/cmake-2.8/Modules/CheckSymbolExists.cmake(67):
set(CMAKE_CONFIGURABLE_FILE_CONTENT ${CMAKE_CONFIGURABLE_FILE_CONTENT}\nint
main(int argc, char** argv)\n{\n  (void)argv;\n#ifndef Q_WS_X11\n  return
((int*)(&Q_WS_X11))[argc];\n#else\n  (void)argc;\n  return 0;\n#endif\n}\n )
C:/Program Files (x86)/CMake
2.8/share/cmake-2.8/Modules/CheckSymbolExists.cmake(70):
configure_file(${CMAKE_ROOT}/Modules/CMakeConfigurableFile.in
D:/Tmp/cmake/bld/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx @ONLY IMMEDIATE )
C:/Program Files (x86)/CMake
2.8/share/cmake-2.8/Modules/CheckSymbolExists.cmake(73):  message(STATUS
Looking for Q_WS_X11 )
-- Looking for Q_WS_X11
C:/Program Files (x86)/CMake
2.8/share/cmake-2.8/Modules/CheckSymbolExists.cmake(74):
try_compile(Q_WS_X11 ${CMAKE_BINARY_DIR}
D:/Tmp/cmake/bld/CMakeFiles/CMakeTmp/CheckSymbolExists.cxx
COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} CMAKE_FLAGS
-DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_SYMBOL_EXISTS_FLAGS}
${CHECK_SYMBOL_EXISTS_LIBS} ${CMAKE_SYMBOL_EXISTS_INCLUDES} OUTPUT_VARIABLE
OUTPUT )
CMake Error at C:/Program Files (x86)/CMake
2.8/share/cmake-2.8/Modules/CMakeCXXInformation.cmake:37
(get_filename_component):
  get_filename_component called with incorrect number of arguments
Call Stack (most recent call first):
  CMakeLists.txt:2 (PROJECT)




On Mon, Apr 22, 2013 at 3:05 PM, Rolf Eike Beer <eike at sf-mail.de> wrote:

> Am 22.04.2013 14:26, schrieb Petr Kmoch:
>
>  Hi all.
>>
>> I'm using CMake 2.8.10.2 to do a Visual Studio 2010 64-bit build, and I
>> encountered a weird problem with the CMake configure step failing, with
>> the
>> following output:
>>
>> CMake Error at C:/Program Files (x86)/CMake
>> 2.8/share/cmake-2.8/Modules/**CMakeCXXInformation.cmake:37
>> (get_filename_component):
>>   get_filename_component called with incorrect number of arguments
>> Call Stack (most recent call first):
>>   CMakeLists.txt:2 (PROJECT)
>>
>
> CMAKE_CXX_COMPILER is empty at that point.
>
>
>  I managed to pinpoint this to an issue with try_compile in FindQt4. I am
>> attaching a minimal test case as well as output of cmake --trace. The
>> CMakeList is just this:
>>
>
> I don't see a try_compile in FindQt4.
>
> Eike
>
> --
>
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/**
> opensource/opensource.html<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<http://www.cmake.org/Wiki/CMake_FAQ>
>
> Follow this link to subscribe/unsubscribe:
> http://www.cmake.org/mailman/**listinfo/cmake<http://www.cmake.org/mailman/listinfo/cmake>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20130422/c9bd3f22/attachment.htm>


More information about the CMake mailing list