33 lines
811 B
CMake
33 lines
811 B
CMake
cmake_minimum_required(VERSION 3.20)
|
|
|
|
project(
|
|
hello
|
|
VERSION 0.1.0
|
|
LANGUAGES CXX)
|
|
|
|
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
|
|
|
|
include(ExportCompileCommands)
|
|
include(sccache)
|
|
|
|
if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)
|
|
include(CTest)
|
|
endif()
|
|
|
|
include(FetchContent)
|
|
|
|
configure_file("${PROJECT_SOURCE_DIR}/include/version.h.in"
|
|
"${PROJECT_BINARY_DIR}/include/version.h")
|
|
|
|
add_executable(hello src/main.cpp src/null.cpp src/constexp.cpp
|
|
src/ifswitch.cpp src/initlist.cpp)
|
|
|
|
target_compile_features(hello PUBLIC cxx_std_20)
|
|
|
|
target_include_directories(hello PRIVATE "${PROJECT_BINARY_DIR}/include"
|
|
"${PROJECT_SOURCE_DIR}/include")
|
|
|
|
if(CMAKE_PROJECT_NAME STREQUAL PROJECT_NAME)
|
|
add_subdirectory(tests)
|
|
endif()
|