equinor/resdata

Cannot build the project with cmake fetchContent

billcxx opened this issue · 1 comments

I can compile Ecl on the same machine with the normal git clone and cmake process, but I cannot compile Ecl if it is included by fetchContent as follows

FetchContent_Declare(
  ecl
  GIT_REPOSITORY https://github.com/equinor/ecl.git
  GIT_SUBMODULES ""
  GIT_TAG 2.14.0)
FetchContent_MakeAvailable(ecl)

When I try to configure my project, I met an error during

CMake Error at build/x64-gnu-Debug/_deps/ecl-src/lib/CMakeLists.txt:182 (set_target_properties):
  set_target_properties called with incorrect number of arguments.

Here is full output to the console

cmake: /usr/local/lib/libcurl.so.4: no version information available (required by cmake)
-- Set build type to Debug configuration
-- --fasp/opt/faspsolver/include/opt/faspsolver/lib/libfasp.a
-- Conan: Automatic detection of conan settings from cmake
/usr/bin/cmake: /usr/local/lib/libcurl.so.4: no version information available (required by /usr/bin/cmake)
-- Conan: compiler.cppstd was added as an argument. Not using the autodetected one.
-- Conan: Settings= -s;build_type=Debug;-s;compiler=gcc;-s;compiler.version=11;-s;compiler.libcxx=libstdc++11;-s;compiler.cppstd=17
-- Conan: checking conan executable
-- Conan: Found program /home/xcheng/.local/bin/conan
-- Conan: Version found Conan version 1.52.0
-- Conan executing: /home/xcheng/.local/bin/conan install . -s build_type=Debug -s compiler=gcc -s compiler.version=11 -s compiler.libcxx=libstdc++11 -s compiler.cppstd=17 -g=cmake --build=missing
Configuration:
[settings]
arch=x86_64
arch_build=x86_64
build_type=Debug
compiler=gcc
compiler.cppstd=17
compiler.libcxx=libstdc++11
compiler.version=11
os=Linux
os_build=Linux
[options]
[build_requires]
[env]

conanfile.txt: Installing package
Requirements
    backward-cpp/1.6 from 'cci' - Cache
    fmt/8.0.1 from 'cci' - Cache
    libdwarf/20191104 from 'cci' - Cache
    libelf/0.8.13 from 'cci' - Cache
    zlib/1.2.12 from 'cci' - Cache
Packages
    backward-cpp/1.6:61fa5696262c64338f31bb777c3e335f70957491 - Cache
    fmt/8.0.1:5583290743b011a202b71a31a607075136bc28bb - Cache
    libdwarf/20191104:29a01e41514e57b26ac6cb3d59a534cdaa425a4d - Cache
    libelf/0.8.13:be27726f9885116da1158027505be62e913cd585 - Cache
    zlib/1.2.12:be27726f9885116da1158027505be62e913cd585 - Cache

Installing (downloading, building) binaries...
fmt/8.0.1: Already installed!
libelf/0.8.13: Already installed!
zlib/1.2.12: Already installed!
libdwarf/20191104: Already installed!
backward-cpp/1.6: Already installed!
conanfile.txt: Generator cmake created conanbuildinfo.cmake
conanfile.txt: Generator txt created conanbuildinfo.txt
conanfile.txt: Aggregating env generators
conanfile.txt: Generated conaninfo.txt
conanfile.txt: Generated graphinfo
-- Conan: Loading conanbuildinfo.cmake
-- Conan: Adjusting output directories
-- Conan: Using cmake targets configuration
-- Library backward found /home/xcheng/.conan/data/backward-cpp/1.6/_/_/package/61fa5696262c64338f31bb777c3e335f70957491/lib/libbackward.a
-- Library fmtd found /home/xcheng/.conan/data/fmt/8.0.1/_/_/package/5583290743b011a202b71a31a607075136bc28bb/lib/libfmtd.a
-- Library dwarf found /home/xcheng/.conan/data/libdwarf/20191104/_/_/package/29a01e41514e57b26ac6cb3d59a534cdaa425a4d/lib/libdwarf.a
-- Library elf found /home/xcheng/.conan/data/libelf/0.8.13/_/_/package/be27726f9885116da1158027505be62e913cd585/lib/libelf.a
-- Library z found /home/xcheng/.conan/data/zlib/1.2.12/_/_/package/be27726f9885116da1158027505be62e913cd585/lib/libz.a
-- Conan: Adjusting default RPATHs Conan policies
-- Conan: Adjusting language standard
-- Current conanbuildinfo.cmake directory: /home/xcheng/codes/OpenCAEPoro/build/x64-gnu-Debug/_deps/ecl-build
-- Conan: Compiler GCC>=5, checking major version 11
-- Conan: Checking correct version: 11
fatal: No names found, cannot describe anything.
-- libecl version: ..
-- Found Linux
-- OpenMP disabled
CMake Error at build/x64-gnu-Debug/_deps/ecl-src/lib/CMakeLists.txt:182 (set_target_properties):
  set_target_properties called with incorrect number of arguments.


-- Configuring incomplete, errors occurred!
See also "/home/xcheng/codes/OpenCAEPoro/build/x64-gnu-Debug/CMakeFiles/CMakeOutput.log".
See also "/home/xcheng/codes/OpenCAEPoro/build/x64-gnu-Debug/CMakeFiles/CMakeError.log".

I notice the difference between the normal build process and the fetchContent process is these two lines

fatal: No names found, cannot describe anything.
-- libecl version: ..

The problem is in the root CMakeLists.txt file, line 128 to line 132.
The ${CMAKE_SOURCE_DIR} is my own projects directory rather than the populated Ecl directory.

128     execute_process(
129       COMMAND ${GIT_EXECUTABLE} "--git-dir=${CMAKE_SOURCE_DIR}/.git" describe
130               --tags
131       OUTPUT_VARIABLE GIT_TAG
132       OUTPUT_STRIP_TRAILING_WHITESPACE)