The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Релиз системы сборки CMake 3.28, opennews (ok), 11-Дек-23, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


7. "Релиз системы сборки CMake 3.28"  +1 +/
Сообщение от Аноним (7), 11-Дек-23, 11:22 
> Удалена команда "exec_program()", объявленная устаревшей в выпуске 3.0. Для запуска процессов следует использовать команду "execute_process()"

А для совместимости нельзя было редирект exec_program() сделать на execute_process()? Обязательно нужно ломать старый API?

Ответить | Правка | Наверх | Cообщить модератору

8. "Релиз системы сборки CMake 3.28"  +/
Сообщение от Анон123 (?), 11-Дек-23, 11:27 
>В командах find_library(), find_path() и find_file() отключён поиск в установочных каталогах, полученных из переменной окружения PATH

Тоже минус совместимость

Ответить | Правка | Наверх | Cообщить модератору

15. "Релиз системы сборки CMake 3.28"  +1 +/
Сообщение от Аноним (15), 11-Дек-23, 12:02 
Это окончательное исправление регрессии и тут оно касается только платформы Windows. См оригинальный changelog:

This behavior was added in CMake 3.3 to
support MSYS and MinGW (“MSYSTEM”) development environments on
Windows, but it can search undesired prefixes that happen to be in
the “PATH” for unrelated reasons. Users who keep some
“<prefix>/bin” directories in the “PATH” just for their tools do not
necessarily want any corresponding “<prefix>/lib” or
“<prefix>/include” directories searched. The behavior was reverted
for non-Windows platforms by CMake 3.6. Now it has been reverted on
Windows platforms too.

Ответить | Правка | Наверх | Cообщить модератору

22. "Релиз системы сборки CMake 3.28"  +/
Сообщение от yet another anonymous (?), 11-Дек-23, 13:55 
Удивительно. Они были всегда уверены, что лучше всех знают, что нужно добавить в "поиск зависимостей". А тут несного сдали назад.
Ответить | Правка | Наверх | Cообщить модератору

14. "Релиз системы сборки CMake 3.28"  +1 +/
Сообщение от Аноним (15), 11-Дек-23, 11:59 
Никакой проблемы нет, отключение старого API может сделать только сам проект.

Если проект требует CMake 3.28 с помощью cmake_minimum_required(VERSION 3.28) или заявляет совместимость с API 3.28 используя cmake_policy(VERSION 3.28), то тогда вызов exec_program() приведёт к fatal error.

Иначе в CMake сработает слой совместимости, управляемый https://cmake.org/cmake/help/latest/policy/CMP0153.html и exec_program() сработает так же, как в предыдущих версиях.

Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

31. "Релиз системы сборки CMake 3.28"  +/
Сообщение от all_glory_to_the_hypnotoad (ok), 11-Дек-23, 15:34 
Обязательно. EXEC_PROGRAM заменили почти 10 лет назад. Да и сейчас старый вариант всё ещё можно включить через CMP0153
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру