
find_package(Catch2 REQUIRED)



qt6_add_resources(spec_RCC_SRCS "../../src/resources.qrc")
# File list
set(SPOMS_CPP_FILES
    ${CMAKE_SOURCE_DIR}/src/core/spoms/spomsutils.cpp
    ${CMAKE_SOURCE_DIR}/src/core/spoms/aaposition.cpp
    ${CMAKE_SOURCE_DIR}/src/core/spoms/alignment.cpp
    ${CMAKE_SOURCE_DIR}/src/core/spoms/alignmentbucket.cpp
    ${CMAKE_SOURCE_DIR}/src/core/spoms/complementarypeak.cpp
    ${CMAKE_SOURCE_DIR}/src/core/spoms/interpretationbackup.cpp
    ${CMAKE_SOURCE_DIR}/src/core/spoms/interpretationsaver.cpp
    ${CMAKE_SOURCE_DIR}/src/core/spoms/location.cpp
    ${CMAKE_SOURCE_DIR}/src/core/spoms/locationbackup.cpp
    ${CMAKE_SOURCE_DIR}/src/core/spoms/peptidemodel.cpp
    ${CMAKE_SOURCE_DIR}/src/core/spoms/protein.cpp
    ${CMAKE_SOURCE_DIR}/src/core/spoms/protein_list.cpp
    ${CMAKE_SOURCE_DIR}/src/core/spoms/scenario.cpp
    ${CMAKE_SOURCE_DIR}/src/core/spoms/transformedspectrum.cpp
)


# These source files are compiled into a single Catch2-based test binary.
set(catch2_benchmark_cpp_SRCS
    benchmark_alignment.cpp
    benchmark_alignment_ng.cpp
    ../common.cpp
    ${SPOMS_CPP_FILES} ${spec_RCC_SRCS}
  )


add_executable(catch2-benchmark-tests
    ${catch2_benchmark_cpp_SRCS}
  )


set(required_target_link_libraries
      PappsoMSpp::Core
      Catch2::Catch2
      Catch2::Catch2WithMain
      Qt6::Core
      Qt6::Widgets
      Qt6::Sql
      Qt6::Qml
      Boost::chrono
  )


target_link_libraries(catch2-benchmark-tests
    ${required_target_link_libraries})

# Add the Catch2-based single binary test file to the CMake's test suite so
# that it gets called using 'make test'. To see the output, add "ARGS=-V" to
# the call.
add_test(catch2-benchmark-tests "catch2-benchmark-tests")
