From 517afc577655e892e942ef4ef9b47abae9c0081d Mon Sep 17 00:00:00 2001 From: gitRaiku Date: Tue, 30 Jun 2026 13:57:36 +0300 Subject: [PATCH] himbaechel: Merge all test entrypoints into one This commit merges every main() for every uarch into asingle one. This fixes a build error when building tests for every uarch at once. Signed-off-by: gitRaiku --- himbaechel/CMakeLists.txt | 10 ++++++ .../gatemate/tests/main.cc => test_main.cc} | 0 himbaechel/uarch/gatemate/CMakeLists.txt | 1 - himbaechel/uarch/ng-ultra/CMakeLists.txt | 1 - himbaechel/uarch/ng-ultra/tests/main.cc | 32 ------------------- 5 files changed, 10 insertions(+), 34 deletions(-) rename himbaechel/{uarch/gatemate/tests/main.cc => test_main.cc} (100%) delete mode 100644 himbaechel/uarch/ng-ultra/tests/main.cc diff --git a/himbaechel/CMakeLists.txt b/himbaechel/CMakeLists.txt index daab3850..cae99db8 100644 --- a/himbaechel/CMakeLists.txt +++ b/himbaechel/CMakeLists.txt @@ -15,6 +15,10 @@ set(HIMBAECHEL_SOURCES himbaechel_helpers.h ) +set(HIMBAECHEL_TEST_SOURCES + test_main.cc +) + if (HIMBAECHEL_SPLIT) function(add_nextpnr_himbaechel_microarchitecture microtarget) @@ -23,6 +27,9 @@ if (HIMBAECHEL_SPLIT) list(TRANSFORM arg_CORE_SOURCES PREPEND ${CMAKE_CURRENT_SOURCE_DIR}/) list(TRANSFORM arg_TEST_SOURCES PREPEND ${CMAKE_CURRENT_SOURCE_DIR}/) + list(TRANSFORM HIMBAECHEL_TEST_SOURCES PREPEND ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/) + list(APPEND arg_TEST_SOURCES ${HIMBAECHEL_TEST_SOURCES}) + add_nextpnr_architecture(himbaechel-${microtarget} CORE_SOURCES ${HIMBAECHEL_SOURCES} MAIN_SOURCE main.cc @@ -47,6 +54,9 @@ else() function(add_nextpnr_himbaechel_microarchitecture microtarget) cmake_parse_arguments(arg "" "" "CORE_SOURCES;TEST_SOURCES" ${ARGN}) + list(TRANSFORM HIMBAECHEL_TEST_SOURCES PREPEND ${CMAKE_CURRENT_FUNCTION_LIST_DIR}/) + list(APPEND arg_TEST_SOURCES ${HIMBAECHEL_TEST_SOURCES}) + target_sources(nextpnr-himbaechel-core INTERFACE ${arg_CORE_SOURCES}) add_library(nextpnr-himbaechel-${microtarget}-bba INTERFACE EXCLUDE_FROM_ALL) diff --git a/himbaechel/uarch/gatemate/tests/main.cc b/himbaechel/test_main.cc similarity index 100% rename from himbaechel/uarch/gatemate/tests/main.cc rename to himbaechel/test_main.cc diff --git a/himbaechel/uarch/gatemate/CMakeLists.txt b/himbaechel/uarch/gatemate/CMakeLists.txt index 19ba8436..5a1d2e5b 100644 --- a/himbaechel/uarch/gatemate/CMakeLists.txt +++ b/himbaechel/uarch/gatemate/CMakeLists.txt @@ -27,7 +27,6 @@ set(SOURCES set(TEST_SOURCES tests/lut.cc tests/testing.cc - tests/main.cc ) add_nextpnr_himbaechel_microarchitecture(${uarch} diff --git a/himbaechel/uarch/ng-ultra/CMakeLists.txt b/himbaechel/uarch/ng-ultra/CMakeLists.txt index 02ddbfb4..d0704c88 100644 --- a/himbaechel/uarch/ng-ultra/CMakeLists.txt +++ b/himbaechel/uarch/ng-ultra/CMakeLists.txt @@ -14,7 +14,6 @@ set(SOURCES set(TEST_SOURCES tests/lut_dff.cc - tests/main.cc ) add_nextpnr_himbaechel_microarchitecture(${uarch} diff --git a/himbaechel/uarch/ng-ultra/tests/main.cc b/himbaechel/uarch/ng-ultra/tests/main.cc deleted file mode 100644 index 92e027f2..00000000 --- a/himbaechel/uarch/ng-ultra/tests/main.cc +++ /dev/null @@ -1,32 +0,0 @@ -/* - * nextpnr -- Next Generation Place and Route - * - * Copyright (C) 2024 The Project Beyond Authors. - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - */ - -#include -#include "gtest/gtest.h" -#include "log.h" - -USING_NEXTPNR_NAMESPACE - -int main(int argc, char **argv) -{ - // TODO: Remove for delivery, useful while checking tests - log_streams.push_back(std::make_pair(&std::cerr, LogLevel::LOG_MSG)); - ::testing::InitGoogleTest(&argc, argv); - return RUN_ALL_TESTS(); -}