Go to file
2021-11-28 13:24:26 +03:00
doxygen Изменены функции для генерации документации 2021-06-18 00:56:30 +03:00
hpp Исправлена переменная 2021-06-17 15:49:49 +03:00
pc Улучшена генерация файла pkg-config 2020-04-22 22:25:22 +03:00
qrc Имя переменной 2021-06-21 13:00:11 +03:00
tests Переписан поиск флагов для поддержки больших файлов 2019-02-15 07:43:50 +03:00
thirdparty Обновление PVS 2021-11-28 12:31:54 +03:00
.cmake-format.py Чистка 2021-06-12 12:59:31 +03:00
CMLibAuxilarySymlinks.cmake Переименованы стандартные каталоги для данных (data->share, lib->var) 2021-05-25 14:59:59 +03:00
CMLibBuildTypes.cmake По умолчанию генерировать файл compile_commands.json 2021-06-12 19:01:18 +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 Обработка переменной DEB_HOST_MULTIARCH 2021-11-28 13:24:26 +03:00
CMLibCommonLibraryTarget.cmake Имена переменных 2021-07-06 04:54:20 +03:00
CMLibCommonTargetProperties.cmake Чистка 2021-06-12 12:59:31 +03:00
CMLibCompiler.cmake Рефакторинг 2020-06-25 11:30:48 +03:00
CMLibCompilerFlags.cmake Проверка флагов только в отладочном режиме 2021-06-24 10:38:45 +03:00
CMLibCotire.cmake В режиме отладки по умолчанию включены предкомпилированные заголовки 2021-07-22 15:39:51 +03:00
CMLibCPack.cmake Отказ от использования файла Variables.cmake 2021-06-07 17:46:58 +03:00
CMLibCPackDeb.cmake Чистка 2021-06-12 12:59:31 +03:00
CMLibCPackProject.cmake Обновление подмодулей 2020-04-11 10:12:20 +03:00
CMLibDebugOutput.cmake Лишние пробелы 2020-06-25 09:21:18 +03:00
CMLibDisableInSourceBuild.cmake Чистка 2021-06-12 12:59:31 +03:00
CMLibDistCC.cmake Чистка 2021-06-12 12:59:31 +03:00
CMLibDocBreathe.cmake Форматирование 2021-06-24 10:39:06 +03:00
CMLibDocDoxygen.cmake Форматирование 2021-06-24 10:39:06 +03:00
CMLibExternalProject.cmake Переменная CMLIB_MAIN_DIR передаётся в подпроект 2021-07-03 09:28:32 +03:00
CMLibFlagRemove.cmake Чистка 2021-06-12 12:59:31 +03:00
CMLibFormatSources.cmake Команда для проверки форматирования кода 2021-02-19 11:04:50 +03:00
CMLibGenerateCompilerFeaturesHPP.cmake Переименование 2021-05-30 23:07:16 +03:00
CMLibGeneratePrivateConfigHPP.cmake Чистка 2021-06-12 12:59:31 +03:00
CMLibGit.cmake Чистка 2021-06-17 15:48:21 +03:00
CMLibGitVersion.cmake Чистка 2021-06-17 15:48:21 +03:00
CMLibGlobalFunctions.cmake Чистка 2021-06-12 12:59:31 +03:00
CMLibGlobalVariables.cmake Добавление каталога cmake/find средствами CMLib 2021-06-12 15:08:52 +03:00
CMLibHighPrecisionMath.cmake Поиск библиотек в глобальной области видимости 2021-07-06 05:24:41 +03:00
CMLibLargeFiles.cmake Чистка 2021-06-12 12:59:31 +03:00
CMLibLSBInfo.cmake Форматирование 2021-06-12 14:08:24 +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 Имя переменной 2021-06-21 13:00:11 +03:00
CMLibRequiredVariables.cmake Отказ от использования файла Variables.cmake 2021-06-07 17:46:58 +03:00
CMLibSanitizers.cmake Исправлен путь 2021-06-12 14:35:58 +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 Переименованы стандартные каталоги для данных (data->share, lib->var) 2021-05-25 14:59:59 +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/log
    files/var
    CMakeLists.txt.user
    ~$
    \\\\..*\\\\.swp$)