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

a sk via flang-dev flang-dev at lists.llvm.org
Thu Dec 23 09:14:11 PST 2021


Thanks Peter.

I would like to share how I am building flang using README.md document
given in llvm-project/flang.

Before building flang in debug mode, I had built clang, mlir , llvm in
release mode by using README.md documentation given in llvm-project.
The steps I have used to build clang,mlir,llvm in release mode are given
below:
1)  git clone https://github.com/llvm/llvm-project.git
2) cd llvm-project
3) mkdir build
4) cd build
5) cmake ../llvm -G Ninja -DLLVM_ENABLE_PROJECTS="clang;mlir"
-DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/home/llvm-project/build
6) ninja

It is working and after completion of build process of clang and mlir, I
started out of tree debug build process for flang.

for this build process I followed the README.md document in flang github
repository.
Steps are:
1) cd llvm-project
2) cd flang
3) mkdir build
4) cd build
5) cmake -DLLVM_DIR=/home/llvm-project/build/lib/cmake/llvm -DCLANG
_DIR=/home/llvm-project/build/lib/cmake/clang -DMLIR
_DIR=/home/llvm-project/build/lib/cmake/mlir ../lib

after running cmake , There is a error related to add_flang_library which
was shared in previous email.



*  CMake Error at Common/CMakeLists.txt:2 (add_flang_library):    Unknown
CMake command "add_flang_library".*

I followed the steps according to README.md document.
Please guide according to the information given in github repo.

Is there any issue with the steps which I have used from github repo?

Thanks and Regards


On Wed, 22 Dec 2021 at 03:14, Peter Steinfeld <psteinfeld at nvidia.com> wrote:

> 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.
>
>
>
> #!/bin/bash
>
>
>
> checkStatus() {
>
>   if [ $? -ne 0 ]
>
>   then
>
>     echo Exit $wd with error $?: $1
>
>     exit 127
>
>   fi
>
> }
>
>
>
> INSTALLDIR=`pwd`/install
>
>
>
> rm -rf build
>
> rm -rf install
>
> mkdir -p build
>
> checkStatus "mkdir -p build"
>
>
>
> date
>
> hostname
>
>
>
> cd build
>
>
>
> cmake \
>
>   -G Ninja \
>
>   ../llvm \
>
>   -DCMAKE_BUILD_TYPE=Release \
>
>   -DLLVM_LIT_ARGS=-v \
>
>   -DFLANG_ENABLE_WERROR=On \
>
>   -DCMAKE_CXX_STANDARD=17 \
>
>   -DLLVM_ENABLE_PROJECTS="clang;mlir;flang;compiler-rt" \
>
>   -DLLVM_BUILD_TOOLS=On \
>
>   -DLLVM_INSTALL_UTILS=On \
>
>   -DLLVM_TARGETS_TO_BUILD=host \
>
>   -DLLVM_ENABLE_ASSERTIONS=ON \
>
>   -DCMAKE_CXX_LINK_FLAGS="-Wl,-rpath,$LD_LIBRARY_PATH" \
>
>   -DCMAKE_INSTALL_PREFIX=$INSTALLDIR
>
>
>
> checkStatus "cmake"
>
>
>
> ninja
>
> 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
>
> project(ProjectName)
>
> near the top of the file, but after cmake_minimum_required().
>
> CMake is pretending there is a "project(Project)" command on the first
>
> line.
>
> 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.
>
> Thanks
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/flang-dev/attachments/20211223/596f80ac/attachment.html>


More information about the flang-dev mailing list