[flang-dev] Unknown CMake command "add_flang_library" error
Peter Steinfeld via flang-dev
flang-dev at lists.llvm.org
Sat Dec 25 21:04:35 PST 2021
I think that the immediate problem is that step 5) for the out-of-tree build should end in ".." rather than "../lib".
Pete
From: a sk <sacodework at gmail.com>
Sent: Thursday, December 23, 2021 9:14 AM
To: Peter Steinfeld <psteinfeld at nvidia.com>
Cc: flang-dev on LLVM <flang-dev at lists.llvm.org>
Subject: Re: [flang-dev] Unknown CMake command "add_flang_library" error
External email: Use caution opening links or attachments
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<mailto: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<mailto: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<mailto: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/20211226/15bc44f0/attachment-0001.html>
More information about the flang-dev
mailing list