cmake_minimum_required(VERSION 3.10) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) add_compile_options(-Wall) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Debug) endif() message("Build type is [${CMAKE_BUILD_TYPE}]") project(algorithm2024cpp17) include_directories(${CMAKE_CURRENT_LIST_DIR}/src/include) file(GLOB_RECURSE SRC_LIST CONFIGURE_DEPENDS ${CMAKE_CURRENT_LIST_DIR}/src/*.cpp) foreach(SRC IN LISTS SRC_LIST) get_filename_component(SRC_NAME_WE ${SRC} NAME_WE) message("[${SRC}] will be build to [${SRC_NAME_WE}]") add_executable(${SRC_NAME_WE} ${SRC}) endforeach()