diff --git a/projectmanagers/cmake/duchain/declarationbuilder.cpp b/projectmanagers/cmake/duchain/declarationbuilder.cpp --- a/projectmanagers/cmake/duchain/declarationbuilder.cpp +++ b/projectmanagers/cmake/duchain/declarationbuilder.cpp @@ -31,13 +31,19 @@ const CMakeFunctionDesc& func = node->next(); if (func.name == "add_executable" || func.name == "add_library") { + if (func.arguments.isEmpty()) { + continue; + } CMakeFunctionArgument arg = func.arguments.first(); DUChainWriteLocker lock; Declaration* decl = openDeclaration(QualifiedIdentifier(arg.value), arg.range(), DeclarationIsDefinition); decl->setAbstractType(AbstractType::Ptr(new TargetType)); closeDeclaration(); } else if(func.name == "macro" || func.name == "function") { + if (func.arguments.isEmpty()) { + continue; + } CMakeFunctionArgument arg = func.arguments.first(); FunctionType::Ptr funcType(new FunctionType);