Устанавливаю
фреймворк SOFA, сбилдил с помощью cmake по их инструкции, всё хорошо. Он состоит из нескольких модулей: SofaFramework, SofaGui и т.д.
Я пытаюсь написать под него dummy плагин, ниже мой CMakeLists.txt:
cmake_minimum_required(VERSION 2.8.12)
project(Warchant)
set(HEADER_FILES
MyHeader1.h
)
set(SOURCE_FILES
MySource1.cpp
)
find_package(SofaGui REQUIRED) # где он ищет его?
add_library(${PROJECT_NAME} SHARED ${HEADER_FILES} ${SOURCE_FILES})
target_link_libraries(${PROJECT_NAME} SofaCore)
К слову, в
build есть папка
cmake с файлами
SofaFrameworkConfig.cmake и т.д..
Плагин собираю из
/root/sofa/v15.12/src/build/applications/plugins/Warchant/build
На такой CMakeLists высвечивается ошибка:
Could not find a package configuration file provided by "SofaGui" with any
of the following names:
SofaGuiConfig.cmake
sofagui-config.cmake
Add the installation prefix of "SofaGui" to CMAKE_PREFIX_PATH or set
"SofaGui_DIR" to a directory containing one of the above files. If
"SofaGui" provides a separate development package or SDK, be sure it has
been installed.
Погуглил, посоветовали добавить строчку:
list(APPEND CMAKE_PREFIX_PATH "/root/sofa/v15.12/src/build/")
Теперь говорит вот что:
CMake Error at /root/sofa/v15.12/src/build/cmake/SofaFrameworkConfig.cmake:80 (include):
include could not find load file:
/root/sofa/v15.12/src/build/cmake/SofaFrameworkTargets.cmake
Call Stack (most recent call first):
/root/sofa/v15.12/src/build/cmake/SofaSimulationConfig.cmake:29 (find_package)
/root/sofa/v15.12/src/build/cmake/SofaBaseConfig.cmake:29 (find_package)
/root/sofa/v15.12/src/build/cmake/SofaCommonConfig.cmake:29 (find_package)
/root/sofa/v15.12/src/build/cmake/SofaGeneralConfig.cmake:29 (find_package)
/root/sofa/v15.12/src/build/cmake/SofaGuiConfig.cmake:29 (find_package)
CMakeLists.txt:30 (find_package)
И так для каждого *.cmake файла внутри build/cmake/. В каждом файле присутствует
find_package(SofaFramework REQUIRED) # либо другой модуль
То есть
find_package не может найти эти модули. Как мне сделать все эти модули видимыми для
find_package? Неужели мне вручную каждый *.cmake файл придется править и прописывать нужные ему пути?