cmake_minimum_required(VERSION 3.15)
project(lectures/03openmp)

set(CMAKE_CXX_STANDARD 20)

# target the instruction set of the current CPU
add_compile_options("-march=native")
# enable LTO
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION TRUE)
# enable more warnings
add_compile_options("-Wall" "-Wextra" "-Wpedantic" "-Wno-unused-parameter")

find_package(OpenMP REQUIRED)
link_libraries(OpenMP::OpenMP_CXX)


file(GLOB SRC_FILES CONFIGURE_DEPENDS src/*.cpp)
foreach(SRC_FILE ${SRC_FILES})
    get_filename_component(TARGET_NAME ${SRC_FILE} NAME_WE)
    add_executable(${TARGET_NAME} ${SRC_FILE})
endforeach()
