cmake_minimum_required(VERSION 3.10) project(CppLinterTemplate) # 設定 C++ 標準(針對舊代碼) set(CMAKE_CXX_STANDARD 98) set(CMAKE_CXX_STANDARD_REQUIRED ON) # 編譯選項 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra") # 尋找 clang-tidy find_program(CLANG_TIDY_EXE NAMES "clang-tidy") if(CLANG_TIDY_EXE) message(STATUS "Found clang-tidy: ${CLANG_TIDY_EXE}") option(ENABLE_CLANG_TIDY "Enable clang-tidy checks" OFF) endif() # 原始碼 add_executable(main src/main.cpp src/utils.cpp ) target_include_directories(main PRIVATE src) # 如果啟用 clang-tidy if(CLANG_TIDY_EXE AND ENABLE_CLANG_TIDY) set_target_properties(main PROPERTIES CXX_CLANG_TIDY "${CLANG_TIDY_EXE};--config-file=${CMAKE_SOURCE_DIR}/.clang-tidy" ) endif() # 測試執行檔 add_executable(tests tests/test_main.cpp src/utils.cpp ) target_include_directories(tests PRIVATE src)