← Back to team overview

kicad-developers team mailing list archive

Re: [PATCH]/Question TITLE_BLOCK tests

 

John,

I'm getting the following build errors.

[ 84%] Building CXX object
qa/common/CMakeFiles/qa_common.dir/test_utf8.cpp.o
In file included from
/home/wayne/src/kicad-trunk/qa/common/test_title_block.cpp:27:
/home/wayne/src/kicad-trunk/include/title_block.h:143:5: error:
‘wxArrayString’ does not name a type; did you mean ‘wxFormatString’?
     wxArrayString m_tbTexts;
     ^~~~~~~~~~~~~
     wxFormatString
/home/wayne/src/kicad-trunk/include/title_block.h: In member function
‘void TITLE_BLOCK::Clear()’:
/home/wayne/src/kicad-trunk/include/title_block.h:128:9: error:
‘m_tbTexts’ was not declared in this scope
         m_tbTexts.Clear();
         ^~~~~~~~~
/home/wayne/src/kicad-trunk/include/title_block.h:128:9: note: suggested
alternative: ‘setTbText’
         m_tbTexts.Clear();
         ^~~~~~~~~
         setTbText
/home/wayne/src/kicad-trunk/include/title_block.h: In member function
‘void TITLE_BLOCK::setTbText(int, const wxString&)’:
/home/wayne/src/kicad-trunk/include/title_block.h:147:18: error:
‘m_tbTexts’ was not declared in this scope
         if( (int)m_tbTexts.GetCount() <= aIdx )
                  ^~~~~~~~~
/home/wayne/src/kicad-trunk/include/title_block.h:147:18: note:
suggested alternative: ‘setTbText’
         if( (int)m_tbTexts.GetCount() <= aIdx )
                  ^~~~~~~~~
                  setTbText
/home/wayne/src/kicad-trunk/include/title_block.h:149:9: error:
‘m_tbTexts’ was not declared in this scope
         m_tbTexts[aIdx] = aText;
         ^~~~~~~~~
/home/wayne/src/kicad-trunk/include/title_block.h:149:9: note: suggested
alternative: ‘setTbText’
         m_tbTexts[aIdx] = aText;
         ^~~~~~~~~
         setTbText
/home/wayne/src/kicad-trunk/include/title_block.h: In member function
‘const wxString& TITLE_BLOCK::getTbText(int) const’:
/home/wayne/src/kicad-trunk/include/title_block.h:156:18: error:
‘m_tbTexts’ was not declared in this scope
         if( (int)m_tbTexts.GetCount() > aIdx )
                  ^~~~~~~~~
/home/wayne/src/kicad-trunk/include/title_block.h:156:18: note:
suggested alternative: ‘setTbText’
         if( (int)m_tbTexts.GetCount() > aIdx )
                  ^~~~~~~~~
                  setTbText

On 10/05/2018 12:46 PM, John Beard wrote:
> Hi,
> 
> Here's a patch that adds some really basic tests of TITLE_BLOCK
> (hopefully leading onto some more interesting changes to do with
> avoiding the triple-compilation of the page settings dialog).
> 
> However, it did need some finagling to get it working, and I'd like to
> ask about why some of it might be.
> 
> I can see when it has to specifically compile eda_text.cpp (units,
> right?). However, why do I need to compile colours.cpp and
> observable.cpp? Why don't they come with the libcommon linkage?

Some of the problem is the decision made long ago to compile source
files multiple times based on whether EESCHEMA, CVPCB, or PCBNEW is
defined (mostly due to units differences but not always).  My preference
would be to have a base (possibly pure virtual) object in common/ that
is unit agnostic and derived objects with the correct units for
appropriate app.

As to observable.cpp and colours.cpp, I don't know why they are not in
common but they probable should be.

> 
> Also it adds a mock KIFACE_I, which seems to be needed to appease
> linkage of things that need Kiface().
> 
> ${INC_AFTER} is used for config.h, is that right?

I believe so but I didn't write the original CMake files.

> 
> Cheers,
> 
> John
> 
> 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~kicad-developers
> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~kicad-developers
> More help   : https://help.launchpad.net/ListHelp
> 


References