After `libigl` update to ver 2.4.0 I can't build anymore

326 views Asked by At

My CMakeLists.txt file for my old libigl testing project contains the piece below:

project(libigl)

set(LIBIGL_HOME $ENV{HOME}/apps/libigl)
set(CMAKE_PREFIX_PATH ${LIBIGL_HOME})
set(CMAKE_MODULE_PATH ${LIBIGL_HOME}/cmake)
find_package(${PROJECT_NAME} CONFIGS libigl.cmake REQUIRED)

if(${PROJECT_NAME}_FOUND)
  message("-- Found ${PROJECT_NAME}")
else()
  message(FATAL_ERROR "${PROJECT_NAME} is not found")
endif()

I tried to build this project with the new version 2.4.0 of the libigl library and got this message:

CMake Error at /home/hekto/apps/libigl/cmake/libigl.cmake:5 (message):
  You included libigl.cmake directly from your own project.  This behavior is
  not supported anymore.  Please add libigl to your project via
  add_subdirectory(<path_to_libigl>).  See the libigl example project for
  more information: https://github.com/libigl/libigl-example-project/
Call Stack (most recent call first):
  CMakeLists.txt:43 (find_package)

So, they recommend to use the add_subdirectory command for client projects. I looked at the CMakeLists.txt file from the recommended GitHub example project and couldn't find the add_subdirectory command:

cmake_minimum_required(VERSION 3.16)
project(example)

list(PREPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)

# Libigl
include(libigl)

# Enable the target igl::glfw
igl_include(glfw)

# Add your project files
file(GLOB SRC_FILES *.cpp)
add_executable(${PROJECT_NAME} ${SRC_FILES})
target_link_libraries(${PROJECT_NAME} PUBLIC igl::glfw)

How should I build with the new version 2.4.0 of the libigl?

  • OS: Ubuntu 20.04.5 LTS
  • Compiler: g++ (Ubuntu 10.3.0-1ubuntu1~20.04) 10.3.0
0

There are 0 answers