
You can suppress this directory tracking using the –no-print-directory option on the build command line.
#CMAKE SET SOURCE FILE PORPERTIES CODE#
When using subdirectories to organise source code the generated build commands print out each directory name as it is being processed. Target_include_directories(Application PRIVATE For example: target_include_directories(Application PRIVATEĭirectory locations are relative to the project root but we can use the CMAKE_SOURCE_DIR variable to reinforce this: add_executable(Application We don’t specify the header files as part of the source dependencies.Īlthough we never list the header files as part of the configuration (as discussed in previous blogs), we need to specify the directories to search for header files by adding entries to the target_include_directories() directive. Remember that CMake will scan the source files looking for dependencies to build a dependency tree for the source files and included header files. We just add these source files to the add_executable() definition: add_executable(Application



The following is a simplified project configuration file where we have omitted the compiler and linker options as we are now concentrating on source code management: cmake_minimum_required(VERSION 3.16) So far, our example project has just used a single main.cpp source file, although the supporting GitHub projects use multiple source files to build a usable ELF image.įrom the previous blog, you may remember that, for our build, we use a separate toolchain file ( toolchain-STM32F407.cmake) and a project configuration file ( CMakeLists.txt). Any non-trivial project will use separate source files to encapsulate different functional areas of the system.
