[devel] I: cmake macros

Arseny Maslennikov arseny на altlinux.org
Ср Июл 7 19:18:28 MSK 2021


On Wed, Jul 07, 2021 at 01:37:25PM +0300, Nikolai Kostrigin wrote:
> Здравствуйте!
> 
> Имеем следующую картину для "-DWITH_BOOST=boost/boost_1_73_0 \" в spec
> MySQL:
> 
> - cmake из Sisyphus (_cmake__builddir = x86_64-alt-linux) ищет и находит
> (не без помощи Вашего патча [1], конечно)
> 
> -- Local boost dir /usr/src/RPM/BUILD/MySQL-8.0.25/boost/boost_1_73_0
> -- Found
> /usr/src/RPM/BUILD/MySQL-8.0.25/boost/boost_1_73_0/boost/version.hpp
> -- BOOST_VERSION_NUMBER is #define BOOST_VERSION 107300
> -- BOOST_INCLUDE_DIR /usr/src/RPM/BUILD/MySQL-8.0.25/boost/boost_1_73_0
> 
> 
> - в то же время, для p9, c тем же спеком (_cmake__builddir = BUILD)
> 
> не находит:
> 
> -- WITH_BOOST=/usr/src/RPM/BUILD/MySQL-8.0.25/BUILD/boost/boost_1_73_0
> -- BOOST_INCLUDE_DIR
> -- LOCAL_BOOST_DIR LOCAL_BOOST_DIR-NOTFOUND
> -- LOCAL_BOOST_ZIP LOCAL_BOOST_ZIP-NOTFOUND
> -- Could not find (the correct version of) boost.
> -- MySQL currently requires boost_1_73_0
> 
> CMake Error at cmake/boost.cmake:107 (MESSAGE):
>   You can download it with -DDOWNLOAD_BOOST=1 -DWITH_BOOST=<directory>
> 
> Видим, что ищет он в BUILD/boost/boost_1_73_0, а не в
> boost/boost_1_73_0, как версия из Сизифа.

Спасибо за репорт!

> Это ожидаемое поведение и каждый должен городить костыли (чего не

Нет, конечно.
RPM из содержимого секций формирует скрипты для sh -e, это надо
учитывать, а макрос в cmake 3.16.3-alt2 не учитывает (точнее, не
полностью, но не полностью — не считается).

> хотелось бы, конечно) или Вы поправите поведение макросов в p9?

См. задание 277546.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 833 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20210707/b4f026b8/attachment.bin>


Подробная информация о списке рассылки Devel