Представлен (http://www.cmake.org/pipermail/cmake/2014-December/059418.html) релиз кроссплатформенного открытого генератора сценариев сборки CMake 3.1.0 (http://www.cmake.org/), выступающего в качестве альтернативы Autotools и используемого в таких проектах, как KDE, LLVM/Clang, MySQL, MariaDB, ReactOS и Blender. Код CMake написан на языке C++ и распространяется под лицензией BSD.Из достоинств CMake можно отметить простой язык сценариев, средства расширения функциональности через модули, минимальное число зависимостей (нет привязки к M4, Perl или Python), поддержка кэширования, наличие средств для кросс-компиляции, поддержка генерации файлов сборки для широкого спектра систем сборки и компиляторов, наличие утилит ctest и cpack для определения сценариев тестирования и сборки пакетов, утилита cmake-gui для интерактивной настройки параметров сборки.
Основные улучшения (http://www.cmake.org/cmake/help/v3.1/release/3.1.0.html#new-...):
- Добавлены генераторы файлов сборки для Visual Studio 14 (2015). В генераторы для Visual Studio 11 (2012) и более новых версий добавлена поддержка платформы Windows Phone и магазина приложений Windows Store. В генераторы для Visual Studio 10 (2010) и более новых версий добавлена поддержка создания проектов для NVIDIA Nsight Tegra Visual Studio Edition;- Добавлена команда "target_compile_features (http://www.cmake.org/cmake/help/v3.1/command/target_compile_...)", позволяющая заполнить свойство COMPILE_FEATURES для цели сборки по аналогии с другими сборочными переменными. Cmake пользуется данной информацией для того, чтобы убедиться в том, что используемый компилятор способен выполнить сборку цели, и добавить необходимые для сборки флаги для задействования определённых возможностей языка (например, "-std=gnu++11");
- Упрощён синтаксис переменных ссылок (Variable References (http://www.cmake.org/cmake/help/v3.1/manual/cmake-language.7...)) и Escape-последовательностей (http://www.cmake.org/cmake/help/v3.1/manual/cmake-language.7...), который позволил задействовать значительно более быструю их реализацию;- Оператор "if" отныне автоматически не разыменовывает имена переменных внутри аргументов, заключенных в кавычки или скобки;
- В свойство цели "SOURCES" добавлена поддержка выражений генератора (http://www.cmake.org/cmake/help/v3.1/manual/cmake-generator-...)), которые могут использованы в командах "add_library" и
"add_executable";- Добавлена возможность записи и дополнения свойства цели "SOURCES". Для отслеживания исходного источника может использоваться переменная "CMAKE_DEBUG_TARGET_PROPERTIES";
- В CPack добавлена поддержка lzma-архивов с помощью генераторов "7Z" и "TXZ";- В модуль ExternalProject добавлена поддержка архивов, сжатых методом lzma: ".7z", ".tar.xz" и ".txz";- В команду ExternalProject_Add из модуля ExternalProject добавлена поддержка опции BUILD_ALWAYS для инициирования сборки внешнего проекта при каждой сборке базового проекта;
- В команду ctest_coverage() добавлена поддержка файлов покрытия утилиты codecov от Intel;- В команду ctest_memcheck() добавлена поддержка "Sanitizer"-режимов: "AddressSanitizer", "MemorySanitizer", "ThreadSanitizer" и "UndefinedBehaviorSanitizer".URL: http://www.cmake.org/pipermail/cmake/2014-December/059418.html
Новость: http://www.opennet.me/opennews/art.shtml?num=41292
Ура! Лучшая на данный момент система сборки. Надо будет почитать про новые фичи со времён 2.8
> Ура! Лучшая на данный момент система сборки.Смотря с чем сравнивать. В целом довольно глючная, на экзотичных ОС/конфигах спотыкается в два счета. Понять на чем запнулось без поллитры невозможно - логгинг зафэйленых проверок крайне поганый. В этом плане даже автотулсы лучше. Хоть они и кусок стремной скриптятины с шибанутыми закидонами.
Экзотичные OS/конфиги это, например, кто? FreeBSD, NetBSD, OpenBSD, Minix, кросс-компиляция с помощью mingw32, кросс-компиляция под gp2x, компиляция микрософтовским cl под wine - это только то с чем я сталкивался, всё работает без запинки. Про понять вы тоже соврамши - логгинг там такой же как у configure, только без мусора из тонн шеллового кода - вот тестовый код, так компилировался, такие ошибки.
"С чем сравнивать" это вы тоже дали, потому что сравнивать не с чем. Ну разве что с autocrap которые вы охарактеризовали совершенно точно, но несмотря на это они со своей задачей обычно справляются, а если нет их можно (хотя и сложно и всегда неприятно) подхачить. CMake справляется изкоробки гораздо чаще, и исправляется патчем в пару строк который всё равно можно отправить в upstream, если не просто определением переменной. А больше ничего и нет.
Что за сайт www.opennet.ru.tinymp.com вылез? На опеннете вирусы?
У меня для тебя две новости: хорошая и плохая.
Хорошая: на опеннете нет вируса.
> Что за сайт www.opennet.ru.tinymp.com вылез? На опеннете вирусы?Это у тебя на твоем маздае вирусы. Или кто-то немного патчит твой траффик.
Первое, что нужно установить, после первого открытия браузера https://adblockplus.org/ru/
первое это NoScript. второе уже Adblock.
Какой интересный сайт! По видимому там где-то спрятан интересный скрипт, но site:tinymp.com ничего не знает про него. /script.php /robots.txt /shell.php не найдены. Продолжаю исследования. Я не малолетка.
С ведроид-планшета тоже вылезло это чудо, перекинуло в маркет и предложило поставить UC Browser. Раньше такого небыло.
Это в Google AdSense завёлся кривой баннер. Подробнее http://www.opennet.me/openforum/vsluhforumID3/100956.html#51
Не совсем понятно, зачем делать всякие костыли к существующему под студией MSBuild - вряд ли можно сделать что-то значимое без цепляния проприетарных хуков. Я в том смысле, что мало найдётся популярного многоплатформенного софта, которому нужны вот эти ЦМАКЕ - скорее всего, делают проект сразу под какую-то IDE и потом расширяют сорсы проектами под другие IDE, импортируя туда существующий код.
Уважаемый еще не вырос из своей любимой студии и винды и не в курсе про открытую разработку.
> Уважаемый еще не вырос из своей любимой студии и винды и не
> в курсе про открытую разработку.А про разработку крупных коммерческих многоплатформенных систем даже и не догадывается.