cmake_minimum_required(VERSION 3.15)

project(CLIGevServerSpeedtest)

# Use modern C++
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

# Find CVB
file(TO_CMAKE_PATH "$ENV{CVB}/cmake" CVB_MODULE_PATH)
set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" "${CVB_MODULE_PATH}")
find_package(CVB REQUIRED)

# Define the executable
add_executable(${PROJECT_NAME} WIN32
  main.cpp
  CLI11.hpp
  cmdline_parser.cpp
  cmdline_parser.hpp
  ramp_image.hpp
  ramp_image.cpp
)

# Link CVB libraries
target_link_libraries(${PROJECT_NAME}
  CVB::CvbGevServer
)

# Optional: Add pthread on Linux
if(UNIX)
  target_link_libraries(${PROJECT_NAME} pthread)
endif()

# Force console subsystem so main() is used instead of WinMain()
set_target_properties(${PROJECT_NAME} PROPERTIES WIN32_EXECUTABLE OFF)

# Optional: installation command for CVB tutorials, macro provided by CVB

