@@ -38,6 +38,7 @@ Code example
3838
3939 .. code-block :: cpp
4040
41+ // main.cpp
4142 #include <clang-c/Index.h>
4243 #include <iostream>
4344
@@ -57,6 +58,18 @@ Code example
5758 CXCursor cursor = clang_getTranslationUnitCursor(unit); //Obtain a cursor at the root of the translation unit
5859 }
5960
61+ .. code-block :: cmake
62+
63+ # CMakeLists.txt
64+ cmake_minimum_required(VERSION 3.30)
65+ project(my_clang_tool VERSION 0.1.0)
66+
67+ find_package(Clang CONFIG REQUIRED)
68+
69+ add_executable(my_clang_tool main.cpp)
70+ target_include_directories(my_clang_tool PRIVATE ${CLANG_INCLUDE_DIRS})
71+ target_link_libraries(my_clang_tool PRIVATE libclang)
72+
6073 Visiting elements of an AST
6174~~~~~~~~~~~~~~~~~~~~~~~~~~~
6275The elements of an AST can be recursively visited with pre-order traversal with ``clang_visitChildren ``.
@@ -283,6 +296,7 @@ Complete example code
283296
284297.. code-block :: cpp
285298
299+ // main.cpp
286300 #include <clang-c/Index.h>
287301 #include <iostream>
288302
@@ -356,6 +370,17 @@ Complete example code
356370 );
357371 }
358372
373+ .. code-block :: cmake
374+
375+ # CMakeLists.txt
376+ cmake_minimum_required(VERSION 3.30)
377+ project(my_clang_tool VERSION 0.1.0)
378+
379+ find_package(Clang CONFIG REQUIRED)
380+
381+ add_executable(my_clang_tool main.cpp)
382+ target_include_directories(my_clang_tool PRIVATE ${CLANG_INCLUDE_DIRS})
383+ target_link_libraries(my_clang_tool PRIVATE libclang)
359384
360385 .. _Index.h : https://github.com/llvm/llvm-project/blob/main/clang/include/clang-c/Index.h
361386
0 commit comments