diff --git a/CMLibCommon.cmake b/CMLibCommon.cmake index e096ff3..3800d79 100644 --- a/CMLibCommon.cmake +++ b/CMLibCommon.cmake @@ -45,5 +45,6 @@ include(CMLibQtTranslation) include(CMLibToday) include(CMLibAuxilarySymlinks) include(CMLibConfigHPPGenerate) +include(CMLibNinjaGeneratorHelper) include(CMLibCPack) include(CMLibUninstall) diff --git a/CMLibNinjaGeneratorHelper.cmake b/CMLibNinjaGeneratorHelper.cmake new file mode 100644 index 0000000..0a286b6 --- /dev/null +++ b/CMLibNinjaGeneratorHelper.cmake @@ -0,0 +1,10 @@ +# Если выбран генератор Ninja, то в основном сборочном каталоге +# создаётся файл Makefile, который обрабатывается командой make и +# передаёт исполнение системе сборки ninja. +# Таким образом можно выполнять команду make, даже если правила +# сборки проекта сгенерированы для ninja. + +if ("${CMAKE_GENERATOR}" MATCHES ".*Ninja$") + file(WRITE ${CMAKE_BINARY_DIR}/Makefile ".PHONY: build\n%:\n\t@ninja \$@\nbuild:\n\t@ninja\n") +endif() +