lee-shun / cmake_examples

Practical, Easy-to-copy CMake examples

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CMake Examples

GitHub Ubuntu Windows macOS android

Zhuo's CMake based C/C++ project templates.

Features

  • Modern: Use latest cmake, write target-oriented configurations.
  • Modular: Formed into > 10 groups of examples, each group consists of strong related examples.
  • Versatile: Extracted from practical, not restricted to simple tutorials.

Contents

There are above 100 examples now. Some of them are written in English, some in Chinese, but anyway, each of them are simple enough, just find your interested one, and run it!

You may search them in this page, you may search each of them in the following table:

number examples directory
1 function_example1 01_cmake_language/function_example1
2 list_remove_example 01_cmake_language/list_remove_example
3 regex_replace_example 01_cmake_language/regex_replace_example
4 create_dll_example1 02_creating_targets/create_dll_example1
5 create_dll_example2 02_creating_targets/create_dll_example2
6 create_executable_example 02_creating_targets/create_executable_example
7 create_imported_lib_example 02_creating_targets/create_imported_lib_example
8 create_shared_lib_example 02_creating_targets/create_shared_lib_example
9 header_only_library_example 02_creating_targets/header_only_library_example
10 find_package_examples 03_import_dependencies/01_find_package_examples/find_package_examples
11 use_benchmark 03_import_dependencies/01_find_package_examples/use_benchmark
12 use_crc32c 03_import_dependencies/01_find_package_examples/use_crc32c
13 use_eigen 03_import_dependencies/01_find_package_examples/use_eigen
14 use_gflags 03_import_dependencies/01_find_package_examples/use_gflags
15 use_glm 03_import_dependencies/01_find_package_examples/use_glm
16 use_glog 03_import_dependencies/01_find_package_examples/use_glog
17 use_include-what-you-use 03_import_dependencies/01_find_package_examples/use_include-what-you-use
18 use_libclang 03_import_dependencies/01_find_package_examples/use_libclang
19 use_ncnn 03_import_dependencies/01_find_package_examples/use_ncnn
20 use_opencv 03_import_dependencies/01_find_package_examples/use_opencv
21 use_openssl 03_import_dependencies/01_find_package_examples/use_openssl
22 use_pkgconfig_lmdb 03_import_dependencies/01_find_package_examples/use_pkgconfig_lmdb
23 use_proto_to_cpp 03_import_dependencies/01_find_package_examples/use_proto_to_cpp
24 use_qt 03_import_dependencies/01_find_package_examples/use_qt
25 use_rapidcheck 03_import_dependencies/01_find_package_examples/use_rapidcheck
26 use_rapidcheck_v2 03_import_dependencies/01_find_package_examples/use_rapidcheck_v2
27 use_vulkan 03_import_dependencies/01_find_package_examples/use_vulkan
28 use_windows_pkgconfig_zlib 03_import_dependencies/01_find_package_examples/use_windows_pkgconfig_zlib
29 use_zlib 03_import_dependencies/01_find_package_examples/use_zlib
30 01_find_package_examples 03_import_dependencies/01_find_package_examples
31 debug_example 03_import_dependencies/02_debug_dependencies/debug_example
32 02_debug_dependencies 03_import_dependencies/02_debug_dependencies
33 cpm_example 03_import_dependencies/03_external_dependencies/cpm_example
34 cpm_example2 03_import_dependencies/03_external_dependencies/cpm_example2
35 external_add_example 03_import_dependencies/03_external_dependencies/external_add_example
36 fetchcontent_example 03_import_dependencies/03_external_dependencies/fetchcontent_example
37 fetchcontent_example2 03_import_dependencies/03_external_dependencies/fetchcontent_example2
38 fetchcontent_example3 03_import_dependencies/03_external_dependencies/fetchcontent_example3
39 onetbb_fetchcontent_example 03_import_dependencies/03_external_dependencies/onetbb_fetchcontent_example
40 03_external_dependencies 03_import_dependencies/03_external_dependencies
41 copy_directory_example 04_files_and_directories/copy_directory_example
42 copy_dll_example 04_files_and_directories/copy_dll_example
43 copy_files_example 04_files_and_directories/copy_files_example
44 dll_path_example 04_files_and_directories/dll_path_example
45 download_example 04_files_and_directories/download_example
46 glob_example 04_files_and_directories/glob_example
47 glslc_example 04_files_and_directories/glslc_example
48 cmake_build_type_example 05_global_configurations/cmake_build_type_example
49 compile_database_example 05_global_configurations/compile_database_example
50 configure_file_example 05_global_configurations/configure_file_example
51 debug_symbol_example 05_global_configurations/debug_symbol_example
52 option_example 05_global_configurations/option_example
53 option_example2 05_global_configurations/option_example2
54 options_via_txt_example 05_global_configurations/options_via_txt_example
55 arm-linux-gnueabihf_example 06_cross_compilation/arm-linux-gnueabihf_example
56 arm-none-eabi_example 06_cross_compilation/arm-none-eabi_example
57 arm_neon_example 06_cross_compilation/arm_neon_example
58 arm_neon_example2 06_cross_compilation/arm_neon_example2
59 generator_example 06_cross_compilation/generator_example
60 linux-32bit_example 06_cross_compilation/linux-32bit_example
61 neon_intrinsics_example 06_cross_compilation/neon_intrinsics_example
62 ohos_ndk_example 06_cross_compilation/ohos_ndk_example
63 presets-example 06_cross_compilation/presets-example
64 rtos-test 06_cross_compilation/rtos-test
65 compile_flag_example1 07_flags_and_properties/compile_flag_example1
66 hpc_compute 07_flags_and_properties/hpc_compute
67 msvc_runtime_mt_md_example 07_flags_and_properties/msvc_runtime_mt_md_example
68 sanitizers 07_flags_and_properties/sanitizers
69 doxygen_coverage_example 08_documentation/doxygen_coverage_example
70 doxygen_coverage_example2 08_documentation/doxygen_coverage_example2
71 doxygen_coverage_example3 08_documentation/doxygen_coverage_example3
72 doxygen_example 08_documentation/doxygen_example
73 doxygen_example2 08_documentation/doxygen_example2
74 clang_coverage_example 09_testing/clang_coverage_example
75 ctest_example 09_testing/ctest_example
76 ctest_example2 09_testing/ctest_example2
77 doctest_example 09_testing/doctest_example
78 gcc_coverage_example 09_testing/gcc_coverage_example
79 gtest_ctest_example 09_testing/gtest_ctest_example
80 gtest_ctest_example2 09_testing/gtest_ctest_example2
81 gtest_example 09_testing/gtest_example
82 gtest_example2 09_testing/gtest_example2
83 gtest_example3 09_testing/gtest_example3
84 gtest_filter 09_testing/gtest_filter
85 test_coverage_example 09_testing/test_coverage_example
86 test_coverage_example2 09_testing/test_coverage_example2
87 cpack_example 10_installing/cpack_example
88 install_example1 10_installing/install_example1
89 install_example2 10_installing/install_example2
90 install_example3 10_installing/install_example3
91 install_example4 10_installing/install_example4
92 install_find_package_example 10_installing/install_find_package_example
96 c_call_python_example 12_language_bindings/c_call_python_example
97 csharp_winform_example 12_language_bindings/csharp_winform_example
98 csharp_wpf_example 12_language_bindings/csharp_wpf_example
99 jni_example 12_language_bindings/jni_example
100 jni_example2 12_language_bindings/jni_example2
101 mex_example 12_language_bindings/mex_example
102 pybind11_example1 12_language_bindings/pybind11_example1
103 pybind11_example2 12_language_bindings/pybind11_example2
104 swift_example 12_language_bindings/swift_example
105 windows_masm_example 12_language_bindings/windows_masm_example
106 generate_assemble_example 14_misc/generate_assemble_example
107 masm_example 14_misc/masm_example
109 ninja_colorful_output_example 14_misc/ninja_colorful_output_example

You may also use ./search.sh for specific search, e.g. search dll as keyword:

bash ./search.sh dll

And get result:

./01_creating_targets/create_dll_example2
./01_creating_targets/create_dll_example1
./06_files_and_io/copy_dll_example
./06_files_and_io/dll_path_example

♥️ Thanks

If you like this project, welcome Star. You may also watch this project for updated notifications in the first time!

Stargazers over time

References

Note: Official cmake bundled FindXXX.cmake failed to find packages sometimes, you may be interested in my another project sleek.

LICENSE

MIT

About

Practical, Easy-to-copy CMake examples

License:MIT License


Languages

Language:C++ 56.8%Language:CMake 20.9%Language:C 18.7%Language:Batchfile 1.3%Language:Shell 1.0%Language:Python 0.8%Language:C# 0.3%Language:GLSL 0.1%Language:Cuda 0.1%Language:Makefile 0.0%Language:Java 0.0%Language:PowerShell 0.0%Language:Swift 0.0%Language:Assembly 0.0%