Rework on bitmap_info.cpp cmake build process.
on gcc 12.1 / msys2 the large initialized list in bitmap_info.cpp breaks the compiler (perhaps a bug in the compiler). So, as workaround, the initialization sequence is modified.
This commit is contained in:
parent
d24e6c3408
commit
1a5b0d7e39
|
@ -786,7 +786,7 @@ function( bitmap_dir pngWidth pngHeight bmapList )
|
|||
png2png( ${tmpFile} ${pngPath} )
|
||||
|
||||
set( bitmapInfo
|
||||
" { BITMAPS::${bmn}, wxT( \"${pngFile}\" ), ${pngHeight}, wxT( \"${theme}\" ) },\n"
|
||||
" aBitmapInfoCache[BITMAPS::${bmn}].emplace_back( BITMAPS::${bmn}, wxT( \"${pngFile}\" ), ${pngHeight}, wxT( \"${theme}\" ) );\n"
|
||||
)
|
||||
|
||||
set( BITMAP_INFO_LIST "${BITMAP_INFO_LIST}${bitmapInfo}" )
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -235,6 +235,5 @@ wxString BITMAP_STORE::computeBitmapName( BITMAPS aBitmapId, int aHeight )
|
|||
|
||||
void BITMAP_STORE::buildBitmapInfoCache()
|
||||
{
|
||||
for( const BITMAP_INFO& entry : g_BitmapInfo )
|
||||
m_bitmapInfoCache[entry.id].emplace_back( entry );
|
||||
BuildBitmapInfo( m_bitmapInfoCache );
|
||||
}
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
#include <bitmaps/bitmaps_list.h>
|
||||
#include <bitmaps/bitmap_info.h>
|
||||
|
||||
const std::vector<BITMAP_INFO> g_BitmapInfo = {
|
||||
void BuildBitmapInfo( std::unordered_map<BITMAPS, std::vector<BITMAP_INFO>>& aBitmapInfoCache )
|
||||
{
|
||||
${BITMAP_INFO_LIST}
|
||||
};
|
||||
|
|
|
@ -22,9 +22,10 @@
|
|||
#define KICAD_BITMAP_INFO_H
|
||||
|
||||
#include <vector>
|
||||
#include <unordered_map>
|
||||
#include <bitmaps/bitmaps_list.h>
|
||||
|
||||
#include <wx/string.h> // wxT
|
||||
#include <wx/string.h>
|
||||
|
||||
struct BITMAP_INFO
|
||||
{
|
||||
|
@ -32,9 +33,18 @@ struct BITMAP_INFO
|
|||
wxString filename;
|
||||
int height;
|
||||
wxString theme;
|
||||
|
||||
BITMAP_INFO( BITMAPS aId, const wxString& aFilename, int aHeight, const wxString& aTheme ) :
|
||||
id( aId ),
|
||||
filename( aFilename ),
|
||||
height( aHeight ),
|
||||
theme( aTheme )
|
||||
{};
|
||||
|
||||
};
|
||||
|
||||
|
||||
extern const std::vector<BITMAP_INFO> g_BitmapInfo;
|
||||
extern void BuildBitmapInfo( std::unordered_map<BITMAPS,
|
||||
std::vector<BITMAP_INFO>>& aBitmapInfoCache );
|
||||
|
||||
#endif // KICAD_BITMAP_INFO_H
|
||||
|
|
Loading…
Reference in New Issue