CMake - полностью бесплатный проект с открытым исходным кодом, который был разработан с нуля, чтобы действовать как система сборки, компилятор для настройки системы, создания предварительного процессора, создания экземпляра и кода поколения в любой операционной системе GNU / Linux. Это программа командной строки, которая полностью запускается из среды консоли / терминала.
Особенности с первого взгляда
Ключевые функции включают поддержку сложных, больших сборных сред, возможность генерации собственных файлов сборки, мощные команды, которые позволяют разработчикам находить файлы, исполняемые файлы и библиотеки, внешние файлы CMake, которые содержат стандартные функции, интерфейс с системами тестирования, а также поддержка рекурсивного обхода каталога с наследованием переменных.
Кроме того, CMake поддерживает нестандартные и встроенные сборки, поддерживает условные сборки, поддерживает расширение регулярных выражений и несколько деревьев компиляции из одного дерева источников. Он может быть легко расширен для добавления новых функций и включает возможность запуска внешних программ.
Параметры командной строки
Программа поставляется с многочисленными опциями командной строки, организованными в двух основных разделах: «Параметры и генераторы». Разработчики смогут заполнять кеш путем предварительной загрузки скриптов, генерировать записи кэша CMake, включать или отключать предупреждения разработчиков, указывать генератор системы сборки и имя набора инструментов, а также запускать его в различных режимах или печатать различную информацию.
С другой стороны, компилятор CMake позволяет создавать стандартные файлы UNIX makefile, build.ninja, а также файлы проектов для CodeBlocks, CodeLite, Eclipse, KDevelop, Kate и Sublime Text 2.
Поддерживаемые операционные системы
Помимо GNU / Linux, CMake был успешно протестирован в коммерческих операционных системах Microsoft Windows и Mac OS X. В настоящее время поддерживаются 64-разрядные и 32-разрядные архитектуры наборов инструкций.
Под капотом и доступность
CMake написан полностью на языке программирования C ++, это кросс-платформенное программное обеспечение (см. ниже раздел для поддерживаемых операционных систем), и оно доступно для загрузки в качестве универсального источника tarball, а также готовых бинарных пакетов для вышеупомянутые ОС.
Что нового в этой версии:
- Новые функции:
- GUI:
- cmake-gui (1) получил опции для контроля предупреждений об устаревших функциях.
- cmake-gui (1) научился устанавливать набор инструментов для использования с генераторами VS IDE и Xcode, как и существующий вариант -T для cmake (1).
- cmake-gui (1) получил Проводник регулярных выражений, который может использоваться для создания и оценки регулярных выражений в режиме реального времени. Окно проводника доступно через меню «Сервис».
- из командной строки:
- Параметры -Wdev и -Wno-dev cmake (1) теперь также позволяют включать и отключать вывод устаревших предупреждений по умолчанию.
- Подавление предупреждений разработчика как ошибок теперь можно контролировать с помощью новых параметров -Werror = dev и -Wno-error = dev cmake (1).
- Средство командной строки cmake (1) -E copy, copy_if_different, copy_directory и make_directory научились поддерживать несколько входных файлов или каталогов.
- Команды
- Теперь команда cmake_parse_arguments () реализована изначально. Модуль CMakeParseArguments остается в качестве пустого места для совместимости.
- Команда install (DIRECTORY) научилась поддерживать выражения генератора в списке каталогов.
- Переменные
- Теперь переменную CMAKE_ERROR_DEPRECATED можно установить с помощью параметров -Werror = устаревших и -Wno-error = устаревших вариантов cmake (1).
- Теперь переменную CMAKE_WARN_DEPRECATED можно установить с помощью опций -Wdeprecated и -Wno-deprecated cmake (1).
- Свойства:
- Свойство VS_GLOBAL_ target теперь реализовано для VS 2010 и выше. Раньше он работал только в VS 2008 и ниже.
- Модули:
- Модуль ExternalProject узнал новый параметр GIT_REMOTE_NAME для управления значением git clone --origin.
- Теперь модуль FindBoost предоставляет импортированные цели, такие как Boost :: boost и Boost :: filesystem.
- Макрос FindFLEX FLEX_TARGET узнал новый параметр DEFINES_FILE, чтобы указать настраиваемый заголовок выходного файла, который будет сгенерирован.
- Теперь модуль FindGTest предоставляет импортированные цели.
- Модуль FindGTK2, когда включен GTK2_USE_IMPORTED_TARGETS, теперь устанавливает GTK2_LIBRARIES для хранения списка импортированных целей вместо путей к библиотекам. Кроме того, теперь он устанавливает новую переменную GTK2_TARGETS, содержащую все импортированные цели.
- Модуль FindOpenMP научился поддерживать Clang.
- Модуль FindOpenSSL получил новую опцию OPENSSL_MSVC_STATIC_RT для поиска библиотек с использованием статической среды выполнения MSVC.
- Модуль FindPNG теперь предоставляет импортированные цели.
- Модуль FindTIFF теперь предоставляет импортированные цели.
- Был найден модуль FindXalanC, чтобы найти библиотеку обработки преобразования XSL Xalan-C ++.
- Модуль FindXercesC теперь предоставляет импортированные цели.
- Платформы:
- Добавлена поддержка для компилятора ARM (arm.com) с идентификатором компилятора ARMCC.
- Добавлен новый файл платформы для кросс-компиляции в среде Cray Linux для целевых узлов вычислений. Подробнее см. Раздел «Компиляция кросс-компиляции для среды Cray Linux».
- Теперь функции Компиляционных функций теперь знают о функциях, поддерживаемых компиляторами Clang в Windows (MinGW).
- При создании встроенных платформ Apple, таких как iOS CMake, выучились создавать и устанавливать комбинированные цели, которые содержат как устройство, так и сборку симулятора. Это поведение можно включить, установив целевое свойство IOS_INSTALL_COMBINED.
- CPack:
- Модуль CPackDMG узнал новую переменную, чтобы указать, что файл AppleScript запускается для настройки внешнего вида папки установщика DragNDrop, включая настройку фонового изображения с использованием предоставленного PNG или файла TIFF с несколькими разрешениями. См. Переменные CPACK_DMG_DS_STORE_SETUP_SCRIPT и CPACK_DMG_BACKGROUND_IMAGE.
- Модуль CPackDeb научился устанавливать дополнительное поле исходного файла конфигурации с использованием монолитной или переменной для каждого компонента. См. CPACK_DEBIAN_PACKAGE_SOURCE.
- Модуль CPackDeb научился устанавливать поля управления пакетами, разделами и приоритетами для каждого компонента. См. Переменные CPACK_DEBIAN__PACKAGE_SECTION и CPACK_DEBIAN__PACKAGE_PRIORITY.
- Генератор CPack DragNDrop научился добавлять многоязычные SLA в DMG, который предоставляется пользователю при попытке установить DMG. Подробнее см. Переменные CPACK_DMG_SLA_LANGUAGES и CPACK_DMG_SLA_DIR.
- Модуль CPackNSIS узнал новые переменные, чтобы добавить растровые изображения к установщику. См. Переменные CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP и CPACK_NSIS_MUI_UNWELCOMEFINISHPAGE_BITMAP.
- Модуль CPackRPM научился устанавливать поля управления Name и Group для каждого компонента. См. CPACK_RPM__PACKAGE_NAME и CPACK_RPM__PACKAGE_GROUP.
- Другое:
- Предупреждения об устаревших функциях теперь включены по умолчанию. Они могут быть подавлены с -Wno-устаревшим или путем установки переменной CMAKE_WARN_DEPRECATED в значение false.
- Устаревшие и удаленные функции:
- Команда cmake (1) -E теперь корректно передает аргументы с пробелами или специальными символами в дочерний процесс. Это может нарушить скрипты, которые работали над ошибкой с их собственным дополнительным цитированием или экранированием.
- Генератор Xcode был исправлен для избежания обратных косых черт в строках последовательно с другими генераторами. Проекты, которые ранее работали над несогласованностью с дополнительным уровнем обратных косых черт, обусловленных генератором Xcode, должны быть обновлены, чтобы удалить обходной путь для CMake 3.5 и выше.
- Другие изменения:
- Генератор Visual Studio 14 2015 научился сопоставлять флаг / debug: fastlink linker с файлом .vcxproj.
- Теперь модуль FindGTK2 настраивает импортированную цель GTK2 :: sigc ++, чтобы включить c ++ 11 на своих иждивенцах при использовании sigc ++ 2.5.1 или новее.
- Предварительно скомпилированный двоичный файл Windows, представленный на cmake.org, теперь является пакетом .msi вместо исполняемого файла установщика. Возможно, потребуется вручную удалить версии CMake ниже 3.5 перед установкой нового пакета.
Что нового в версии 3.11.4:
- Новые функции:
- GUI:
- cmake-gui (1) получил опции для контроля предупреждений об устаревших функциях.
- cmake-gui (1) научился устанавливать набор инструментов для использования с генераторами VS IDE и Xcode, как и существующий вариант -T для cmake (1).
- cmake-gui (1) получил Проводник регулярных выражений, который может использоваться для создания и оценки регулярных выражений в режиме реального времени. Окно проводника доступно через меню «Сервис».
- из командной строки:
- Параметры -Wdev и -Wno-dev cmake (1) теперь также позволяют включать и отключать вывод устаревших предупреждений по умолчанию.
- Подавление предупреждений разработчика как ошибок теперь можно контролировать с помощью новых параметров -Werror = dev и -Wno-error = dev cmake (1).
- Средство командной строки cmake (1) -E copy, copy_if_different, copy_directory и make_directory научились поддерживать несколько входных файлов или каталогов.
- Команды
- Теперь команда cmake_parse_arguments () реализована изначально. Модуль CMakeParseArguments остается в качестве пустого места для совместимости.
- Команда install (DIRECTORY) научилась поддерживать выражения генератора в списке каталогов.
- Переменные
- Теперь переменную CMAKE_ERROR_DEPRECATED можно установить с помощью параметров -Werror = устаревших и -Wno-error = устаревших вариантов cmake (1).
- Теперь переменную CMAKE_WARN_DEPRECATED можно установить с помощью опций -Wdeprecated и -Wno-deprecated cmake (1).
- Свойства:
- Свойство VS_GLOBAL_ target теперь реализовано для VS 2010 и выше. Раньше он работал только в VS 2008 и ниже.
- Модули:
- Модуль ExternalProject узнал новый параметр GIT_REMOTE_NAME для управления значением git clone --origin.
- Теперь модуль FindBoost предоставляет импортированные цели, такие как Boost :: boost и Boost :: filesystem.
- Макрос FindFLEX FLEX_TARGET узнал новый параметр DEFINES_FILE, чтобы указать настраиваемый заголовок выходного файла, который будет сгенерирован.
- Теперь модуль FindGTest предоставляет импортированные цели.
- Модуль FindGTK2, когда включен GTK2_USE_IMPORTED_TARGETS, теперь устанавливает GTK2_LIBRARIES для хранения списка импортированных целей вместо путей к библиотекам. Кроме того, теперь он устанавливает новую переменную GTK2_TARGETS, содержащую все импортированные цели.
- Модуль FindOpenMP научился поддерживать Clang.
- Модуль FindOpenSSL получил новую опцию OPENSSL_MSVC_STATIC_RT для поиска библиотек с использованием статической среды выполнения MSVC.
- Модуль FindPNG теперь предоставляет импортированные цели.
- Модуль FindTIFF теперь предоставляет импортированные цели.
- Был найден модуль FindXalanC, чтобы найти библиотеку обработки преобразования XSL Xalan-C ++.
- Модуль FindXercesC теперь предоставляет импортированные цели.
- Платформы:
- Добавлена поддержка для компилятора ARM (arm.com) с идентификатором компилятора ARMCC.
- Добавлен новый файл платформы для кросс-компиляции в среде Cray Linux для целевых узлов вычислений. Подробнее см. Раздел «Компиляция кросс-компиляции для среды Cray Linux».
- Теперь функции Компиляционных функций теперь знают о функциях, поддерживаемых компиляторами Clang в Windows (MinGW).
- При создании встроенных платформ Apple, таких как iOS CMake, выучились создавать и устанавливать комбинированные цели, которые содержат как устройство, так и сборку симулятора. Это поведение можно включить, установив целевое свойство IOS_INSTALL_COMBINED.
- CPack:
- Модуль CPackDMG узнал новую переменную, чтобы указать, что файл AppleScript запускается для настройки внешнего вида папки установщика DragNDrop, включая настройку фонового изображения с использованием предоставленного PNG или файла TIFF с несколькими разрешениями. См. Переменные CPACK_DMG_DS_STORE_SETUP_SCRIPT и CPACK_DMG_BACKGROUND_IMAGE.
- Модуль CPackDeb научился устанавливать дополнительное поле исходного файла конфигурации с использованием монолитной или переменной для каждого компонента. См. CPACK_DEBIAN_PACKAGE_SOURCE.
- Модуль CPackDeb научился устанавливать поля управления пакетами, разделами и приоритетами для каждого компонента. См. Переменные CPACK_DEBIAN__PACKAGE_SECTION и CPACK_DEBIAN__PACKAGE_PRIORITY.
- Генератор CPack DragNDrop научился добавлять многоязычные SLA в DMG, который предоставляется пользователю при попытке установить DMG. Подробнее см. Переменные CPACK_DMG_SLA_LANGUAGES и CPACK_DMG_SLA_DIR.
- Модуль CPackNSIS узнал новые переменные, чтобы добавить растровые изображения к установщику. См. Переменные CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP и CPACK_NSIS_MUI_UNWELCOMEFINISHPAGE_BITMAP.
- Модуль CPackRPM научился устанавливать поля управления Name и Group для каждого компонента. См. CPACK_RPM__PACKAGE_NAME и CPACK_RPM__PACKAGE_GROUP.
- Другое:
- Предупреждения об устаревших функциях теперь включены по умолчанию. Они могут быть подавлены с -Wno-устаревшим или путем установки переменной CMAKE_WARN_DEPRECATED в значение false.
- Устаревшие и удаленные функции:
- Команда cmake (1) -E теперь корректно передает аргументы с пробелами или специальными символами в дочерний процесс. Это может нарушить скрипты, которые работали над ошибкой с их собственным дополнительным цитированием или экранированием.
- Генератор Xcode был исправлен для избежания обратных косых черт в строках последовательно с другими генераторами. Проекты, которые ранее работали над несогласованностью с дополнительным уровнем обратных косых черт, обусловленных генератором Xcode, должны быть обновлены, чтобы удалить обходной путь для CMake 3.5 и выше.
- Другие изменения:
- Генератор Visual Studio 14 2015 научился сопоставлять флаг / debug: fastlink linker с файлом .vcxproj.
- Теперь модуль FindGTK2 настраивает импортированную цель GTK2 :: sigc ++, чтобы включить c ++ 11 на своих иждивенцах при использовании sigc ++ 2.5.1 или новее.
- Предварительно скомпилированный двоичный файл Windows, представленный на cmake.org, теперь является пакетом .msi вместо исполняемого файла установщика. Возможно, потребуется вручную удалить версии CMake ниже 3.5 перед установкой нового пакета.
Что нового в версии:
- Новые функции:
- GUI:
- cmake-gui (1) получил опции для контроля предупреждений об устаревших функциях.
- cmake-gui (1) научился устанавливать набор инструментов для использования с генераторами VS IDE и Xcode, как и существующий вариант -T для cmake (1).
- cmake-gui (1) получил Проводник регулярных выражений, который может использоваться для создания и оценки регулярных выражений в режиме реального времени. Окно проводника доступно через меню «Сервис».
- из командной строки:
- Параметры -Wdev и -Wno-dev cmake (1) теперь также позволяют включать и отключать вывод устаревших предупреждений по умолчанию.
- Подавление предупреждений разработчика как ошибок теперь можно контролировать с помощью новых параметров -Werror = dev и -Wno-error = dev cmake (1).
- Средство командной строки cmake (1) -E copy, copy_if_different, copy_directory и make_directory научились поддерживать несколько входных файлов или каталогов.
- Команды
- Теперь команда cmake_parse_arguments () реализована изначально. Модуль CMakeParseArguments остается в качестве пустого места для совместимости.
- Команда install (DIRECTORY) научилась поддерживать выражения генератора в списке каталогов.
- Переменные
- Теперь переменную CMAKE_ERROR_DEPRECATED можно установить с помощью параметров -Werror = устаревших и -Wno-error = устаревших вариантов cmake (1).
- Теперь переменную CMAKE_WARN_DEPRECATED можно установить с помощью опций -Wdeprecated и -Wno-deprecated cmake (1).
- Свойства:
- Свойство VS_GLOBAL_ target теперь реализовано для VS 2010 и выше. Раньше он работал только в VS 2008 и ниже.
- Модули:
- Модуль ExternalProject узнал новый параметр GIT_REMOTE_NAME для управления значением git clone --origin.
- Теперь модуль FindBoost предоставляет импортированные цели, такие как Boost :: boost и Boost :: filesystem.
- Макрос FindFLEX FLEX_TARGET узнал новый параметр DEFINES_FILE, чтобы указать настраиваемый заголовок выходного файла, который будет сгенерирован.
- Теперь модуль FindGTest предоставляет импортированные цели.
- Модуль FindGTK2, когда включен GTK2_USE_IMPORTED_TARGETS, теперь устанавливает GTK2_LIBRARIES для хранения списка импортированных целей вместо путей к библиотекам. Кроме того, теперь он устанавливает новую переменную GTK2_TARGETS, содержащую все импортированные цели.
- Модуль FindOpenMP научился поддерживать Clang.
- Модуль FindOpenSSL получил новую опцию OPENSSL_MSVC_STATIC_RT для поиска библиотек с использованием статической среды выполнения MSVC.
- Модуль FindPNG теперь предоставляет импортированные цели.
- Модуль FindTIFF теперь предоставляет импортированные цели.
- Был найден модуль FindXalanC, чтобы найти библиотеку обработки преобразования XSL Xalan-C ++.
- Модуль FindXercesC теперь предоставляет импортированные цели.
- Платформы:
- Добавлена поддержка для компилятора ARM (arm.com) с идентификатором компилятора ARMCC.
- Добавлен новый файл платформы для кросс-компиляции в среде Cray Linux для целевых узлов вычислений. Подробнее см. Раздел «Компиляция кросс-компиляции для среды Cray Linux».
- Теперь функции Компиляционных функций теперь знают о функциях, поддерживаемых компиляторами Clang в Windows (MinGW).
- При создании встроенных платформ Apple, таких как iOS CMake, выучились создавать и устанавливать комбинированные цели, которые содержат как устройство, так и сборку симулятора. Это поведение можно включить, установив целевое свойство IOS_INSTALL_COMBINED.
- CPack:
- Модуль CPackDMG узнал новую переменную, чтобы указать, что файл AppleScript запускается для настройки внешнего вида папки установщика DragNDrop, включая настройку фонового изображения с использованием предоставленного PNG или файла TIFF с несколькими разрешениями. См. Переменные CPACK_DMG_DS_STORE_SETUP_SCRIPT и CPACK_DMG_BACKGROUND_IMAGE.
- Модуль CPackDeb научился устанавливать дополнительное поле исходного файла конфигурации с использованием монолитной или переменной для каждого компонента. См. CPACK_DEBIAN_PACKAGE_SOURCE.
- Модуль CPackDeb научился устанавливать поля управления пакетами, разделами и приоритетами для каждого компонента. См. Переменные CPACK_DEBIAN__PACKAGE_SECTION и CPACK_DEBIAN__PACKAGE_PRIORITY.
- Генератор CPack DragNDrop научился добавлять многоязычные SLA в DMG, который предоставляется пользователю при попытке установить DMG. Подробнее см. Переменные CPACK_DMG_SLA_LANGUAGES и CPACK_DMG_SLA_DIR.
- Модуль CPackNSIS узнал новые переменные, чтобы добавить растровые изображения к установщику. См. Переменные CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP и CPACK_NSIS_MUI_UNWELCOMEFINISHPAGE_BITMAP.
- Модуль CPackRPM научился устанавливать поля управления Name и Group для каждого компонента. См. CPACK_RPM__PACKAGE_NAME и CPACK_RPM__PACKAGE_GROUP.
- Другое:
- Предупреждения об устаревших функциях теперь включены по умолчанию. Они могут быть подавлены с -Wno-устаревшим или путем установки переменной CMAKE_WARN_DEPRECATED в значение false.
- Устаревшие и удаленные функции:
- Команда cmake (1) -E теперь корректно передает аргументы с пробелами или специальными символами в дочерний процесс. Это может нарушить скрипты, которые работали над ошибкой с их собственным дополнительным цитированием или экранированием.
- Генератор Xcode был исправлен для избежания обратных косых черт в строках последовательно с другими генераторами. Проекты, которые ранее работали над несогласованностью с дополнительным уровнем обратных косых черт, обусловленных генератором Xcode, должны быть обновлены, чтобы удалить обходной путь для CMake 3.5 и выше.
- Другие изменения:
- Генератор Visual Studio 14 2015 научился сопоставлять флаг / debug: fastlink linker с файлом .vcxproj.
- Теперь модуль FindGTK2 настраивает импортированную цель GTK2 :: sigc ++, чтобы включить c ++ 11 на своих иждивенцах при использовании sigc ++ 2.5.1 или новее.
- Предварительно скомпилированный двоичный файл Windows, представленный на cmake.org, теперь является пакетом .msi вместо исполняемого файла установщика. Возможно, потребуется вручную удалить версии CMake ниже 3.5 перед установкой нового пакета.
Что нового в версии 3.9.2:
- Новые функции:
- GUI:
- cmake-gui (1) получил опции для контроля предупреждений об устаревших функциях.
- cmake-gui (1) научился устанавливать набор инструментов для использования с генераторами VS IDE и Xcode, как и существующий вариант -T для cmake (1).
- cmake-gui (1) получил Проводник регулярных выражений, который может использоваться для создания и оценки регулярных выражений в режиме реального времени. Окно проводника доступно через меню «Сервис».
- из командной строки:
- Параметры -Wdev и -Wno-dev cmake (1) теперь также позволяют включать и отключать вывод устаревших предупреждений по умолчанию.
- Подавление предупреждений разработчика как ошибок теперь можно контролировать с помощью новых параметров -Werror = dev и -Wno-error = dev cmake (1).
- Средство командной строки cmake (1) -E copy, copy_if_different, copy_directory и make_directory научились поддерживать несколько входных файлов или каталогов.
- Команды
- Теперь команда cmake_parse_arguments () реализована изначально. Модуль CMakeParseArguments остается в качестве пустого места для совместимости.
- Команда install (DIRECTORY) научилась поддерживать выражения генератора в списке каталогов.
- Переменные
- Теперь переменную CMAKE_ERROR_DEPRECATED можно установить с помощью параметров -Werror = устаревших и -Wno-error = устаревших вариантов cmake (1).
- Теперь переменную CMAKE_WARN_DEPRECATED можно установить с помощью опций -Wdeprecated и -Wno-deprecated cmake (1).
- Свойства:
- Свойство VS_GLOBAL_ target теперь реализовано для VS 2010 и выше. Раньше он работал только в VS 2008 и ниже.
- Модули:
- Модуль ExternalProject узнал новый параметр GIT_REMOTE_NAME для управления значением git clone --origin.
- Теперь модуль FindBoost предоставляет импортированные цели, такие как Boost :: boost и Boost :: filesystem.
- Макрос FindFLEX FLEX_TARGET узнал новый параметр DEFINES_FILE, чтобы указать настраиваемый заголовок выходного файла, который будет сгенерирован.
- Теперь модуль FindGTest предоставляет импортированные цели.
- Модуль FindGTK2, когда включен GTK2_USE_IMPORTED_TARGETS, теперь устанавливает GTK2_LIBRARIES для хранения списка импортированных целей вместо путей к библиотекам. Кроме того, теперь он устанавливает новую переменную GTK2_TARGETS, содержащую все импортированные цели.
- Модуль FindOpenMP научился поддерживать Clang.
- Модуль FindOpenSSL получил новую опцию OPENSSL_MSVC_STATIC_RT для поиска библиотек с использованием статической среды выполнения MSVC.
- Модуль FindPNG теперь предоставляет импортированные цели.
- Модуль FindTIFF теперь предоставляет импортированные цели.
- Был найден модуль FindXalanC, чтобы найти библиотеку обработки преобразования XSL Xalan-C ++.
- Модуль FindXercesC теперь предоставляет импортированные цели.
- Платформы:
- Добавлена поддержка для компилятора ARM (arm.com) с идентификатором компилятора ARMCC.
- Добавлен новый файл платформы для кросс-компиляции в среде Cray Linux для целевых узлов вычислений. Подробнее см. Раздел «Компиляция кросс-компиляции для среды Cray Linux».
- Теперь функции Компиляционных функций теперь знают о функциях, поддерживаемых компиляторами Clang в Windows (MinGW).
- При создании встроенных платформ Apple, таких как iOS CMake, выучились создавать и устанавливать комбинированные цели, которые содержат как устройство, так и сборку симулятора. Это поведение можно включить, установив целевое свойство IOS_INSTALL_COMBINED.
- CPack:
- Модуль CPackDMG узнал новую переменную, чтобы указать, что файл AppleScript запускается для настройки внешнего вида папки установщика DragNDrop, включая настройку фонового изображения с использованием предоставленного PNG или файла TIFF с несколькими разрешениями. См. Переменные CPACK_DMG_DS_STORE_SETUP_SCRIPT и CPACK_DMG_BACKGROUND_IMAGE.
- Модуль CPackDeb научился устанавливать дополнительное поле исходного файла конфигурации с использованием монолитной или переменной для каждого компонента. См. CPACK_DEBIAN_PACKAGE_SOURCE.
- Модуль CPackDeb научился устанавливать поля управления пакетами, разделами и приоритетами для каждого компонента. См. Переменные CPACK_DEBIAN__PACKAGE_SECTION и CPACK_DEBIAN__PACKAGE_PRIORITY.
- Генератор CPack DragNDrop научился добавлять многоязычные SLA в DMG, который предоставляется пользователю при попытке установить DMG. Подробнее см. Переменные CPACK_DMG_SLA_LANGUAGES и CPACK_DMG_SLA_DIR.
- Модуль CPackNSIS узнал новые переменные, чтобы добавить растровые изображения к установщику. См. Переменные CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP и CPACK_NSIS_MUI_UNWELCOMEFINISHPAGE_BITMAP.
- Модуль CPackRPM научился устанавливать поля управления Name и Group для каждого компонента. См. CPACK_RPM__PACKAGE_NAME и CPACK_RPM__PACKAGE_GROUP.
- Другое:
- Предупреждения об устаревших функциях теперь включены по умолчанию. Они могут быть подавлены с -Wno-устаревшим или путем установки переменной CMAKE_WARN_DEPRECATED в значение false.
- Устаревшие и удаленные функции:
- Команда cmake (1) -E теперь корректно передает аргументы с пробелами или специальными символами в дочерний процесс. Это может нарушить скрипты, которые работали над ошибкой с их собственным дополнительным цитированием или экранированием.
- Генератор Xcode был исправлен для избежания обратных косых черт в строках последовательно с другими генераторами. Проекты, которые ранее работали над несогласованностью с дополнительным уровнем обратных косых черт, обусловленных генератором Xcode, должны быть обновлены, чтобы удалить обходной путь для CMake 3.5 и выше.
- Другие изменения:
- Генератор Visual Studio 14 2015 научился сопоставлять флаг / debug: fastlink linker с файлом .vcxproj.
- Теперь модуль FindGTK2 настраивает импортированную цель GTK2 :: sigc ++, чтобы включить c ++ 11 на своих иждивенцах при использовании sigc ++ 2.5.1 или новее.
- Предварительно скомпилированный двоичный файл Windows, представленный на cmake.org, теперь является пакетом .msi вместо исполняемого файла установщика. Возможно, потребуется вручную удалить версии CMake ниже 3.5 перед установкой нового пакета.
Что нового в версии 3.8.1:
- Новые функции:
- GUI:
- cmake-gui (1) получил опции для контроля предупреждений об устаревших функциях.
- cmake-gui (1) научился устанавливать набор инструментов для использования с генераторами VS IDE и Xcode, как и существующий вариант -T для cmake (1).
- cmake-gui (1) получил Проводник регулярных выражений, который может использоваться для создания и оценки регулярных выражений в режиме реального времени. Окно проводника доступно через меню «Сервис».
- из командной строки:
- Параметры -Wdev и -Wno-dev cmake (1) теперь также позволяют включать и отключать вывод устаревших предупреждений по умолчанию.
- Подавление предупреждений разработчика как ошибок теперь можно контролировать с помощью новых параметров -Werror = dev и -Wno-error = dev cmake (1).
- Средство командной строки cmake (1) -E copy, copy_if_different, copy_directory и make_directory научились поддерживать несколько входных файлов или каталогов.
- Команды
- Теперь команда cmake_parse_arguments () реализована изначально. Модуль CMakeParseArguments остается в качестве пустого места для совместимости.
- Команда install (DIRECTORY) научилась поддерживать выражения генератора в списке каталогов.
- Переменные
- Теперь переменную CMAKE_ERROR_DEPRECATED можно установить с помощью параметров -Werror = устаревших и -Wno-error = устаревших вариантов cmake (1).
- Теперь переменную CMAKE_WARN_DEPRECATED можно установить с помощью опций -Wdeprecated и -Wno-deprecated cmake (1).
- Свойства:
- Свойство VS_GLOBAL_ target теперь реализовано для VS 2010 и выше. Раньше он работал только в VS 2008 и ниже.
- Модули:
- Модуль ExternalProject узнал новый параметр GIT_REMOTE_NAME для управления значением git clone --origin.
- Теперь модуль FindBoost предоставляет импортированные цели, такие как Boost :: boost и Boost :: filesystem.
- Макрос FindFLEX FLEX_TARGET узнал новый параметр DEFINES_FILE, чтобы указать настраиваемый заголовок выходного файла, который будет сгенерирован.
- Теперь модуль FindGTest предоставляет импортированные цели.
- Модуль FindGTK2, когда включен GTK2_USE_IMPORTED_TARGETS, теперь устанавливает GTK2_LIBRARIES для хранения списка импортированных целей вместо путей к библиотекам. Кроме того, теперь он устанавливает новую переменную GTK2_TARGETS, содержащую все импортированные цели.
- Модуль FindOpenMP научился поддерживать Clang.
- Модуль FindOpenSSL получил новую опцию OPENSSL_MSVC_STATIC_RT для поиска библиотек с использованием статической среды выполнения MSVC.
- Модуль FindPNG теперь предоставляет импортированные цели.
- Модуль FindTIFF теперь предоставляет импортированные цели.
- Был найден модуль FindXalanC, чтобы найти библиотеку обработки преобразования XSL Xalan-C ++.
- Модуль FindXercesC теперь предоставляет импортированные цели.
- Платформы:
- Добавлена поддержка для компилятора ARM (arm.com) с идентификатором компилятора ARMCC.
- Добавлен новый файл платформы для кросс-компиляции в среде Cray Linux для целевых узлов вычислений. Подробнее см. Раздел «Компиляция кросс-компиляции для среды Cray Linux».
- Теперь функции Компиляционных функций теперь знают о функциях, поддерживаемых компиляторами Clang в Windows (MinGW).
- При создании встроенных платформ Apple, таких как iOS CMake, выучились создавать и устанавливать комбинированные цели, которые содержат как устройство, так и сборку симулятора. Это поведение можно включить, установив целевое свойство IOS_INSTALL_COMBINED.
- CPack:
- Модуль CPackDMG узнал новую переменную, чтобы указать, что файл AppleScript запускается для настройки внешнего вида папки установщика DragNDrop, включая настройку фонового изображения с использованием предоставленного PNG или файла TIFF с несколькими разрешениями. См. Переменные CPACK_DMG_DS_STORE_SETUP_SCRIPT и CPACK_DMG_BACKGROUND_IMAGE.
- Модуль CPackDeb научился устанавливать дополнительное поле исходного файла конфигурации с использованием монолитной или переменной для каждого компонента. См. CPACK_DEBIAN_PACKAGE_SOURCE.
- Модуль CPackDeb научился устанавливать поля управления пакетами, разделами и приоритетами для каждого компонента. См. Переменные CPACK_DEBIAN__PACKAGE_SECTION и CPACK_DEBIAN__PACKAGE_PRIORITY.
- Генератор CPack DragNDrop научился добавлять многоязычные SLA в DMG, который предоставляется пользователю при попытке установить DMG. Подробнее см. Переменные CPACK_DMG_SLA_LANGUAGES и CPACK_DMG_SLA_DIR.
- Модуль CPackNSIS узнал новые переменные, чтобы добавить растровые изображения к установщику. См. Переменные CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP и CPACK_NSIS_MUI_UNWELCOMEFINISHPAGE_BITMAP.
- Модуль CPackRPM научился устанавливать поля управления Name и Group для каждого компонента. См. CPACK_RPM__PACKAGE_NAME и CPACK_RPM__PACKAGE_GROUP.
- Другое:
- Предупреждения об устаревших функциях теперь включены по умолчанию. Они могут быть подавлены с -Wno-устаревшим или путем установки переменной CMAKE_WARN_DEPRECATED в значение false.
- Устаревшие и удаленные функции:
- Команда cmake (1) -E теперь корректно передает аргументы с пробелами или специальными символами в дочерний процесс. Это может нарушить скрипты, которые работали над ошибкой с их собственным дополнительным цитированием или экранированием.
- Генератор Xcode был исправлен для избежания обратных косых черт в строках последовательно с другими генераторами. Проекты, которые ранее работали над несогласованностью с дополнительным уровнем обратных косых черт, обусловленных генератором Xcode, должны быть обновлены, чтобы удалить обходной путь для CMake 3.5 и выше.
- Другие изменения:
- Генератор Visual Studio 14 2015 научился сопоставлять флаг / debug: fastlink linker с файлом .vcxproj.
- Теперь модуль FindGTK2 настраивает импортированную цель GTK2 :: sigc ++, чтобы включить c ++ 11 на своих иждивенцах при использовании sigc ++ 2.5.1 или новее.
- Предварительно скомпилированный двоичный файл Windows, представленный на cmake.org, теперь является пакетом .msi вместо исполняемого файла установщика. Возможно, потребуется вручную удалить версии CMake ниже 3.5 перед установкой нового пакета.
Что нового в версии 3.8.0:
- Новые функции:
- GUI:
- cmake-gui (1) получил опции для контроля предупреждений об устаревших функциях.
- cmake-gui (1) научился устанавливать набор инструментов для использования с генераторами VS IDE и Xcode, как и существующий вариант -T для cmake (1).
- cmake-gui (1) получил Проводник регулярных выражений, который может использоваться для создания и оценки регулярных выражений в режиме реального времени. Окно проводника доступно через меню «Сервис».
- из командной строки:
- Параметры -Wdev и -Wno-dev cmake (1) теперь также позволяют включать и отключать вывод устаревших предупреждений по умолчанию.
- Подавление предупреждений разработчика как ошибок теперь можно контролировать с помощью новых параметров -Werror = dev и -Wno-error = dev cmake (1).
- Средство командной строки cmake (1) -E copy, copy_if_different, copy_directory и make_directory научились поддерживать несколько входных файлов или каталогов.
- Команды
- Теперь команда cmake_parse_arguments () реализована изначально. Модуль CMakeParseArguments остается в качестве пустого места для совместимости.
- Команда install (DIRECTORY) научилась поддерживать выражения генератора в списке каталогов.
- Переменные
- Теперь переменную CMAKE_ERROR_DEPRECATED можно установить с помощью параметров -Werror = устаревших и -Wno-error = устаревших вариантов cmake (1).
- Теперь переменную CMAKE_WARN_DEPRECATED можно установить с помощью опций -Wdeprecated и -Wno-deprecated cmake (1).
- Свойства:
- Свойство VS_GLOBAL_ target теперь реализовано для VS 2010 и выше. Раньше он работал только в VS 2008 и ниже.
- Модули:
- Модуль ExternalProject узнал новый параметр GIT_REMOTE_NAME для управления значением git clone --origin.
- Теперь модуль FindBoost предоставляет импортированные цели, такие как Boost :: boost и Boost :: filesystem.
- Макрос FindFLEX FLEX_TARGET узнал новый параметр DEFINES_FILE, чтобы указать настраиваемый заголовок выходного файла, который будет сгенерирован.
- Теперь модуль FindGTest предоставляет импортированные цели.
- Модуль FindGTK2, когда включен GTK2_USE_IMPORTED_TARGETS, теперь устанавливает GTK2_LIBRARIES для хранения списка импортированных целей вместо путей к библиотекам. Кроме того, теперь он устанавливает новую переменную GTK2_TARGETS, содержащую все импортированные цели.
- Модуль FindOpenMP научился поддерживать Clang.
- Модуль FindOpenSSL получил новую опцию OPENSSL_MSVC_STATIC_RT для поиска библиотек с использованием статической среды выполнения MSVC.
- Модуль FindPNG теперь предоставляет импортированные цели.
- Модуль FindTIFF теперь предоставляет импортированные цели.
- Был найден модуль FindXalanC, чтобы найти библиотеку обработки преобразования XSL Xalan-C ++.
- Модуль FindXercesC теперь предоставляет импортированные цели.
- Платформы:
- Добавлена поддержка для компилятора ARM (arm.com) с идентификатором компилятора ARMCC.
- Добавлен новый файл платформы для кросс-компиляции в среде Cray Linux для целевых узлов вычислений. Подробнее см. Раздел «Компиляция кросс-компиляции для среды Cray Linux».
- Теперь функции Компиляционных функций теперь знают о функциях, поддерживаемых компиляторами Clang в Windows (MinGW).
- При создании встроенных платформ Apple, таких как iOS CMake, выучились создавать и устанавливать комбинированные цели, которые содержат как устройство, так и сборку симулятора. Это поведение можно включить, установив целевое свойство IOS_INSTALL_COMBINED.
- CPack:
- Модуль CPackDMG узнал новую переменную, чтобы указать, что файл AppleScript запускается для настройки внешнего вида папки установщика DragNDrop, включая настройку фонового изображения с использованием предоставленного PNG или файла TIFF с несколькими разрешениями. См. Переменные CPACK_DMG_DS_STORE_SETUP_SCRIPT и CPACK_DMG_BACKGROUND_IMAGE.
- Модуль CPackDeb научился устанавливать дополнительное поле исходного файла конфигурации с использованием монолитной или переменной для каждого компонента. См. CPACK_DEBIAN_PACKAGE_SOURCE.
- Модуль CPackDeb научился устанавливать поля управления пакетами, разделами и приоритетами для каждого компонента. См. Переменные CPACK_DEBIAN__PACKAGE_SECTION и CPACK_DEBIAN__PACKAGE_PRIORITY.
- Генератор CPack DragNDrop научился добавлять многоязычные SLA в DMG, который предоставляется пользователю при попытке установить DMG. Подробнее см. Переменные CPACK_DMG_SLA_LANGUAGES и CPACK_DMG_SLA_DIR.
- Модуль CPackNSIS узнал новые переменные, чтобы добавить растровые изображения к установщику. См. Переменные CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP и CPACK_NSIS_MUI_UNWELCOMEFINISHPAGE_BITMAP.
- Модуль CPackRPM научился устанавливать поля управления Name и Group для каждого компонента. См. CPACK_RPM__PACKAGE_NAME и CPACK_RPM__PACKAGE_GROUP.
- Другое:
- Предупреждения об устаревших функциях теперь включены по умолчанию. Они могут быть подавлены с -Wno-устаревшим или путем установки переменной CMAKE_WARN_DEPRECATED в значение false.
- Устаревшие и удаленные функции:
- Команда cmake (1) -E теперь корректно передает аргументы с пробелами или специальными символами в дочерний процесс. Это может нарушить скрипты, которые работали над ошибкой с их собственным дополнительным цитированием или экранированием.
- Генератор Xcode был исправлен для избежания обратных косых черт в строках последовательно с другими генераторами. Проекты, которые ранее работали над несогласованностью с дополнительным уровнем обратных косых черт, обусловленных генератором Xcode, должны быть обновлены, чтобы удалить обходной путь для CMake 3.5 и выше.
- Другие изменения:
- Генератор Visual Studio 14 2015 научился сопоставлять флаг / debug: fastlink linker с файлом .vcxproj.
- Теперь модуль FindGTK2 настраивает импортированную цель GTK2 :: sigc ++, чтобы включить c ++ 11 на своих иждивенцах при использовании sigc ++ 2.5.1 или новее.
- Предварительно скомпилированный двоичный файл Windows, представленный на cmake.org, теперь является пакетом .msi вместо исполняемого файла установщика. Возможно, потребуется вручную удалить версии CMake ниже 3.5 перед установкой нового пакета.
Что нового в версии 3.7.2:
- Новые функции:
- GUI:
- cmake-gui (1) получил опции для контроля предупреждений об устаревших функциях.
- cmake-gui (1) научился устанавливать набор инструментов для использования с генераторами VS IDE и Xcode, как и существующий вариант -T для cmake (1).
- cmake-gui (1) получил Проводник регулярных выражений, который может использоваться для создания и оценки регулярных выражений в режиме реального времени. Окно проводника доступно через меню «Сервис».
- из командной строки:
- Параметры -Wdev и -Wno-dev cmake (1) теперь также позволяют включать и отключать вывод устаревших предупреждений по умолчанию.
- Подавление предупреждений разработчика как ошибок теперь можно контролировать с помощью новых параметров -Werror = dev и -Wno-error = dev cmake (1).
- Средство командной строки cmake (1) -E copy, copy_if_different, copy_directory и make_directory научились поддерживать несколько входных файлов или каталогов.
- Команды
- Теперь команда cmake_parse_arguments () реализована изначально. Модуль CMakeParseArguments остается в качестве пустого места для совместимости.
- Команда install (DIRECTORY) научилась поддерживать выражения генератора в списке каталогов.
- Переменные
- Теперь переменную CMAKE_ERROR_DEPRECATED можно установить с помощью параметров -Werror = устаревших и -Wno-error = устаревших вариантов cmake (1).
- Теперь переменную CMAKE_WARN_DEPRECATED можно установить с помощью опций -Wdeprecated и -Wno-deprecated cmake (1).
- Свойства:
- Свойство VS_GLOBAL_ target теперь реализовано для VS 2010 и выше. Раньше он работал только в VS 2008 и ниже.
- Модули:
- Модуль ExternalProject узнал новый параметр GIT_REMOTE_NAME для управления значением git clone --origin.
- Теперь модуль FindBoost предоставляет импортированные цели, такие как Boost :: boost и Boost :: filesystem.
- Макрос FindFLEX FLEX_TARGET узнал новый параметр DEFINES_FILE, чтобы указать настраиваемый заголовок выходного файла, который будет сгенерирован.
- Теперь модуль FindGTest предоставляет импортированные цели.
- Модуль FindGTK2, когда включен GTK2_USE_IMPORTED_TARGETS, теперь устанавливает GTK2_LIBRARIES для хранения списка импортированных целей вместо путей к библиотекам. Кроме того, теперь он устанавливает новую переменную GTK2_TARGETS, содержащую все импортированные цели.
- Модуль FindOpenMP научился поддерживать Clang.
- Модуль FindOpenSSL получил новую опцию OPENSSL_MSVC_STATIC_RT для поиска библиотек с использованием статической среды выполнения MSVC.
- Модуль FindPNG теперь предоставляет импортированные цели.
- Модуль FindTIFF теперь предоставляет импортированные цели.
- Был найден модуль FindXalanC, чтобы найти библиотеку обработки преобразования XSL Xalan-C ++.
- Модуль FindXercesC теперь предоставляет импортированные цели.
- Платформы:
- Добавлена поддержка для компилятора ARM (arm.com) с идентификатором компилятора ARMCC.
- Добавлен новый файл платформы для кросс-компиляции в среде Cray Linux для целевых узлов вычислений. Подробнее см. Раздел «Компиляция кросс-компиляции для среды Cray Linux».
- Теперь функции Компиляционных функций теперь знают о функциях, поддерживаемых компиляторами Clang в Windows (MinGW).
- При создании встроенных платформ Apple, таких как iOS CMake, выучились создавать и устанавливать комбинированные цели, которые содержат как устройство, так и сборку симулятора. Это поведение можно включить, установив целевое свойство IOS_INSTALL_COMBINED.
- CPack:
- Модуль CPackDMG узнал новую переменную, чтобы указать, что файл AppleScript запускается для настройки внешнего вида папки установщика DragNDrop, включая настройку фонового изображения с использованием предоставленного PNG или файла TIFF с несколькими разрешениями. См. Переменные CPACK_DMG_DS_STORE_SETUP_SCRIPT и CPACK_DMG_BACKGROUND_IMAGE.
- Модуль CPackDeb научился устанавливать дополнительное поле исходного файла конфигурации с использованием монолитной или переменной для каждого компонента. См. CPACK_DEBIAN_PACKAGE_SOURCE.
- Модуль CPackDeb научился устанавливать поля управления пакетами, разделами и приоритетами для каждого компонента. См. Переменные CPACK_DEBIAN__PACKAGE_SECTION и CPACK_DEBIAN__PACKAGE_PRIORITY.
- Генератор CPack DragNDrop научился добавлять многоязычные SLA в DMG, который предоставляется пользователю при попытке установить DMG. Подробнее см. Переменные CPACK_DMG_SLA_LANGUAGES и CPACK_DMG_SLA_DIR.
- Модуль CPackNSIS узнал новые переменные, чтобы добавить растровые изображения к установщику. См. Переменные CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP и CPACK_NSIS_MUI_UNWELCOMEFINISHPAGE_BITMAP.
- Модуль CPackRPM научился устанавливать поля управления Name и Group для каждого компонента. См. CPACK_RPM__PACKAGE_NAME и CPACK_RPM__PACKAGE_GROUP.
- Другое:
- Предупреждения об устаревших функциях теперь включены по умолчанию. Они могут быть подавлены с -Wno-устаревшим или путем установки переменной CMAKE_WARN_DEPRECATED в значение false.
- Устаревшие и удаленные функции:
- Команда cmake (1) -E теперь корректно передает аргументы с пробелами или специальными символами в дочерний процесс. Это может нарушить скрипты, которые работали над ошибкой с их собственным дополнительным цитированием или экранированием.
- Генератор Xcode был исправлен для избежания обратных косых черт в строках последовательно с другими генераторами. Проекты, которые ранее работали над несогласованностью с дополнительным уровнем обратных косых черт, обусловленных генератором Xcode, должны быть обновлены, чтобы удалить обходной путь для CMake 3.5 и выше.
- Другие изменения:
- Генератор Visual Studio 14 2015 научился сопоставлять флаг / debug: fastlink linker с файлом .vcxproj.
- Теперь модуль FindGTK2 настраивает импортированную цель GTK2 :: sigc ++, чтобы включить c ++ 11 на своих иждивенцах при использовании sigc ++ 2.5.1 или новее.
- Предварительно скомпилированный двоичный файл Windows, представленный на cmake.org, теперь является пакетом .msi вместо исполняемого файла установщика. Возможно, потребуется вручную удалить версии CMake ниже 3.5 перед установкой нового пакета.
Что нового в версии 3.7.1:
- Новые функции:
- GUI:
- cmake-gui (1) получил опции для контроля предупреждений об устаревших функциях.
- cmake-gui (1) научился устанавливать набор инструментов для использования с генераторами VS IDE и Xcode, как и существующий вариант -T для cmake (1).
- cmake-gui (1) получил Проводник регулярных выражений, который может использоваться для создания и оценки регулярных выражений в режиме реального времени. Окно проводника доступно через меню «Сервис».
- из командной строки:
- Параметры -Wdev и -Wno-dev cmake (1) теперь также позволяют включать и отключать вывод устаревших предупреждений по умолчанию.
- Подавление предупреждений разработчика как ошибок теперь можно контролировать с помощью новых параметров -Werror = dev и -Wno-error = dev cmake (1).
- Средство командной строки cmake (1) -E copy, copy_if_different, copy_directory и make_directory научились поддерживать несколько входных файлов или каталогов.
- Команды
- Теперь команда cmake_parse_arguments () реализована изначально. Модуль CMakeParseArguments остается в качестве пустого места для совместимости.
- Команда install (DIRECTORY) научилась поддерживать выражения генератора в списке каталогов.
- Переменные
- Теперь переменную CMAKE_ERROR_DEPRECATED можно установить с помощью параметров -Werror = устаревших и -Wno-error = устаревших вариантов cmake (1).
- Теперь переменную CMAKE_WARN_DEPRECATED можно установить с помощью опций -Wdeprecated и -Wno-deprecated cmake (1).
- Свойства:
- Свойство VS_GLOBAL_ target теперь реализовано для VS 2010 и выше. Раньше он работал только в VS 2008 и ниже.
- Модули:
- Модуль ExternalProject узнал новый параметр GIT_REMOTE_NAME для управления значением git clone --origin.
- Теперь модуль FindBoost предоставляет импортированные цели, такие как Boost :: boost и Boost :: filesystem.
- Макрос FindFLEX FLEX_TARGET узнал новый параметр DEFINES_FILE, чтобы указать настраиваемый заголовок выходного файла, который будет сгенерирован.
- Теперь модуль FindGTest предоставляет импортированные цели.
- Модуль FindGTK2, когда включен GTK2_USE_IMPORTED_TARGETS, теперь устанавливает GTK2_LIBRARIES для хранения списка импортированных целей вместо путей к библиотекам. Кроме того, теперь он устанавливает новую переменную GTK2_TARGETS, содержащую все импортированные цели.
- Модуль FindOpenMP научился поддерживать Clang.
- Модуль FindOpenSSL получил новую опцию OPENSSL_MSVC_STATIC_RT для поиска библиотек с использованием статической среды выполнения MSVC.
- Модуль FindPNG теперь предоставляет импортированные цели.
- Модуль FindTIFF теперь предоставляет импортированные цели.
- Был найден модуль FindXalanC, чтобы найти библиотеку обработки преобразования XSL Xalan-C ++.
- Модуль FindXercesC теперь предоставляет импортированные цели.
- Платформы:
- Добавлена поддержка для компилятора ARM (arm.com) с идентификатором компилятора ARMCC.
- Добавлен новый файл платформы для кросс-компиляции в среде Cray Linux для целевых узлов вычислений. Подробнее см. Раздел «Компиляция кросс-компиляции для среды Cray Linux».
- Теперь функции Компиляционных функций теперь знают о функциях, поддерживаемых компиляторами Clang в Windows (MinGW).
- При создании встроенных платформ Apple, таких как iOS CMake, выучились создавать и устанавливать комбинированные цели, которые содержат как устройство, так и сборку симулятора. Это поведение можно включить, установив целевое свойство IOS_INSTALL_COMBINED.
- CPack:
- Модуль CPackDMG узнал новую переменную, чтобы указать, что файл AppleScript запускается для настройки внешнего вида папки установщика DragNDrop, включая настройку фонового изображения с использованием предоставленного PNG или файла TIFF с несколькими разрешениями. См. Переменные CPACK_DMG_DS_STORE_SETUP_SCRIPT и CPACK_DMG_BACKGROUND_IMAGE.
- Модуль CPackDeb научился устанавливать дополнительное поле исходного файла конфигурации с использованием монолитной или переменной для каждого компонента. См. CPACK_DEBIAN_PACKAGE_SOURCE.
- Модуль CPackDeb научился устанавливать поля управления пакетами, разделами и приоритетами для каждого компонента. См. Переменные CPACK_DEBIAN__PACKAGE_SECTION и CPACK_DEBIAN__PACKAGE_PRIORITY.
- Генератор CPack DragNDrop научился добавлять многоязычные SLA в DMG, который предоставляется пользователю при попытке установить DMG. Подробнее см. Переменные CPACK_DMG_SLA_LANGUAGES и CPACK_DMG_SLA_DIR.
- Модуль CPackNSIS узнал новые переменные, чтобы добавить растровые изображения к установщику. См. Переменные CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP и CPACK_NSIS_MUI_UNWELCOMEFINISHPAGE_BITMAP.
- Модуль CPackRPM научился устанавливать поля управления Name и Group для каждого компонента. См. CPACK_RPM__PACKAGE_NAME и CPACK_RPM__PACKAGE_GROUP.
- Другое:
- Предупреждения об устаревших функциях теперь включены по умолчанию. Они могут быть подавлены с -Wno-устаревшим или путем установки переменной CMAKE_WARN_DEPRECATED в значение false.
- Устаревшие и удаленные функции:
- Команда cmake (1) -E теперь корректно передает аргументы с пробелами или специальными символами в дочерний процесс. Это может нарушить скрипты, которые работали над ошибкой с их собственным дополнительным цитированием или экранированием.
- Генератор Xcode был исправлен для избежания обратных косых черт в строках последовательно с другими генераторами. Проекты, которые ранее работали над несогласованностью с дополнительным уровнем обратных косых черт, обусловленных генератором Xcode, должны быть обновлены, чтобы удалить обходной путь для CMake 3.5 и выше.
- Другие изменения:
- Генератор Visual Studio 14 2015 научился сопоставлять флаг / debug: fastlink linker с файлом .vcxproj.
- Теперь модуль FindGTK2 настраивает импортированную цель GTK2 :: sigc ++, чтобы включить c ++ 11 на своих иждивенцах при использовании sigc ++ 2.5.1 или новее.
- Предварительно скомпилированный двоичный файл Windows, представленный на cmake.org, теперь является пакетом .msi вместо исполняемого файла установщика. Возможно, потребуется вручную удалить версии CMake ниже 3.5 перед установкой нового пакета.
Что нового в версии 3.7.0:
- Новые функции:
- GUI:
- cmake-gui (1) получил опции для контроля предупреждений об устаревших функциях.
- cmake-gui (1) научился устанавливать набор инструментов для использования с генераторами VS IDE и Xcode, как и существующий вариант -T для cmake (1).
- cmake-gui (1) получил Проводник регулярных выражений, который может использоваться для создания и оценки регулярных выражений в режиме реального времени. Окно проводника доступно через меню «Сервис».
- из командной строки:
- Параметры -Wdev и -Wno-dev cmake (1) теперь также позволяют включать и отключать вывод устаревших предупреждений по умолчанию.
- Подавление предупреждений разработчика как ошибок теперь можно контролировать с помощью новых параметров -Werror = dev и -Wno-error = dev cmake (1).
- Средство командной строки cmake (1) -E copy, copy_if_different, copy_directory и make_directory научились поддерживать несколько входных файлов или каталогов.
- Команды
- Теперь команда cmake_parse_arguments () реализована изначально. Модуль CMakeParseArguments остается в качестве пустого места для совместимости.
- Команда install (DIRECTORY) научилась поддерживать выражения генератора в списке каталогов.
- Переменные
- Теперь переменную CMAKE_ERROR_DEPRECATED можно установить с помощью параметров -Werror = устаревших и -Wno-error = устаревших вариантов cmake (1).
- Теперь переменную CMAKE_WARN_DEPRECATED можно установить с помощью опций -Wdeprecated и -Wno-deprecated cmake (1).
- Свойства:
- Свойство VS_GLOBAL_ target теперь реализовано для VS 2010 и выше. Раньше он работал только в VS 2008 и ниже.
- Модули:
- Модуль ExternalProject узнал новый параметр GIT_REMOTE_NAME для управления значением git clone --origin.
- Теперь модуль FindBoost предоставляет импортированные цели, такие как Boost :: boost и Boost :: filesystem.
- Макрос FindFLEX FLEX_TARGET узнал новый параметр DEFINES_FILE, чтобы указать настраиваемый заголовок выходного файла, который будет сгенерирован.
- Теперь модуль FindGTest предоставляет импортированные цели.
- Модуль FindGTK2, когда включен GTK2_USE_IMPORTED_TARGETS, теперь устанавливает GTK2_LIBRARIES для хранения списка импортированных целей вместо путей к библиотекам. Кроме того, теперь он устанавливает новую переменную GTK2_TARGETS, содержащую все импортированные цели.
- Модуль FindOpenMP научился поддерживать Clang.
- Модуль FindOpenSSL получил новую опцию OPENSSL_MSVC_STATIC_RT для поиска библиотек с использованием статической среды выполнения MSVC.
- Модуль FindPNG теперь предоставляет импортированные цели.
- Модуль FindTIFF теперь предоставляет импортированные цели.
- Был найден модуль FindXalanC, чтобы найти библиотеку обработки преобразования XSL Xalan-C ++.
- Модуль FindXercesC теперь предоставляет импортированные цели.
- Платформы:
- Добавлена поддержка для компилятора ARM (arm.com) с идентификатором компилятора ARMCC.
- Добавлен новый файл платформы для кросс-компиляции в среде Cray Linux для целевых узлов вычислений. Подробнее см. Раздел «Компиляция кросс-компиляции для среды Cray Linux».
- Теперь функции Компиляционных функций теперь знают о функциях, поддерживаемых компиляторами Clang в Windows (MinGW).
- При создании встроенных платформ Apple, таких как iOS CMake, выучились создавать и устанавливать комбинированные цели, которые содержат как устройство, так и сборку симулятора. Это поведение можно включить, установив целевое свойство IOS_INSTALL_COMBINED.
- CPack:
- Модуль CPackDMG узнал новую переменную, чтобы указать, что файл AppleScript запускается для настройки внешнего вида папки установщика DragNDrop, включая настройку фонового изображения с использованием предоставленного PNG или файла TIFF с несколькими разрешениями. См. Переменные CPACK_DMG_DS_STORE_SETUP_SCRIPT и CPACK_DMG_BACKGROUND_IMAGE.
- Модуль CPackDeb научился устанавливать дополнительное поле исходного файла конфигурации с использованием монолитной или переменной для каждого компонента. См. CPACK_DEBIAN_PACKAGE_SOURCE.
- Модуль CPackDeb научился устанавливать поля управления пакетами, разделами и приоритетами для каждого компонента. См. Переменные CPACK_DEBIAN__PACKAGE_SECTION и CPACK_DEBIAN__PACKAGE_PRIORITY.
- Генератор CPack DragNDrop научился добавлять многоязычные SLA в DMG, который предоставляется пользователю при попытке установить DMG. Подробнее см. Переменные CPACK_DMG_SLA_LANGUAGES и CPACK_DMG_SLA_DIR.
- Модуль CPackNSIS узнал новые переменные, чтобы добавить растровые изображения к установщику. См. Переменные CPACK_NSIS_MUI_WELCOMEFINISHPAGE_BITMAP и CPACK_NSIS_MUI_UNWELCOMEFINISHPAGE_BITMAP.
- Модуль CPackRPM научился устанавливать поля управления Name и Group для каждого компонента. См. CPACK_RPM__PACKAGE_NAME и CPACK_RPM__PACKAGE_GROUP.
- Другое:
- Предупреждения об устаревших функциях теперь включены по умолчанию. Они могут быть подавлены с -Wno-устаревшим или путем установки переменной CMAKE_WARN_DEPRECATED в значение false.
- Устаревшие и удаленные функции:
- Команда cmake (1) -E теперь корректно передает аргументы с пробелами или специальными символами в дочерний процесс. Это может нарушить скрипты, которые работали над ошибкой с их собственным дополнительным цитированием или экранированием.
- Генератор Xcode был исправлен для избежания обратных косых черт в строках последовательно с другими генераторами. Проекты, которые ранее работали над несогласованностью с дополнительным уровнем обратных косых черт, обусловленных генератором Xcode, должны быть обновлены, чтобы удалить обходной путь для CMake 3.5 и выше.
- Другие изменения:
- Генератор Visual Studio 14 2015 научился сопоставлять флаг / debug: fastlink linker с файлом .vcxproj.
- Теперь модуль FindGTK2 настраивает импортированную цель GTK2 :: sigc ++, чтобы включить c ++ 11 на своих иждивенцах при использовании sigc ++ 2.5.1 или новее.
- Предварительно скомпилированный двоичный файл Windows, представленный на cmake.org, теперь является пакетом .msi вместо исполняемого файла установщика. Возможно, потребуется вручную удалить версии CMake ниже 3.5 перед установкой нового пакета.
Комментарии не найдены