Go to file
2020-12-23 09:36:24 +03:00
hpp Установка флагов в зависимости от типа цели 2020-10-02 11:31:18 +03:00
pc Улучшена генерация файла pkg-config 2020-04-22 22:25:22 +03:00
qrc Начало 2019-02-12 19:31:17 +03:00
tests Переписан поиск флагов для поддержки больших файлов 2019-02-15 07:43:50 +03:00
thirdparty Исправление связки cotire + clang 2020-10-15 06:55:02 +03:00
.cmake-format Обновление правил для cmake-format 2020-04-14 18:44:54 +03:00
.gitmodules Относительный адрес для подмодуля 2019-07-02 10:04:50 +03:00
CMLibAuxilarySymlinks.cmake Форматирование кода 2020-04-24 20:35:57 +03:00
CMLibBuildTypes.cmake Исправлена сборка статической библиотеки в режиме профилировки 2020-12-10 12:23:47 +03:00
CMLibCodeAnalysisClangAnalyze.cmake Поддержка новых версий clang 2020-12-01 13:12:24 +03:00
CMLibCodeAnalysisClangTidy.cmake Поддержка новых версий clang 2020-12-01 13:12:24 +03:00
CMLibCodeAnalysisClazy.cmake Поддержка новых версий clang 2020-12-01 13:12:24 +03:00
CMLibCodeAnalysisPvsStudio.cmake Форматирование файла 2020-12-01 13:12:15 +03:00
CMLibCodeCoverage.cmake Добавление флагов в виде строк 2020-06-26 04:09:40 +03:00
CMLibCommon.cmake Передача аргументов во внешние проекты (переменная CMLIB_EXT_PROJ_DEFAULT_ARGS) 2020-08-03 15:16:10 +03:00
CMLibCommonLibraryTarget.cmake Генерация файла для pkg-config вынесена в отдельную функцию 2020-04-22 22:05:17 +03:00
CMLibCommonTargetProperties.cmake Добавление флагов в виде строк 2020-06-26 04:09:40 +03:00
CMLibCompiler.cmake Рефакторинг 2020-06-25 11:30:48 +03:00
CMLibCompilerFeaturesHPPGenerate.cmake Правка для ОС Эльбрус 2020-05-18 19:33:26 +03:00
CMLibCompilerFlags.cmake Заплатка для версий CMake < 3.8.0 2020-12-23 09:36:24 +03:00
CMLibConfigHPPGenerate.cmake Пути для генерируемых файлов 2020-04-21 12:26:03 +03:00
CMLibCotire.cmake Добавлен файл 2020-04-18 21:06:10 +03:00
CMLibCPack.cmake Правила для формирования архивов 2020-04-26 17:50:18 +03:00
CMLibCPackDeb.cmake Правила для формирования архивов 2020-04-26 17:50:18 +03:00
CMLibCPackProject.cmake Обновление подмодулей 2020-04-11 10:12:20 +03:00
CMLibDebugOutput.cmake Лишние пробелы 2020-06-25 09:21:18 +03:00
CMLibDisableInSourceBuild.cmake Обновление подмодулей 2020-04-11 10:12:20 +03:00
CMLibDistCC.cmake Обновление подмодулей 2020-04-11 10:12:20 +03:00
CMLibDocBreathe.cmake Форматирование кода 2020-04-14 12:20:01 +03:00
CMLibDocDoxygen.cmake Форматирование кода 2020-04-14 12:20:01 +03:00
CMLibExternalProject.cmake Передача аргументов во внешние проекты (переменная CMLIB_EXT_PROJ_DEFAULT_ARGS) 2020-08-03 15:16:10 +03:00
CMLibFlagRemove.cmake Обновление подмодулей 2020-04-11 10:12:20 +03:00
CMLibFormatSources.cmake Убрана явное указания языка для файла исходных текстов 2020-07-23 10:21:40 +03:00
CMLibGlobalFunctions.cmake Обновление подмодулей 2020-04-11 10:12:20 +03:00
CMLibGlobalVariables.cmake Правка установки значений переменных 2020-04-09 22:20:55 +03:00
CMLibLargeFiles.cmake Обновление подмодулей 2020-04-11 10:12:20 +03:00
CMLibLSBInfo.cmake Обновление подмодулей 2020-04-11 10:12:20 +03:00
CMLibNinjaGeneratorHelper.cmake Правка правила для проверки названия генератора для Ninja 2020-04-14 17:39:19 +03:00
CMLibPkgConfig.cmake Форматирование кода 2020-04-24 20:35:57 +03:00
CMLibProjectVersion.cmake Форматирование кода 2020-04-01 21:42:59 +03:00
CMLibQtTranslation.cmake Форматирование кода 2020-04-14 12:20:01 +03:00
CMLibRequiredVariables.cmake Форматирование кода 2020-04-18 19:40:13 +03:00
CMLibSanitizers.cmake Форматирование с помощью https://github.com/cheshirekow/cmake_format 2019-10-07 13:52:50 +03:00
CMLibToday.cmake Форматирование 2019-12-03 19:23:14 +03:00
CMLibUninstall.cmake Форматирование кода 2020-04-01 21:42:59 +03:00
CMLibUninstall.cmake.in Удаление пустых каталогов при деинсталляции 2019-02-13 02:04:57 +03:00
Makefile Makefile для загрузки (обновления) сторонних модулей 2019-02-19 12:43:49 +03:00
README.md Документация 2019-11-19 09:26:05 +03:00

CMake Modules

Репозиторий модулей для CMake.

Установка

В каталоге проекта выполнить команду

git submodule add git@host:user/cmlib cmake/cmlib

заменив host и user на нужные значения.

Кроме того желательно установить библиотеки find и generators.

git submodule add git@host:user/cmake-find cmake/find
git submodule add git@host:user/cmake-generators cmake/generators

Использование

В основном для проекта файле CMakeLists.txt добавить:

if(IS_DIRECTORY ${CMAKE_SOURCE_DIR}/cmake/cmlib)
  list(INSERT CMAKE_MODULE_PATH 0 ${CMAKE_SOURCE_DIR}/cmake/cmlib)
else()
  message(FATAL_ERROR "CMake library directory not exists")
endif()

include(CMLibCommon)

Создать файл cmake/etc/Variable.cmake, в котором нужно определить переменные, используемые в проекте, например:

set(ORGANIZATION_NAME "org")

set(CPACK_GENERATOR "TXZ;DEB")
set(CPACK_PACKAGE_CONTACT "John Doe <john.doe@example.com>")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Useful software")
set(CPACK_DEBIAN_PACKAGE_SECTION "misc")
set(CPACK_DEBIAN_PACKAGE_PRIORITY "optional")
set(CPACK_SOURCE_IGNORE_FILES
    .git$
    .swp$
    obj.*/
    _build/
    _output/
    files/var
    CMakeLists.txt.user
    ~$
    \\\\..*\\\\.swp$)