cmake-init 누락 된 CMAKE 프로젝트 이니셜 라이저 cmake-init FetchContent Ready, 별도의 소비자 및 개발자 목표를 제공하고 적절한 재배치 가능한 CMAKE 패키지와 함께 설치 규칙을 제공하고 최신 CMAKE (3.14+)를 제공하는 CMAKE 프로젝트를 생성하는 의견이 많은 CMAKE 프로젝트 이니셜 라이저입니다.
CMAKE-Init의 출력 및 패키지 관리자, 퍼즈 테스트, 슈퍼 보일드 등과 같은 CMAKE를 위해 구현 된 기능의 기타 실용적인 예를 예로 들어 Wiki를 참조하십시오.






CMAKE 관련 항목에 대해 저에게 연락하려면 C ++ Slack의 #cmake 채널에서 저를 찾을 수 있습니다. 당신이 알고 싶은 것이 cmake-init 특정 인 경우이 저장소의 토론에서 질문을 할 수도 있습니다.
h 선택하십시오. 정적/공유 라이브러리? 프롬프트되면 s 선택하십시오. 간단 하고 정확합니다!FetchContent Ready Projects를 만듭니다이러한 프로그램이 설치되어 있는지 확인하십시오.
메모
이러한 도구 중 일부는 Visual Studio를 사용하려면 Windows에서도 사용할 수 있지만 다음과 같은 addins를 설치해야합니다.
이 패키지는 PYPI에서 다운로드 할 수 있습니다. pip 사용 하여이 패키지를 설치할 수 있습니다.
pip install cmake-init Clang-Tidy는 코드가 컴파일되기 전에 논리적 오류를 발견하는 데 도움이되는 정적 분석 도구입니다. 이 스크립트는 dev 설정에서 clang-tidy Preset을 상속받을 수있는 옵션을 제공 하여이 도구의 CMAKE 통합을 가능하게합니다.
CI는 항상 Clang-Tidy를 실행하므로 로컬로 설치하고 사용하는 것이 전적으로 선택 사항이지만 권장됩니다.
Windows 사용자의 경우 Clang-Tidy dev 사용하려면 Ninja를 설치하고 generator 필드를 Ninja 로 설정해야합니다. 그 이유는 Makefiles와 Ninja 만 Cmake와 함께 Clang-Tidy와 함께 사용되기 때문입니다. 다른 발전기의 경우이 기능은 No-OP입니다.
CPPCheck은 Clang-Tidy와 유사한 정적 분석 도구이지만, 그들이 감지하는 내용의 중첩은 최소이므로 두 가지를 모두 사용하는 것이 좋습니다. 이 스크립트는 dev Preset에서 cppcheck 사전 설정을 상속받을 수있는 옵션을 제공 하여이 도구의 CMAKE 통합을 가능하게합니다.
CI는 항상 CPPCheck을 실행하므로 로컬로 설치하고 사용하는 것이 전적으로 선택 사항이지만 권장됩니다.
Windows 사용자의 경우 CPPCheck dev 사용하려면 Ninja를 설치하고 generator 필드를 Ninja 로 설정해야합니다. 그 이유는 CPPCheck과 함께 사용하기 위해 CMAKE와 함께 MakeFiles와 Ninja 만 지원되기 때문입니다. 다른 발전기의 경우이 기능은 No-OP입니다.
Doxygen은 주석이 달린 소스 코드에서 문서를 생성하는 도구입니다. 이와 함께 M.CSS는 생성 된 문서를 제시하는 데 사용됩니다.
생성 된 프로젝트는 개발자 모드에 docs 대상이 있으며, 이는 <binary-dir>/docs/html 디렉토리로 문서를 작성하는 데 사용할 수 있습니다.
Doxygen이 설치된 후 PATH 에 doxygen 실행 파일이 존재하는지 확인하십시오. 그렇지 않으면 혼란스러운 오류 메시지가 발생할 수 있습니다.
이 문서는 생성 된 CI 워크 플로에서 docs 작업을 사용하여 GitHub 페이지에 배포 될 수 있습니다. 작업에 남은 의견을 따르려면이를 가능하게하십시오.
참고 : M.CSS는 doxygen> = 1.9에서 작동하지 않습니다. docs 대상을 사용하려면 1.8.20을 설치할 수 있습니다. 문제 #41 및 #48을 참조하십시오.
LCOV는 GCC의 gcov 로 계측 된 실행 파일로 생성 된 커버리지 정보를 처리하는 도구입니다. 이 커버리지 정보는 프로그램의 어떤 부분이 실행되었는지 확인하는 데 사용될 수 있습니다.
ENABLE_COVERAGE 변수가 활성화되면 생성 된 프로젝트는 개발자 모드에서 coverage 대상이됩니다. CTEST의 내장 coverage 단계 대신 별도의 대상이 사용되는 이유는 필요한 사용자 정의가 부족하기 때문입니다. 이 대상은 테스트 후에 실행해야하며 기본적으로 <binary-dir>/coverage.info 에서 보고서와 <binary-dir>/coverage_html 디렉토리에서 HTML 보고서를 생성합니다.
Windows 사용자의 경우 OpenCPPCoverage라는 유사한 도구를 사용할 수 있습니다. 여기서 생성 된 cmake 디렉토리에 예제 스크립트가 있습니다. 이 스크립트는 Linux VM이 GitHub 작업에서 더 빨리 시작되고 실행되므로 커버리지 제출에 사용 되므로이 스크립트는 예로 남겨집니다.
Clang-Format는 Clang-Tidy와 유사한 LLVM 도구 제품군의 일부입니다. 스타일 가이드를 시행하는 데 사용할 수있는 코드 라이터 및 코드 포맷터입니다.
format-check 및 format-fix 대상을 사용하여 개발자 모드에서 코드를 확인하고 수정하기 위해 두 가지 대상이 제공됩니다.
참고 :이 프로젝트는 Clang-Format 14에 따라 형식화 된 파일을 생성합니다. 최신 또는 이전 버전은 프로젝트를 다르게 형식화 할 수 있습니다.
Codespell은 주로 소스 코드에서 철자 오류를 찾고 수정하는 도구입니다.
spell-check 및 spell-fix 대상을 사용하여 개발자 모드에서 각각 철자 오류를 확인하고 수정하기 위해 두 가지 대상이 제공됩니다.
-p 플래그를 사용하여 프로젝트의 패키지 관리자를 선택할 수 있습니다. 깃발에 대한 인수는 다음과 같습니다.
none : 패키지 관리자 통합 없음 (기본값)conan : 코난 통합vcpkg : VCPKG 통합패키지 관리자를 사용할 때 다음 패키지는 생성 된 프로젝트에서 사용됩니다.
생성 된 해킹 문서를 읽고 종속성을 가져 오기 위해해야 할 일을 확인하십시오.
cmake-init [--c] <path>-s , -e 또는 -h 플래그를 전달할 수 있습니다. --c 스위치는 생성 된 프로젝트 유형을 C ++ 대신 C로 설정합니다.cmake-init --help cmake-init 는 무료 소프트웨어입니다. 의지에 따라 사용, 연구, 공유 및 개선 할 수 있습니다. 특히 무료 소프트웨어 재단 (Free Software Foundation), 라이센스의 버전 3 또는 이후 버전 (옵션)에서 게시 한 GNU 일반 공개 라이센스의 조건에 따라 재분배 및/또는 수정할 수 있습니다.
디렉토리 cmake-init/templates 의 내용은 라이센스 라이센스를 사용하여 라이센스가 부여됩니다. 자세한 내용은 해당 디렉토리의 라이센스를 참조하십시오.