[flang-dev] Unknown CMake command "add_flang_library" error

Peter Steinfeld via flang-dev flang-dev at lists.llvm.org
Tue Dec 21 13:44:12 PST 2021

I'm not sure what's causing your specific error message, but I notice that you're not doing an out-of-tree build the same way that I do.  After doing the full, in-tree build, I also create an install area using the command "make install" (actually, for me, "ninja install") to create the mlir and clang libraries and include files on which the out-of-tree build depends.  I first "cd" to the build directory that contains the full, in-tree build, and then execute "make install".  This creates and populates a directory called "install" parallel to the directory called "build".

Wackily, in order to pick up the Google test related files, the out-of-tree build depends on the build area for the llvm files.

After creating the build and install areas for my full, in-tree build (called "base" below), I create a source directory that contains all of the flang (and llvm, clang, and mlir) source.  I then "cd" to the directory above the "flang" directory and execute a script that looks like the commands below.  Note that the directories for mlir and clang come from the install area and the directories from llvm come from the build area.


checkStatus() {
  if [ $? -ne 0 ]
    echo Exit $wd with error $?: $1
    exit 127


rm -rf build
rm -rf install
mkdir -p build
checkStatus "mkdir -p build"


cd build

cmake \
  -G Ninja \
  ../llvm \
  -DLLVM_ENABLE_PROJECTS="clang;mlir;flang;compiler-rt" \

checkStatus "cmake"

checkStatus "ninja"

ninja install
checkStatus "ninja install"

From: flang-dev <flang-dev-bounces at lists.llvm.org> On Behalf Of a sk via flang-dev
Sent: Tuesday, December 21, 2021 9:07 AM
To: flang-dev at lists.llvm.org
Subject: [flang-dev] Unknown CMake command "add_flang_library" error

External email: Use caution opening links or attachments

Hi Community,

I am building Flang out of tree but getting error related to add_flang_library i.e.


Make Warning (dev) in CMakeLists.txt:

No project() command is present. The top-level CMakeLists.txt file must

contain a literal, direct call to the project() command. Add a line of

code such as


near the top of the file, but after cmake_minimum_required().

CMake is pretending there is a "project(Project)" command on the first


This warning is for project developers. Use -Wno-dev to suppress it.

CMake Error at Common/CMakeLists.txt:2 (add_flang_library):

Unknown CMake command "add_flang_library".

CMake Warning (dev) in CMakeLists.txt:

No cmake_minimum_required command is present. A line of code such as

cmake_minimum_required(VERSION 3.16)

should be added at the top of the file. The version specified may be lower

if you wish to support older CMake versions for this project. For more

information run "cmake --help-policy CMP0000".

This warning is for project developers. Use -Wno-dev to suppress it.

-- Configuring incomplete, errors occurred!


Command used for building Flang : cmake -DLLVM_DIR=llvm-project/build/lib/cmake/llvm -DCLANG_DIR=llvm-project/build/lib/cmake/clang -DMLIR_DIR=llvm-project/build/lib/cmake/mlir -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=llvm-project/flang/build ../lib

Clang, mlir and llvm were built in release mode before building Flang.

Please guide.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/flang-dev/attachments/20211221/e18261b7/attachment-0001.html>

More information about the flang-dev mailing list