cmake_minimum_required(VERSION 3.24)
project(MonetaMiner LANGUAGES CXX)

add_executable(MonetaMiner moneta_miner.cpp)
target_compile_features(MonetaMiner PRIVATE cxx_std_20)
target_compile_definitions(MonetaMiner PRIVATE UNICODE _UNICODE WIN32_LEAN_AND_MEAN NOMINMAX)
target_link_libraries(MonetaMiner PRIVATE winhttp bcrypt)
add_custom_command(TARGET MonetaMiner POST_BUILD
  COMMAND ${CMAKE_COMMAND} -E copy_if_different
          "${CMAKE_CURRENT_SOURCE_DIR}/../moneta_core/monetamem.cl"
          "$<TARGET_FILE_DIR:MonetaMiner>/monetamem.cl")
if(MSVC)
  target_compile_options(MonetaMiner PRIVATE /W4 /permissive- /EHsc /utf-8)
  target_link_options(MonetaMiner PRIVATE /INCREMENTAL:NO)
endif()
