Parser issue? - Cont.
Leon Pollak
leonp at plris.com
Sun Oct 19 09:42:18 BST 2014
Hello, all.
My previous mail (attached below) was not answered, so I continued to
experiment.
My experiments showed that none of the definitions made in the CMakeLists.txt
file are not recognized by the parser.
I have no idea why and how BUILD_PPC gets defined, no visible reason. I tried
tochange its place to be the first - no influence.
So, if nobody comments on this, I am going to fill report in bugs.kde.org...
Thanks.
-----------------------------------------------------------------------
It seems that code browser/parser does not see correctly the definitions
dependent on the variables defined in cmake file. I understand the complexity
of the issue next to impossible.
Still, may be kdevelop gurus may be so kind to suggest something to solve
this?
---
I have the same code for several different architectures. Thus I have build
dirs for each CPU type named as BuildARM, BuildPPC, BuildPC, etc...
My cmake.txt contains:
#define build type XXX: /Projects/CSU/BuildXXX
string(REPLACE "/" ";" LIST ${CMAKE_BINARY_DIR})
list(GET LIST 3 BUILD_TYPE)
if (BUILD_TYPE MATCHES BuildPC)
add_definitions(-DBUILD_PC)
elseif (BUILD_TYPE MATCHES BuildARM2)
add_definitions(-DBUILD_ARM2)
elseif (BUILD_TYPE MATHES BuildPPC)
add_definitions(-DBUILD_PPC)
elseif (BUILD_TYPE MATCHES BuildARM)
add_definitions(-DBUILD_ARM)
endif()
There is also main system.h file which contains:
#ifdef BUILD_PC
#define BUILD_ARM
#endif
#ifdef BUILD_ARM
#include "system-DVRM.h"
#elif defined(BUILD_PPC)
#include "system-TDR.h"
#elif defined(BUILD_ARM2)
#include "system-HDVR.h"
#endif
#if !defined(SYS_CPU)
#error No CPU definition
#endif
(for accuracy - I debug some code in PC for different configurations, in the
example - for ARM).
What is unclear to me, that parser for some reason ALWAYS(!!!) thinks that
only variable BUILD_PPC is defined! Independent of what configuration is
chosen, it always thinks that BUILD_PPC is defined.
I tried to delete all ~.cache and ~.ccashe directories, rebuild DB, recompile
- nothing helps! Only BUILD_PPC is defined all the time.
Is there any way to get out of this?
Many thanks ahead.
--
Leon
More information about the KDevelop
mailing list