KiCad PCB EDA Suite
Loading...
Searching...
No Matches
drc_proto_test.cpp
Go to the documentation of this file.
1/*
2 * This program source code file is part of KiCad, a free EDA CAD application.
3 *
4 * Copyright (C) 2019-2020 KiCad Developers, see AUTHORS.txt for contributors.
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version 2
9 * of the License, or (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, you may find one here:
18 * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
19 * or you may search the http://www.gnu.org website for the version 2 license,
20 * or you may write to the Free Software Foundation, Inc.,
21 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
22 */
23
24#include <string>
25
26#include <common.h>
27#include <profile.h>
28
29#include <wx/cmdline.h>
30#include <wx/init.h>
31
33
34#include <pgm_base.h>
35
36#include "drc_proto.h"
37
38int main( int argc, char** argv )
39{
40 wxInitialize( argc, argv );
41
42 Pgm().InitPgm( true );
43
45 propMgr.Rebuild();
46
47 if( argc < 2 )
48 {
49 printf("usage: %s <project-file/board-file> [drc-rules-file]\n", argv[0] );
50 Pgm().Destroy();
51 wxUninitialize();
52 return -1;
53 }
54
55 PROJECT_CONTEXT project = loadKicadProject( argv[1], argv[2] ? wxString( argv[2] ) : std::optional<wxString>() );
56
57 // This causes some glib warnings on GTK3 (http://trac.wxwidgets.org/ticket/18274)
58 // but without it, Valgrind notices a lot of leaks from WX
59
61
62 Pgm().Destroy();
63
64 wxUninitialize();
65
66 return 0;
67}
Provide class metadata.Helper macro to map type hashes to names.
Definition: property_mgr.h:74
static PROPERTY_MANAGER & Instance()
Definition: property_mgr.h:76
void Rebuild()
Rebuild the list of all registered properties.
The common library.
main()
PROJECT_CONTEXT loadKicadProject(const wxString &filename, std::optional< wxString > rulesFilePath)
Definition: drc_proto.cpp:59
int runDRCProto(PROJECT_CONTEXT project, std::shared_ptr< KIGFX::VIEW_OVERLAY > aDebugOverlay)
Definition: drc_proto.cpp:103
see class PGM_BASE
KIWAY Kiway & Pgm(), KFCTL_STANDALONE
The global Program "get" accessor.
Definition: single_top.cpp:115