gitextract_noztjd02/ ├── .gitignore ├── .travis.yml ├── 01-basic/ │ ├── A-hello-cmake/ │ │ ├── CMakeLists.txt │ │ ├── README.adoc │ │ └── main.cpp │ ├── B-hello-headers/ │ │ ├── CMakeLists.txt │ │ ├── README.adoc │ │ ├── include/ │ │ │ └── Hello.h │ │ └── src/ │ │ ├── Hello.cpp │ │ └── main.cpp │ ├── C-static-library/ │ │ ├── CMakeLists.txt │ │ ├── README.adoc │ │ ├── include/ │ │ │ └── static/ │ │ │ └── Hello.h │ │ └── src/ │ │ ├── Hello.cpp │ │ └── main.cpp │ ├── D-shared-library/ │ │ ├── CMakeLists.txt │ │ ├── README.adoc │ │ ├── include/ │ │ │ └── shared/ │ │ │ └── Hello.h │ │ └── src/ │ │ ├── Hello.cpp │ │ └── main.cpp │ ├── E-installing/ │ │ ├── CMakeLists.txt │ │ ├── README.adoc │ │ ├── cmake-examples.conf │ │ ├── include/ │ │ │ └── installing/ │ │ │ └── Hello.h │ │ └── src/ │ │ ├── Hello.cpp │ │ └── main.cpp │ ├── F-build-type/ │ │ ├── CMakeLists.txt │ │ ├── README.adoc │ │ └── main.cpp │ ├── G-compile-flags/ │ │ ├── CMakeLists.txt │ │ ├── README.adoc │ │ └── main.cpp │ ├── H-third-party-library/ │ │ ├── CMakeLists.txt │ │ ├── README.adoc │ │ └── main.cpp │ ├── I-compiling-with-clang/ │ │ ├── CMakeLists.txt │ │ ├── README.adoc │ │ ├── main.cpp │ │ ├── pre_test.sh │ │ └── run_test.sh │ ├── J-building-with-ninja/ │ │ ├── CMakeLists.txt │ │ ├── README.adoc │ │ ├── main.cpp │ │ ├── pre_test.sh │ │ └── run_test.sh │ ├── K-imported-targets/ │ │ ├── CMakeLists.txt │ │ ├── README.adoc │ │ ├── main.cpp │ │ └── run_test.sh │ ├── L-cpp-standard/ │ │ ├── README.adoc │ │ ├── i-common-method/ │ │ │ ├── CMakeLists.txt │ │ │ ├── README.adoc │ │ │ └── main.cpp │ │ ├── ii-cxx-standard/ │ │ │ ├── CMakeLists.txt │ │ │ ├── README.adoc │ │ │ └── main.cpp │ │ └── iii-compile-features/ │ │ ├── CMakeLists.txt │ │ ├── README.adoc │ │ └── main.cpp │ └── README.adoc ├── 02-sub-projects/ │ ├── A-basic/ │ │ ├── CMakeLists.txt │ │ ├── README.adoc │ │ ├── subbinary/ │ │ │ ├── CMakeLists.txt │ │ │ └── main.cpp │ │ ├── sublibrary1/ │ │ │ ├── CMakeLists.txt │ │ │ ├── include/ │ │ │ │ └── sublib1/ │ │ │ │ └── sublib1.h │ │ │ └── src/ │ │ │ └── sublib1.cpp │ │ └── sublibrary2/ │ │ ├── CMakeLists.txt │ │ └── include/ │ │ └── sublib2/ │ │ └── sublib2.h │ └── README.adoc ├── 03-code-generation/ │ ├── README.adoc │ ├── configure-files/ │ │ ├── CMakeLists.txt │ │ ├── README.adoc │ │ ├── main.cpp │ │ ├── path.h.in │ │ └── ver.h.in │ └── protobuf/ │ ├── AddressBook.proto │ ├── CMakeLists.txt │ ├── README.adoc │ └── main.cpp ├── 04-static-analysis/ │ ├── README.adoc │ ├── clang-analyzer/ │ │ ├── CMakeLists.txt │ │ ├── README.adoc │ │ ├── run_test.sh │ │ ├── subproject1/ │ │ │ ├── CMakeLists.txt │ │ │ └── main1.cpp │ │ └── subproject2/ │ │ ├── CMakeLists.txt │ │ └── main2.cpp │ ├── clang-format/ │ │ ├── .clang-format │ │ ├── CMakeLists.txt │ │ ├── README.adoc │ │ ├── cmake/ │ │ │ ├── modules/ │ │ │ │ ├── FindClangFormat.cmake │ │ │ │ └── clang-format.cmake │ │ │ └── scripts/ │ │ │ ├── clang-format-check-changed │ │ │ └── clang-format-check-changed.py │ │ ├── run_test.sh │ │ ├── subproject1/ │ │ │ ├── CMakeLists.txt │ │ │ └── main1.cpp │ │ └── subproject2/ │ │ ├── CMakeLists.txt │ │ └── main2.cpp │ ├── cppcheck/ │ │ ├── CMakeLists.txt │ │ ├── README.adoc │ │ ├── cmake/ │ │ │ ├── analysis.cmake │ │ │ └── modules/ │ │ │ └── FindCppCheck.cmake │ │ ├── run_test.sh │ │ ├── subproject1/ │ │ │ ├── CMakeLists.txt │ │ │ └── main1.cpp │ │ └── subproject2/ │ │ ├── CMakeLists.txt │ │ └── main2.cpp │ └── cppcheck-compile-commands/ │ ├── .cppcheck_suppressions │ ├── CMakeLists.txt │ ├── README.adoc │ ├── cmake/ │ │ └── modules/ │ │ └── FindCppCheck.cmake │ ├── run_test.sh │ ├── subproject1/ │ │ ├── CMakeLists.txt │ │ └── main1.cpp │ └── subproject2/ │ ├── CMakeLists.txt │ └── main2.cpp ├── 05-unit-testing/ │ ├── README.adoc │ ├── boost/ │ │ ├── CMakeLists.txt │ │ ├── Palindrome.cpp │ │ ├── Palindrome.h │ │ ├── README.adoc │ │ ├── Reverse.cpp │ │ ├── Reverse.h │ │ ├── main.cpp │ │ ├── post_test.sh │ │ └── unit_tests.cpp │ ├── catch2-vendored/ │ │ ├── 3rd_party/ │ │ │ └── catch2/ │ │ │ ├── CMakeLists.txt │ │ │ └── catch2/ │ │ │ └── catch.hpp │ │ ├── CMakeLists.txt │ │ ├── Palindrome.cpp │ │ ├── Palindrome.h │ │ ├── README.adoc │ │ ├── Reverse.cpp │ │ ├── Reverse.h │ │ ├── main.cpp │ │ ├── post_test.sh │ │ └── unit_tests.cpp │ └── google-test-download/ │ ├── 3rd_party/ │ │ └── google-test/ │ │ ├── CMakeLists.txt │ │ └── CMakeLists.txt.in │ ├── CMakeLists.txt │ ├── Palindrome.cpp │ ├── Palindrome.h │ ├── README.adoc │ ├── Reverse.cpp │ ├── Reverse.h │ ├── main.cpp │ ├── post_test.sh │ ├── run_test.sh │ └── unit_tests.cpp ├── 06-installer/ │ ├── README.adoc │ └── deb/ │ ├── CMakeLists.txt │ ├── README.adoc │ ├── cmake-examples.conf │ ├── include/ │ │ └── Hello.h │ ├── post_test.sh │ └── src/ │ ├── Hello.cpp │ └── main.cpp ├── 07-package-management/ │ ├── A-using-system-provide-packages/ │ │ └── README.adoc │ ├── B-vendoring-code/ │ │ └── README.adoc │ ├── C-external-project-add/ │ │ └── README.adoc │ ├── D-conan/ │ │ ├── README.adoc │ │ ├── i-basic/ │ │ │ ├── CMakeLists.txt │ │ │ ├── README.adoc │ │ │ ├── conanfile.txt │ │ │ ├── main.cpp │ │ │ └── run_test.sh │ │ └── ii-basic-targets/ │ │ ├── CMakeLists.txt │ │ ├── README.adoc │ │ ├── conanfile.txt │ │ ├── main.cpp │ │ └── run_test.sh │ └── README.adoc ├── LICENSE ├── README.adoc ├── cmake-examples.sublime-project ├── dockerfiles/ │ ├── README.adoc │ ├── setup.sh │ ├── ubuntu14.04-cmake-3.4.3 │ ├── ubuntu14.04-default-2.8.12.2 │ ├── ubuntu16.04-cmake-3.10.3 │ └── ubuntu16.04-default-cmake-3.5.1 └── test.sh