2017-02-27 11:07:52 +01:00
|
|
|
#
|
|
|
|
# This program source code file is part of KiCad, a free EDA CAD application.
|
|
|
|
#
|
|
|
|
# Copyright (C) 2017 CERN
|
|
|
|
# @author Alejandro García Montoro <alejandro.garciamontoro@gmail.com>
|
2024-09-27 13:09:50 -04:00
|
|
|
# Copyright (C) 2022-2023, 2024 KiCad Developers, see AUTHORS.txt for contributors.
|
2017-02-27 11:07:52 +01:00
|
|
|
#
|
|
|
|
# This program is free software; you can redistribute it and/or
|
|
|
|
# modify it under the terms of the GNU General Public License
|
|
|
|
# as published by the Free Software Foundation; either version 2
|
|
|
|
# of the License, or (at your option) any later version.
|
|
|
|
#
|
|
|
|
# This program is distributed in the hope that it will be useful,
|
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
# GNU General Public License for more details.
|
|
|
|
#
|
|
|
|
# You should have received a copy of the GNU General Public License
|
|
|
|
# along with this program; if not, you may find one here:
|
|
|
|
# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
|
|
|
# or you may search the http://www.gnu.org website for the version 2 license,
|
|
|
|
# or you may write to the Free Software Foundation, Inc.,
|
|
|
|
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
|
|
|
|
2019-01-09 06:35:42 -08:00
|
|
|
|
2017-02-27 11:07:52 +01:00
|
|
|
include_directories( BEFORE ${INC_BEFORE} )
|
|
|
|
|
2020-05-18 22:40:13 -04:00
|
|
|
include_directories(
|
|
|
|
${CMAKE_SOURCE_DIR}
|
|
|
|
${CMAKE_SOURCE_DIR}/include
|
|
|
|
${CMAKE_SOURCE_DIR}/pcbnew
|
2022-02-11 18:57:28 +01:00
|
|
|
${CMAKE_SOURCE_DIR}/qa/mocks/include
|
2021-12-01 00:33:21 +01:00
|
|
|
${CMAKE_SOURCE_DIR}/qa/qa_utils
|
2022-09-06 13:26:36 -07:00
|
|
|
${CMAKE_SOURCE_DIR}/qa
|
2020-05-18 22:40:13 -04:00
|
|
|
${INC_AFTER}
|
|
|
|
)
|
|
|
|
|
2020-04-18 00:46:01 +01:00
|
|
|
set( QA_EESCHEMA_SRCS
|
2019-04-23 09:18:15 +01:00
|
|
|
# need the mock Pgm for many functions
|
2022-02-11 18:57:28 +01:00
|
|
|
${CMAKE_SOURCE_DIR}/qa/mocks/kicad/common_mocks.cpp
|
2019-04-23 09:18:15 +01:00
|
|
|
|
2019-04-02 13:36:12 +01:00
|
|
|
# The main test entry points
|
2020-11-14 22:00:12 +00:00
|
|
|
test_module.cpp
|
2019-04-02 13:36:12 +01:00
|
|
|
|
2019-12-30 18:28:00 +00:00
|
|
|
# Base internal units (1=100nm) testing.
|
|
|
|
test_sch_biu.cpp
|
|
|
|
|
2020-07-16 15:11:31 +01:00
|
|
|
# Shared between programs, but dependent on the BIU
|
2023-04-24 18:40:57 -04:00
|
|
|
${CMAKE_SOURCE_DIR}/qa/tests/common/test_format_units.cpp
|
|
|
|
${CMAKE_SOURCE_DIR}/qa/tests/common/test_array_options.cpp
|
2020-07-16 15:11:31 +01:00
|
|
|
|
2023-12-19 17:39:26 +00:00
|
|
|
sch_io/altium/test_altium_parser_sch.cpp
|
2021-02-04 20:16:34 +01:00
|
|
|
|
2024-05-03 12:04:41 -07:00
|
|
|
erc/test_erc_four_way.cpp
|
2022-09-06 13:26:36 -07:00
|
|
|
erc/test_erc_label_not_connected.cpp
|
2024-11-22 23:26:31 +00:00
|
|
|
erc/test_erc_multiple_pin_to_pin.cpp
|
2022-09-06 13:26:36 -07:00
|
|
|
erc/test_erc_stacking_pins.cpp
|
2024-04-06 16:46:14 +02:00
|
|
|
erc/test_erc_label_names.cpp
|
2022-09-06 13:26:36 -07:00
|
|
|
erc/test_erc_global_labels.cpp
|
2022-12-07 21:15:29 +00:00
|
|
|
erc/test_erc_no_connect.cpp
|
2023-01-21 23:25:40 +00:00
|
|
|
erc/test_erc_hierarchical_schematics.cpp
|
2024-07-09 10:05:30 -07:00
|
|
|
erc/test_erc_label_multiple_wires.cpp
|
2024-07-22 23:16:08 +01:00
|
|
|
erc/test_erc_unconnected_wire_endpoints.cpp
|
2025-01-03 18:13:30 +00:00
|
|
|
erc/test_erc_wire_bus_entry.cpp
|
2025-08-07 13:02:55 -07:00
|
|
|
erc/test_erc_ground_pins.cpp
|
2022-09-06 13:26:36 -07:00
|
|
|
|
2025-06-11 08:42:17 -07:00
|
|
|
test_annotation_refdes_tracker_units.cpp
|
|
|
|
test_annotation_units_conflicts.cpp
|
|
|
|
test_annotation_units_integration.cpp
|
2024-12-10 11:10:19 -08:00
|
|
|
test_connectivity_algo.cpp
|
2025-08-19 13:17:46 -07:00
|
|
|
test_crossing_label.cpp
|
2019-04-02 13:36:12 +01:00
|
|
|
test_eagle_plugin.cpp
|
2024-05-17 20:28:22 +08:00
|
|
|
test_junction_helpers.cpp
|
2025-08-24 10:21:23 -07:00
|
|
|
test_junction_place.cpp
|
2025-08-03 09:17:19 -07:00
|
|
|
test_bus_entry_concurrency.cpp
|
2019-04-23 09:18:15 +01:00
|
|
|
test_lib_part.cpp
|
2025-08-05 16:10:17 -07:00
|
|
|
test_ee_grid_helper.cpp
|
2022-04-12 16:37:06 +02:00
|
|
|
test_netlist_exporter_kicad.cpp
|
2021-11-29 22:19:43 +01:00
|
|
|
test_ee_item.cpp
|
2024-04-10 16:40:43 -07:00
|
|
|
test_incremental_netlister.cpp
|
2023-02-20 12:55:02 -05:00
|
|
|
test_legacy_power_symbols.cpp
|
2025-08-07 20:43:15 -07:00
|
|
|
test_sch_commit.cpp
|
2025-08-29 17:37:04 -07:00
|
|
|
test_shape_corner_radius.cpp
|
2025-04-08 14:45:45 -04:00
|
|
|
test_sch_group.cpp
|
2022-04-19 14:43:32 -07:00
|
|
|
test_pin_numbers.cpp
|
2023-04-06 17:37:09 -07:00
|
|
|
test_sch_netclass.cpp
|
2019-04-23 09:18:15 +01:00
|
|
|
test_sch_pin.cpp
|
2019-06-25 16:39:58 -07:00
|
|
|
test_sch_rtree.cpp
|
2022-04-17 23:23:22 +02:00
|
|
|
test_sch_reference_list.cpp
|
2025-03-16 12:39:06 -04:00
|
|
|
test_sch_screen.cpp
|
2019-04-23 09:18:15 +01:00
|
|
|
test_sch_sheet.cpp
|
|
|
|
test_sch_sheet_path.cpp
|
2020-10-18 16:30:37 -04:00
|
|
|
test_sch_sheet_list.cpp
|
2020-04-16 12:43:50 -04:00
|
|
|
test_sch_symbol.cpp
|
2024-09-27 13:09:50 -04:00
|
|
|
test_schematic.cpp
|
2023-10-09 14:58:49 -04:00
|
|
|
test_symbol_library_manager.cpp
|
2025-09-04 17:32:04 -07:00
|
|
|
test_stacked_pin_nomenclature.cpp
|
|
|
|
test_stacked_pin_conversion.cpp
|
|
|
|
test_pin_stacked_layout.cpp
|
|
|
|
test_netlist_exporter_xml_stacked.cpp
|
2025-08-02 20:38:54 -07:00
|
|
|
test_resolve_drivers.cpp
|
2025-08-20 10:07:46 -07:00
|
|
|
test_saveas_copy_subsheets.cpp
|
2025-08-03 08:08:32 -07:00
|
|
|
test_update_items_connectivity.cpp
|
2020-04-18 00:46:01 +01:00
|
|
|
)
|
|
|
|
|
2022-08-08 21:25:31 -04:00
|
|
|
if( WIN32 )
|
|
|
|
# We want to declare a resource manifest on Windows to enable UTF8 mode
|
2023-10-09 14:58:49 -04:00
|
|
|
# Without UTF8 mode, some random IO tests may fail, we set the active code page on normal
|
|
|
|
# kicad to UTF8 as well.
|
2022-08-08 21:25:31 -04:00
|
|
|
if( MINGW )
|
|
|
|
# QA_EESCHEMA_RESOURCES variable is set by the macro.
|
|
|
|
mingw_resource_compiler( qa_eeschema )
|
|
|
|
else()
|
|
|
|
set( QA_EESCHEMA_RESOURCES ${CMAKE_SOURCE_DIR}/resources/msw/qa_eeschema.rc )
|
|
|
|
endif()
|
|
|
|
endif()
|
|
|
|
|
2020-04-18 00:46:01 +01:00
|
|
|
add_executable( qa_eeschema
|
|
|
|
${QA_EESCHEMA_SRCS}
|
2022-08-08 21:25:31 -04:00
|
|
|
${QA_EESCHEMA_RESOURCES}
|
2019-04-02 13:36:12 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
target_link_libraries( qa_eeschema
|
2022-08-08 18:41:57 -04:00
|
|
|
PRIVATE
|
2022-01-01 21:21:49 -05:00
|
|
|
eeschema_kiface_objects
|
2019-04-02 13:36:12 +01:00
|
|
|
common
|
2025-01-05 10:15:28 -08:00
|
|
|
kicommon
|
2020-05-18 22:40:13 -04:00
|
|
|
pcbcommon
|
2023-05-24 08:39:25 -04:00
|
|
|
3d-viewer
|
2021-03-18 06:28:04 -07:00
|
|
|
scripting
|
2020-03-10 11:04:05 -04:00
|
|
|
kimath
|
2019-04-02 13:36:12 +01:00
|
|
|
qa_utils
|
2022-09-06 13:26:36 -07:00
|
|
|
qa_schematic_utils
|
2019-12-29 14:07:17 +01:00
|
|
|
markdown_lib
|
2019-04-02 13:36:12 +01:00
|
|
|
${GDI_PLUS_LIBRARIES}
|
2023-03-10 13:22:42 +00:00
|
|
|
Boost::headers
|
|
|
|
Boost::unit_test_framework
|
2019-04-02 13:36:12 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
# Eeschema tests, so pretend to be eeschema (for units, etc)
|
|
|
|
target_compile_definitions( qa_eeschema
|
|
|
|
PUBLIC EESCHEMA
|
2019-04-02 16:35:25 +01:00
|
|
|
)
|
|
|
|
|
2020-07-16 15:11:31 +01:00
|
|
|
kicad_add_boost_test( qa_eeschema qa_eeschema )
|
2025-01-04 22:08:06 -05:00
|
|
|
|
2025-03-16 12:39:06 -04:00
|
|
|
setup_qa_env( qa_eeschema )
|