refactor: cleanup cmake, fix benchmar/tests

This commit is contained in:
parker
2025-07-11 19:42:44 +01:00
parent 6512d44b9b
commit 8523d7e271
3 changed files with 63 additions and 69 deletions

View File

@@ -12,23 +12,18 @@ set(CMAKE_AUTORCC ON)
# setup project # setup project
project(enzo_project) project(enzo_project)
set(ENGINE_SOURCES
src/Engine/Operator/Attribute.cpp
src/Engine/Operator/Geometry.cpp
src/Engine/Operator/GeometryOperator.cpp
src/Engine/Operator/GeometryConnection.cpp
src/Engine/Operator/GeometryOpDef.cpp
src/Engine/Operator/GOP_test.cpp
src/Engine/Operator/GOP_transform.cpp
src/Engine/Network/NetworkManager.cpp
)
# qt set(GUI_SOURCES
find_package(Qt6 REQUIRED COMPONENTS Core Widgets SvgWidgets OpenGLWidgets)
qt_standard_project_setup()
# glm
find_package(glm REQUIRED)
# eigen (math)
find_package (Eigen3 3.3 REQUIRED NO_MODULE)
# tbb
find_package(TBB REQUIRED COMPONENTS TBB::tbb)
qt_add_executable(${AppExec}
static/resources.qrc static/resources.qrc
src/Gui/main.cpp src/Gui/main.cpp
src/Gui/Interface.cpp src/Gui/Interface.cpp
@@ -47,62 +42,59 @@ qt_add_executable(${AppExec}
src/Gui/Network/FloatingEdgeGraphic.cpp src/Gui/Network/FloatingEdgeGraphic.cpp
src/Gui/Network/DisplayFlagButton.cpp src/Gui/Network/DisplayFlagButton.cpp
src/Gui/Network/NodeIconGraphic.cpp src/Gui/Network/NodeIconGraphic.cpp
)
src/Engine/Operator/Attribute.cpp # qt
src/Engine/Operator/Geometry.cpp find_package(Qt6 REQUIRED COMPONENTS Core Widgets SvgWidgets OpenGLWidgets)
src/Engine/Operator/GeometryOperator.cpp qt_standard_project_setup()
src/Engine/Operator/GeometryConnection.cpp
src/Engine/Operator/GeometryOpDef.cpp
src/Engine/Network/NetworkManager.cpp
src/Engine/Operator/GOP_test.cpp # glm
src/Engine/Operator/GOP_transform.cpp find_package(glm REQUIRED)
# eigen (math)
find_package (Eigen3 3.3 REQUIRED NO_MODULE)
# tbb
find_package(TBB REQUIRED COMPONENTS TBB::tbb)
qt_add_executable(${AppExec}
${GUI_SOURCES}
${ENGINE_SOURCES}
) )
target_link_libraries(${AppExec} PRIVATE Qt6::Core Qt6::Widgets Qt6::SvgWidgets Qt6::OpenGLWidgets glm::glm Eigen3::Eigen TBB::tbb) target_link_libraries(${AppExec} PRIVATE Qt6::Core Qt6::Widgets Qt6::SvgWidgets Qt6::OpenGLWidgets glm::glm Eigen3::Eigen TBB::tbb)
target_include_directories(${AppExec} PUBLIC src) target_include_directories(${AppExec} PUBLIC src)
# tests # tests
# Include(FetchContent) Include(FetchContent)
# FetchContent_Declare( FetchContent_Declare(
# Catch2 Catch2
# GIT_REPOSITORY https://github.com/catchorg/Catch2.git GIT_REPOSITORY https://github.com/catchorg/Catch2.git
# GIT_TAG v3.8.1 # or a later release GIT_TAG v3.8.1 # or a later release
# ) )
# FetchContent_MakeAvailable(Catch2) FetchContent_MakeAvailable(Catch2)
# add_executable(${TestExec} add_executable(${TestExec}
# tests/main-tests.cpp ${ENGINE_SOURCES}
# tests/OperatorTests.cpp tests/main-tests.cpp
# tests/NetworkTests.cpp tests/OperatorTests.cpp
tests/NetworkTests.cpp
)
target_link_libraries(${TestExec} PRIVATE Catch2::Catch2WithMain Eigen3::Eigen Qt6::Core TBB::tbb)
target_compile_definitions(${TestExec} PRIVATE UNIT_TEST)
target_include_directories(${TestExec} PUBLIC src)
# src/Engine/Operator/Attribute.cpp # benchmarks
# src/Engine/Operator/Geometry.cpp add_executable(${BenchExec}
# src/Engine/Operator/GeometryOperator.cpp ${ENGINE_SOURCES}
# src/Engine/Network/NetworkManager.cpp
# src/Engine/Operator/GeometryConnection.cpp
# src/Engine/Operator/GeometryOpDef.cpp
# src/Engine/Operator/GOP_test.cpp
# )
# target_link_libraries(${TestExec} PRIVATE Catch2::Catch2WithMain Eigen3::Eigen Qt6::Core TBB::tbb)
# target_compile_definitions(${TestExec} PRIVATE UNIT_TEST)
# target_include_directories(${TestExec} PUBLIC src)
# # benchmarks tests/Benchmarks.cpp
# add_executable(${BenchExec} )
# tests/Benchmarks.cpp target_link_libraries(${BenchExec} PRIVATE Catch2::Catch2WithMain Eigen3::Eigen Qt6::Core TBB::tbb)
target_compile_definitions(${BenchExec} PRIVATE UNIT_TEST)
# src/Engine/Operator/Attribute.cpp target_include_directories(${BenchExec} PUBLIC src)
# src/Engine/Operator/Geometry.cpp
# src/Engine/Operator/GeometryOperator.cpp
# src/Engine/Network/NetworkManager.cpp
# src/Engine/Operator/GeometryConnection.cpp
# src/Engine/Operator/GeometryOpDef.cpp
# src/Engine/Operator/GOP_test.cpp
# )
# target_link_libraries(${BenchExec} PRIVATE Catch2::Catch2WithMain Eigen3::Eigen Qt6::Core TBB::tbb)
# target_compile_definitions(${BenchExec} PRIVATE UNIT_TEST)
# target_include_directories(${BenchExec} PUBLIC src)

View File

@@ -4,6 +4,7 @@
#include "Engine/Network/NetworkManager.h" #include "Engine/Network/NetworkManager.h"
#include "Engine/Operator/GeometryOperator.h" #include "Engine/Operator/GeometryOperator.h"
#include "Engine/Types.h" #include "Engine/Types.h"
#include "Engine/Operator/GOP_test.h"
#include <iostream> #include <iostream>
struct NMReset struct NMReset
@@ -22,7 +23,7 @@ struct NMReset
TEST_CASE_METHOD(NMReset, "Network Manager") TEST_CASE_METHOD(NMReset, "Network Manager")
{ {
using namespace enzo; using namespace enzo;
nt::OpId startOp = nt::NetworkManager::addOperator(); nt::OpId startOp = nt::NetworkManager::addOperator(&GOP_test::ctor);
nt::OpId prevOp = startOp; nt::OpId prevOp = startOp;
std::vector<nt::OpId> prevOps; std::vector<nt::OpId> prevOps;
@@ -30,7 +31,7 @@ TEST_CASE_METHOD(NMReset, "Network Manager")
{ {
for(int i=0; i<4; ++i) for(int i=0; i<4; ++i)
{ {
nt::OpId newOp = nt::NetworkManager::addOperator(); nt::OpId newOp = nt::NetworkManager::addOperator(&GOP_test::ctor);
prevOps.push_back(newOp); prevOps.push_back(newOp);
nt::connectOperators(newOp, i, prevOp, 0); nt::connectOperators(newOp, i, prevOp, 0);
} }
@@ -40,7 +41,7 @@ TEST_CASE_METHOD(NMReset, "Network Manager")
for(int i=0; i<size(prevOpsBuffer); ++i) for(int i=0; i<size(prevOpsBuffer); ++i)
{ {
prevOps.clear(); prevOps.clear();
nt::OpId newOp = nt::NetworkManager::addOperator(); nt::OpId newOp = nt::NetworkManager::addOperator(GOP_test::ctor);
prevOps.push_back(newOp); prevOps.push_back(newOp);
nt::connectOperators(newOp, 0, prevOpsBuffer[i], 0); nt::connectOperators(newOp, 0, prevOpsBuffer[i], 0);

View File

@@ -4,6 +4,7 @@
#include "Engine/Network/NetworkManager.h" #include "Engine/Network/NetworkManager.h"
#include "Engine/Operator/GeometryOperator.h" #include "Engine/Operator/GeometryOperator.h"
#include "Engine/Types.h" #include "Engine/Types.h"
#include "Engine/Operator/GOP_test.h"
#include <iostream> #include <iostream>
struct NMReset struct NMReset
@@ -22,7 +23,7 @@ struct NMReset
TEST_CASE_METHOD(NMReset, "network fixture separation start") TEST_CASE_METHOD(NMReset, "network fixture separation start")
{ {
using namespace enzo; using namespace enzo;
nt::OpId newOpId = nt::NetworkManager::addOperator(); nt::OpId newOpId = nt::NetworkManager::addOperator(GOP_test::ctor);
REQUIRE(newOpId==1); REQUIRE(newOpId==1);
REQUIRE(nt::NetworkManager::isValidOp(1)); REQUIRE(nt::NetworkManager::isValidOp(1));
@@ -38,8 +39,8 @@ TEST_CASE_METHOD(NMReset, "network fixture separation end")
TEST_CASE_METHOD(NMReset, "network") TEST_CASE_METHOD(NMReset, "network")
{ {
using namespace enzo; using namespace enzo;
nt::OpId newOpId = nt::NetworkManager::addOperator(); nt::OpId newOpId = nt::NetworkManager::addOperator(GOP_test::ctor);
nt::OpId newOpId2 = nt::NetworkManager::addOperator(); nt::OpId newOpId2 = nt::NetworkManager::addOperator(GOP_test::ctor);
REQUIRE(nt::NetworkManager::isValidOp(newOpId)); REQUIRE(nt::NetworkManager::isValidOp(newOpId));
if(nt::NetworkManager::isValidOp(newOpId)) if(nt::NetworkManager::isValidOp(newOpId))
@@ -61,13 +62,13 @@ TEST_CASE_METHOD(NMReset, "network")
TEST_CASE_METHOD(NMReset, "reset") TEST_CASE_METHOD(NMReset, "reset")
{ {
using namespace enzo; using namespace enzo;
nt::OpId newOpId = nt::NetworkManager::addOperator(); nt::OpId newOpId = nt::NetworkManager::addOperator(GOP_test::ctor);
nt::NetworkManager::_reset(); nt::NetworkManager::_reset();
REQUIRE_FALSE(nt::NetworkManager::isValidOp(newOpId)); REQUIRE_FALSE(nt::NetworkManager::isValidOp(newOpId));
nt::OpId newOpId2 = nt::NetworkManager::addOperator(); nt::OpId newOpId2 = nt::NetworkManager::addOperator(GOP_test::ctor);
REQUIRE(nt::NetworkManager::isValidOp(newOpId2)); REQUIRE(nt::NetworkManager::isValidOp(newOpId2));