cmake_minimum_required(VERSION 3.0) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) project(cxxformat) add_library(cxxformat INTERFACE include/cxxformat/cxxformat include/cxxformat/core.hpp include/cxxformat/file_ptr.hpp include/cxxformat/formatters.hpp include/cxxformat/helpers.hpp include/cxxformat/ostream.hpp include/cxxformat/runtime.hpp include/cxxformat/string.hpp ) target_include_directories(cxxformat INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/include") target_compile_features(cxxformat INTERFACE cxx_std_20) add_executable(test EXCLUDE_FROM_ALL main.cpp) target_link_libraries(test PRIVATE cxxformat)