Как установить критерий в определенную папку? - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть Criterion framework (https://github.com/Snaipe/Criterion), Я хочу собрать его из исходного кода и установить в определенный каталог, чтобы заголовки критерия находились в / usr / include /

и библиотеках libcriterion.soв папке / usr / lib64 я использую эту команду для сборки и установки:

mkdir build
cd build
cmake ..
cmake --build . 
make install

устанавливает .so файлы в / usr / local / folder, команда bash find / -name "* criterion *" показывает это:

/usr/local/lib/libcriterion.so
/usr/local/lib/libcriterion.so.3
/usr/local/lib/libcriterion.so.3.1.0
/usr/local/share/pkgconfig/criterion.pc
/usr/local/include/criterion
/usr/local/include/criterion/criterion.h

Как мне исправить мою команду, чтобы после установки libcriterion.so находился в каталоге / usr / lib64?

1 Ответ

0 голосов
/ 13 февраля 2019

Использование параметров командной строки CMake не позволяет изменять расположение установки библиотеки в соответствии с запросом.Вы можете изменить, используя параметр -DCMAKE_INSTALL_PREFIX=..., но это также повлияет на местоположение включения.

Однако, поскольку у вас есть доступ к исходному коду, вы можете просто изменить файл CMakeLists.txt и установитьместо установки библиотеки, добавив такую ​​команду:

install(TARGETS ${PROJECT_NAME}
    LIBRARY DESTINATION lib64
)

Для получения более подробной информации, я могу сослаться на документацию CMake .


Кстати:Нет необходимости явно создавать каталог для сборки, ваш скрипт может выглядеть так

cmake -H. -Bbuild
cmake --build build
cmake --build build --target install
...