We want to make CMake scale cleanly so that: Adding a new tutorial folder is easy Each executable is independent each subproject would still require CMakeLists
28 lines
684 B
CMake
28 lines
684 B
CMake
cmake_minimum_required(VERSION 3.25)
|
|
|
|
project(LearningCPP
|
|
VERSION 0.1
|
|
LANGUAGES CXX
|
|
)
|
|
|
|
set(CMAKE_CXX_STANDARD 23)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
|
|
|
|
|
|
|
#add_subdirectory(tut1)
|
|
#add_subdirectory(tut2)
|
|
# vcpkg toolchain (already integrated)
|
|
if(DEFINED ENV{VCPKG_ROOT})
|
|
set(CMAKE_TOOLCHAIN_FILE "$ENV{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake" CACHE STRING "")
|
|
endif()
|
|
|
|
# Add subdirectories automatically
|
|
file(GLOB SUBDIRS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/tut*)
|
|
foreach(subdir ${SUBDIRS})
|
|
if(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${subdir})
|
|
add_subdirectory(${subdir})
|
|
endif()
|
|
endforeach()
|