История изменений
Исправление intelfx, (текущая версия) :
Использовать инструменты, вроде SCons.
Я спросил немного другое. Как, по-твоему, должен выглядеть хороший и удобный workflow в твоей задаче (там, где куча компиляторов)?
Начиная от того, как правильно использовать этот самый ExternalProject_Add
А чего его «правильно использовать»? Собираем статически, префиксы дефолтные, всё что нужно (путь к cmake, генераторы, тулчейн-файл) наследуем от себя, потом добавляем установочный префикс в туда, где его найдёт find_package() (т. е. в CMAKE_PREFIX_PATH). Альтернативно, делаем установочный префикс равным нашему собственному и собираем как угодно, тогда всё найдётся само.
Впрочем, я не любитель bundled dependencies и ни разу не использовал ExternalProject_*, так что мог какие-то мелкие тонкости проглядеть.
аканчивая поиском возможностей задать построения so-шки и a-шки из одних и тех же исходников
Два таргета с разными именами и вручную задать OUTPUT_NAME?
В экспортируемом Config-файле потом создаём INTERFACE таргет без суффикса и добавляем к нему в зависимости один из реальных согласно значению BUILD_SHARED_LIBS.
Исправление intelfx, :
Использовать инструменты, вроде SCons.
Я спросил немного другое. Как, по-твоему, должен выглядеть хороший и удобный workflow в твоей задаче (там, где куча компиляторов)?
Начиная от того, как правильно использовать этот самый ExternalProject_Add
А чего его «правильно использовать»? Собираем статически, префиксы дефолтные, всё что нужно (путь к cmake, генераторы, тулчейн-файл) наследуем от себя, потом добавляем установочный префикс в туда, где его найдёт find_package() (т. е. в CMAKE_PREFIX_PATH). Альтернативно, делаем установочный префикс равным нашему собственному и собираем как угодно, тогда всё найдётся само.
Впрочем, я не любитель bundled dependencies и ни разу не использовал ExternalProject_*, так что могу где-то в мелких деталях ошибиться.
аканчивая поиском возможностей задать построения so-шки и a-шки из одних и тех же исходников
Два таргета с разными именами и вручную задать OUTPUT_NAME?
В экспортируемом Config-файле потом создаём INTERFACE таргет без суффикса и добавляем к нему в зависимости один из реальных согласно значению BUILD_SHARED_LIBS.
Исправление intelfx, :
Использовать инструменты, вроде SCons.
Я спросил немного другое. Как, по-твоему, должен выглядеть хороший и удобный workflow в твоей задаче (там, где куча компиляторов)?
Начиная от того, как правильно использовать этот самый ExternalProject_Add
А чего его «правильно использовать»? Собираем статически, префиксы дефолтные, всё что нужно (путь к cmake, генераторы, тулчейн-файл) наследуем от себя, потом добавляем установочный префикс в туда, где его найдёт find_package() (т. е. в CMAKE_PREFIX_PATH). Альтернативно, делаем установочный префикс равным нашему собственному и собираем как угодно, тогда всё найдётся само.
Впрочем, я не любитель bundled dependencies и ни разу не использовал ExternalProject_*, так что могу где-то в мелких деталях ошибиться.
аканчивая поиском возможностей задать построения so-шки и a-шки из одних и тех же исходников
Два таргета с разными именами и вручную задать OUTPUT_NAME?
Исходная версия intelfx, :
Использовать инструменты, вроде SCons.
Я спросил немного другое. Как, по-твоему, должен выглядеть хороший и удобный workflow в твоей задаче (там, где куча компиляторов)?
Начиная от того, как правильно использовать этот самый ExternalProject_Add
А чего его «правильно использовать»? Собираем статически, префиксы дефолтные, всё что нужно (путь к cmake, генераторы, тулчейн-файл) наследуем от себя, потом добавляем установочный префикс в туда, где его найдёт find_package() (т. е. в CMAKE_PREFIX_PATH). Альтернативно, делаем установочный префикс равным нашему собственному и собираем динамически, тогда всё найдётся само.
Впрочем, я не любитель bundled dependencies и ни разу не использовал ExternalProject_*, так что могу где-то в мелких деталях ошибиться.
аканчивая поиском возможностей задать построения so-шки и a-шки из одних и тех же исходников
Два таргета с разными именами и вручную задать OUTPUT_NAME?