cmake_minimum_required(VERSION 3.25)
project(cg1)

set(CMAKE_CXX_STANDARD 23)

find_package(Qt5 REQUIRED COMPONENTS Core Widgets Gui)
set(CMAKE_AUTOMOC ON)

enable_language(ASM_NASM)

option(__AVX2__ "Tells compiler to use AVX2 extension if possible" OFF)

if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
    if (__AVX2__)
        add_compile_options($<$<COMPILE_LANGUAGE:CXX>:/arch:AVX2>)
    endif ()
endif ()

add_subdirectory(renderer-api)
add_subdirectory(utilities)
add_subdirectory(qt-utilities)
add_subdirectory(programs/labs1_2)
add_subdirectory(programs/lab3)