# CMake framework Source: [https://docs.qualcomm.com/doc/80-58740-1/topic/usage-of-cmake-framework.html](https://docs.qualcomm.com/doc/80-58740-1/topic/usage-of-cmake-framework.html) This SDK offers a variety of function interfaces to support common use cases. - sdk\_generate\_library: Generates a library. If no parameters are provided, the directory name of the current library is used. - sdk\_library\_add\_sources: Adds source files to the library. - sdk\_library\_add\_sources\_ifdef: Adds source files to the library, conditionally (using `ifdef`). - sdk\_add\_include\_directories: Adds header file paths. - sdk\_add\_include\_directories\_ifdef: Adds header file paths, conditionally (using `ifdef`). - sdk\_add\_compile\_definitions: Adds macro definitions. - sdk\_add\_compile\_definitions\_ifdef: Adds macro definitions, conditionally (using `ifdef`). - sdk\_add\_compile\_options: Adds compile options. - sdk\_add\_compile\_options\_ifdef: Adds compile options, conditionally (using `ifdef`). - sdk\_add\_link\_options: Adds link options. - sdk\_add\_link\_options\_ifdef: Adds link options, conditionally (using `ifdef`). - sdk\_add\_link\_libraries: Adds static libraries. - sdk\_add\_link\_libraries\_ifdef: Adds static libraries, conditionally (using `ifdef`). - sdk\_add\_subdirectory\_ifdef: Compiles CMakeLists in the subdirectory, conditionally (using `ifdef`). - sdk\_add\_static\_library: Adds an external static library. - sdk\_set\_linker\_script: Sets up the linker script. - sdk\_set\_main\_file: Sets the file containing the main function. Project compilation - target\_source (app PRIVATE xxx): Adds source files to the app library. Use this when you need to add source files without creating a separate CMakeLists file. ## Creating a new project To create a new project, you can copy an existing project (e.g., `helloworld`) and modify the `SDK_DEMO_PATH` variable to your desired path. ## Adding components to your project To compile FATFS and LVGL components, enable them in `proj.conf`: set(CONFIG_FATFS 1) set(CONFIG_LVGL 1) Copy to clipboard ## Enabling conditional compilation Enable user-defined CMake conditional compilation items using the `if` syntax of CMake or the SDK functions with the `ifdef` suffix, as shown above. **Parent Topic:** [Application development](https://docs.qualcomm.com/doc/80-58740-1/topic/application_development.html) Last Published: Feb 11, 2026 [Previous Topic QCC74x application development on Linux](https://docs.qualcomm.com/bundle/publicresource/80-58740-1/topics/linux.md) [Next Topic Flash programming configuration file](https://docs.qualcomm.com/bundle/publicresource/80-58740-1/topics/usage-of-qcc74x-flash-cube.md)