if(MAKE_TESTS AND (UNIX AND NOT APPLE))

  message(\n${BoldRed}"Now configuring src/tests for ${CMAKE_PROJECT_NAME}"${ColourReset}\n)
  message("TARGET is: ${TARGET}")

  message("non gui files: ${${TARGET}_nongui_SRCS}")

  ########################################################
  # Files

  set(tests_SRCS

    # The main() of the tests executable file
    testmain.cpp

    # Files for the tests
    )

  find_package(Catch2 REQUIRED)


  # Instruct CMake to run moc automatically when needed.
  set(CMAKE_AUTOMOC ON)

  find_package(Qt5 COMPONENTS Widgets Xml Svg)

  qt5_wrap_ui(tests_UIS_H ${${TARGET}_UIS})

  qt5_add_resources(tests_QRC_CPP ../minexpert2.qrc)

  add_executable(tests
    ${tests_SRCS}
    ${tests_UIS_H}
    ${tests_QRC_CPP})

  target_compile_definitions(tests PRIVATE TESTS) #add -DTESTS
  set_property(TARGET tests PROPERTY CXX_STANDARD 17) # we want C++17

  qt5_use_modules(tests Widgets)
  qt5_use_modules(tests Xml)
  qt5_use_modules(tests Svg)
  qt5_use_modules(tests PrintSupport)

  #message("CMAKE_SOURCE_DIR: ${CMAKE_SOURCE_DIR}")

  include_directories(
    ${CMAKE_SOURCE_DIR}

    ${CMAKE_SOURCE_DIR}/src/nongui
    ${CMAKE_SOURCE_DIR}/src/gui

    ${CMAKE_CURRENT_SOURCE_DIR}

    ${Qt5Widgets_INCLUDE_DIRS}
    ${Qt5Xml_INCLUDE_DIRS}
    ${Qt5Svg_INCLUDE_DIRS}
    ${Qt5PrintSupport_INCLUDE_DIRS}
    )

  target_include_directories(tests PRIVATE
    ${INCLUDE_DIRECTORIES}
    )

  set(required_target_link_libraries
    Qt5::Widgets
    Qt5::Xml
    Qt5::Svg
    Qt5::PrintSupport
    QCustomPlot::QCustomPlot
    IsoSpec++::IsoSpec++
    PappsoMSpp::Core
    PappsoMSpp::Widget
    Catch2::Catch2
    )

  target_link_libraries(tests
    ${required_target_link_libraries})

  #add_test(tests "All Catch2-based tests")
  add_test(tests "tests")

  message("")
  message(STATUS "${BoldGreen}Finished processing src/tests.${ColourReset}")
  message("")

else()
  message(STATUS "Tests are not built.")
endif()


