cmake_minimum_required(VERSION 3.24)
project(GFPS_16 LANGUAGES CXX CUDA)
find_package(Boost REQUIRED)
find_package(Threads REQUIRED)
if(NOT DEFINED CMAKE_CUDA_ARCHITECTURES)
 set(CMAKE_CUDA_ARCHITECTURES 86 89 100 120)
endif()
add_executable(GFPS_16 GFPS_16.cu)
set_target_properties(GFPS_16 PROPERTIES CXX_STANDARD 17 CUDA_STANDARD 17 CUDA_RUNTIME_LIBRARY Static)
target_include_directories(GFPS_16 PRIVATE ${Boost_INCLUDE_DIRS})
target_link_libraries(GFPS_16 PRIVATE Threads::Threads ${CMAKE_DL_LIBS})
if(MSVC)
 target_compile_options(GFPS_16 PRIVATE $<$<COMPILE_LANGUAGE:CUDA>:-Xcompiler=/utf-8,/Zc:preprocessor>)
else()
 target_link_options(GFPS_16 PRIVATE -static-libstdc++ -static-libgcc)
endif()
