diff --git a/tools/cmake/project.cmake b/tools/cmake/project.cmake index 72504c061cfb..ee4355ff38e6 100644 --- a/tools/cmake/project.cmake +++ b/tools/cmake/project.cmake @@ -632,6 +632,15 @@ macro(project project_name) set(${PROJECT_NAME}_VERSION_TWEAK "${${PROJECT_NAME}_VERSION_TWEAK}" PARENT_SCOPE) set(${PROJECT_NAME}_DESCRIPTION "${${PROJECT_NAME}_DESCRIPTION}" PARENT_SCOPE) set(${PROJECT_NAME}_HOMEPAGE_URL "${${PROJECT_NAME}_HOMEPAGE_URL}" PARENT_SCOPE) + if(${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.21") + if(CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR) + set(PROJECT_IS_TOP_LEVEL ON PARENT_SCOPE) + set(${PROJECT_NAME}_IS_TOP_LEVEL ON PARENT_SCOPE) + else() + set(PROJECT_IS_TOP_LEVEL OFF PARENT_SCOPE) + set(${PROJECT_NAME}_IS_TOP_LEVEL OFF PARENT_SCOPE) + endif() + endif() endfunction() # Prepare the following arguments for the idf_build_process() call using external