trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: March 2012

Re: [trinity-devel] cmake debug help - amarok

From: Serghei Amelian <serghei@...>
Date: Wed, 14 Mar 2012 20:02:06 +0200
On Wednesday 14 March 2012 19:53:41 David C. Rankin wrote:
> All,
>
>   In the following code from amarok/ConfigureChecks.cmake:
>
> # konqsidebarplugin.h
> if( WITH_KONQSIDEBAR )
>   tde_save( CMAKE_REQUIRED_DEFINITIONS CMAKE_REQUIRED_FLAGS
> CMAKE_REQUIRED_INCLUDES CMAKE_REQUIRED_LIBRARIES )
>   set( CMAKE_REQUIRED_DEFINITIONS ${TQT_CFLAGS_OTHER} )
>   set( CMAKE_REQUIRED_INCLUDES
> ${TDE_INCLUDE_DIR};${TQT_INCLUDE_DIRS};${CMAKE_INCLUDE_PATH} )
>   set( CMAKE_REQUIRED_FLAGS "-include tqt.h" )
>   set( CMAKE_REQUIRED_LIBRARIES -L${TQT_LIBRARY_DIRS} ${TQT_LIBRARIES} )
>   check_cxx_source_compiles("
>     #include <konqsidebarplugin.h>
>     int main(int, char**) { return 0; } "
>     HAVE_KONQSIDEBARPLUGIN_H )
>   tde_restore( CMAKE_REQUIRED_DEFINITIONS CMAKE_REQUIRED_FLAGS
> CMAKE_REQUIRED_INCLUDES CMAKE_REQUIRED_LIBRARIES )
>   if( NOT HAVE_KONQSIDEBARPLUGIN_H )
>     tde_message_fatal( "konqsidebarplugin.h are requested, but not found on
> your system" )
>   endif( )
> endif( )
>
>   What is this code checking?
>
>   check_cxx_source_compiles("
>     #include <konqsidebarplugin.h>
>     int main(int, char**) { return 0; } "
>     HAVE_KONQSIDEBARPLUGIN_H )
>
>
>   I can find the '#include <konqsidebarplugin.h>' bit in:
> amarok/src/konquisidebar/universalamarok.h, but what does the rest of the
> check_cxx_source_compiles look for? 'int main(int, char**) { return 0; }'
> isn't in the code:
>
> /chroot/david/build/src/amarok> grep -r 'int main(int, char\*\*)' *
> ConfigureChecks.cmake:  int main(int, char**) { (void)new
> QGLWidget((QWidget*)0, \"qgl\"); return 0; } "
> ConfigureChecks.cmake:    int main(int, char**) { return 0; } "
>
>   It's nowhere else in the amarok code -- this is what is causing the
> konqsidebarplugin cmake failure. I can't explain why it isn't seen on
> Darrell's build -- we should have the same amarok code... That's why I need
> help understanding exactly what this check_cxx_source_compiles code is
> looking for.

Check in CMakeError.log what happens.

-- 
Serghei