From a061ebb7a9796fcc07b52d7d918875036540ed3f Mon Sep 17 00:00:00 2001 From: Andrey Astafyev Date: Wed, 5 Oct 2022 11:35:08 +0300 Subject: [PATCH] 1.99.90 --- Makefile | 35 +++++++++++++++++++ .../MyxCMakeConfig.cmake | 0 .../MyxCMakeConfigVersion.cmake | 0 .../backports}/FetchContent.cmake | 0 .../FetchContent/CMakeLists.cmake.in | 0 .../backports}/IncludeGuard.cmake | 0 .../backports}/TopLevelProject.cmake | 0 {lib => MyxCMake/lib}/AddLibrary.cmake | 0 {lib => MyxCMake/lib}/ColoredMessages.cmake | 0 {lib => MyxCMake/lib}/CurrentDate.cmake | 0 {lib => MyxCMake/lib}/DirectoriesGuards.cmake | 0 {lib => MyxCMake/lib}/FetchContentAdd.cmake | 0 .../lib}/NinjaGeneratorWarning.cmake | 0 .../lib}/NinjaGeneratorWrapper.cmake | 0 .../lib}/PopulateCMakeBinaryDir.cmake | 0 {lib => MyxCMake/lib}/Qt5TargetSetup.cmake | 0 .../lib}/SemanticProjectVersion.cmake | 0 {lib => MyxCMake/lib}/TargetSetup.cmake | 0 {lib => MyxCMake/lib}/Uncrustify.cmake | 0 {lib => MyxCMake/lib}/doc/Doxyfile.in | 0 {lib => MyxCMake/lib}/doc/Doxygen.cmake | 0 .../lib}/generators/GitInfo.cmake | 0 .../lib}/generators/GitInfo.hpp.in | 0 .../lib}/generators/GitInfoHeader.cmake | 0 .../lib}/generators/PrivateConfig.hpp.in | 0 .../lib}/generators/PrivateConfigHeader.cmake | 0 {lib => MyxCMake/lib}/library-config.cmake.in | 0 .../lib}/macro/CreateSymlink.cmake | 0 .../lib}/macro/FindPackages.cmake | 0 .../lib}/macro/InstallRelative.cmake | 0 VERSION | 2 +- CMakeLists.txt => debian/CMakeLists.txt | 4 +-- debian/changelog | 2 +- debian/rules | 4 +++ debian/source/format | 2 +- myx_setup.cmake | 30 ++++++++++++++++ 36 files changed, 74 insertions(+), 5 deletions(-) create mode 100644 Makefile rename MyxCMakeConfig.cmake => MyxCMake/MyxCMakeConfig.cmake (100%) rename MyxCMakeConfigVersion.cmake => MyxCMake/MyxCMakeConfigVersion.cmake (100%) rename {backports => MyxCMake/backports}/FetchContent.cmake (100%) rename {backports => MyxCMake/backports}/FetchContent/CMakeLists.cmake.in (100%) rename {backports => MyxCMake/backports}/IncludeGuard.cmake (100%) rename {backports => MyxCMake/backports}/TopLevelProject.cmake (100%) rename {lib => MyxCMake/lib}/AddLibrary.cmake (100%) rename {lib => MyxCMake/lib}/ColoredMessages.cmake (100%) rename {lib => MyxCMake/lib}/CurrentDate.cmake (100%) rename {lib => MyxCMake/lib}/DirectoriesGuards.cmake (100%) rename {lib => MyxCMake/lib}/FetchContentAdd.cmake (100%) rename {lib => MyxCMake/lib}/NinjaGeneratorWarning.cmake (100%) rename {lib => MyxCMake/lib}/NinjaGeneratorWrapper.cmake (100%) rename {lib => MyxCMake/lib}/PopulateCMakeBinaryDir.cmake (100%) rename {lib => MyxCMake/lib}/Qt5TargetSetup.cmake (100%) rename {lib => MyxCMake/lib}/SemanticProjectVersion.cmake (100%) rename {lib => MyxCMake/lib}/TargetSetup.cmake (100%) rename {lib => MyxCMake/lib}/Uncrustify.cmake (100%) rename {lib => MyxCMake/lib}/doc/Doxyfile.in (100%) rename {lib => MyxCMake/lib}/doc/Doxygen.cmake (100%) rename {lib => MyxCMake/lib}/generators/GitInfo.cmake (100%) rename {lib => MyxCMake/lib}/generators/GitInfo.hpp.in (100%) rename {lib => MyxCMake/lib}/generators/GitInfoHeader.cmake (100%) rename {lib => MyxCMake/lib}/generators/PrivateConfig.hpp.in (100%) rename {lib => MyxCMake/lib}/generators/PrivateConfigHeader.cmake (100%) rename {lib => MyxCMake/lib}/library-config.cmake.in (100%) rename {lib => MyxCMake/lib}/macro/CreateSymlink.cmake (100%) rename {lib => MyxCMake/lib}/macro/FindPackages.cmake (100%) rename {lib => MyxCMake/lib}/macro/InstallRelative.cmake (100%) rename CMakeLists.txt => debian/CMakeLists.txt (84%) create mode 100644 myx_setup.cmake diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..852864b --- /dev/null +++ b/Makefile @@ -0,0 +1,35 @@ +V:=$(shell cat VERSION) +TOP_DIR:=$(shell pwd) +BUILD_DIR:=$(TOP_DIR)/build +DEB_DIR:=$(BUILD_DIR)/deb/myx-cmake-$(V) +PACK_DIR:=$(BUILD_DIR)/pack/myx-cmake-$(V) + +all: update_version deb pack + +update_version: + sed -i "s/CMake.*REQUIRED/CMake $V REQUIRED/" $(TOP_DIR)/README.md $(TOP_DIR)/myx_setup.cmake + sed -i "s/VERSION \".*\"/VERSION \"$V\"/" $(TOP_DIR)/MyxCMake/MyxCMakeConfigVersion.cmake + sed -i "s/VERSION .* LANG/VERSION $V LANG/" $(TOP_DIR)/debian/CMakeLists.txt + sed -i "s/(.*)/($(V))/" $(TOP_DIR)/debian/changelog + +deb: + rm -rf $(DEB_DIR) + mkdir -p $(DEB_DIR) + cp -ap "$(TOP_DIR)/MyxCMake" "$(TOP_DIR)/debian" "$(DEB_DIR)" + cd $(DEB_DIR); debuild + mv $(BUILD_DIR)/deb/*deb $(BUILD_DIR) + mv $(BUILD_DIR)/deb/*dsc $(BUILD_DIR) + mv $(BUILD_DIR)/deb/*xz $(BUILD_DIR) + +pack: + rm -rf $(PACK_DIR) + mkdir -p $(PACK_DIR) + cp -ap $(TOP_DIR)/MyxCMake $(PACK_DIR)/myx + cp -ap $(TOP_DIR)/myx_setup.cmake $(PACK_DIR) + cd $(PACK_DIR); tar acf $(BUILD_DIR)/myx-cmake-local-$(V).tar.xz * + +#cp -ap *.cmake lib backports "$D/myx-cmake-$V/MyxCMake" +#pushd "$D" +#tar Jcf "myx-cmake_${V}.orig.tar.xz" "myx-cmake-$V" +#popd + diff --git a/MyxCMakeConfig.cmake b/MyxCMake/MyxCMakeConfig.cmake similarity index 100% rename from MyxCMakeConfig.cmake rename to MyxCMake/MyxCMakeConfig.cmake diff --git a/MyxCMakeConfigVersion.cmake b/MyxCMake/MyxCMakeConfigVersion.cmake similarity index 100% rename from MyxCMakeConfigVersion.cmake rename to MyxCMake/MyxCMakeConfigVersion.cmake diff --git a/backports/FetchContent.cmake b/MyxCMake/backports/FetchContent.cmake similarity index 100% rename from backports/FetchContent.cmake rename to MyxCMake/backports/FetchContent.cmake diff --git a/backports/FetchContent/CMakeLists.cmake.in b/MyxCMake/backports/FetchContent/CMakeLists.cmake.in similarity index 100% rename from backports/FetchContent/CMakeLists.cmake.in rename to MyxCMake/backports/FetchContent/CMakeLists.cmake.in diff --git a/backports/IncludeGuard.cmake b/MyxCMake/backports/IncludeGuard.cmake similarity index 100% rename from backports/IncludeGuard.cmake rename to MyxCMake/backports/IncludeGuard.cmake diff --git a/backports/TopLevelProject.cmake b/MyxCMake/backports/TopLevelProject.cmake similarity index 100% rename from backports/TopLevelProject.cmake rename to MyxCMake/backports/TopLevelProject.cmake diff --git a/lib/AddLibrary.cmake b/MyxCMake/lib/AddLibrary.cmake similarity index 100% rename from lib/AddLibrary.cmake rename to MyxCMake/lib/AddLibrary.cmake diff --git a/lib/ColoredMessages.cmake b/MyxCMake/lib/ColoredMessages.cmake similarity index 100% rename from lib/ColoredMessages.cmake rename to MyxCMake/lib/ColoredMessages.cmake diff --git a/lib/CurrentDate.cmake b/MyxCMake/lib/CurrentDate.cmake similarity index 100% rename from lib/CurrentDate.cmake rename to MyxCMake/lib/CurrentDate.cmake diff --git a/lib/DirectoriesGuards.cmake b/MyxCMake/lib/DirectoriesGuards.cmake similarity index 100% rename from lib/DirectoriesGuards.cmake rename to MyxCMake/lib/DirectoriesGuards.cmake diff --git a/lib/FetchContentAdd.cmake b/MyxCMake/lib/FetchContentAdd.cmake similarity index 100% rename from lib/FetchContentAdd.cmake rename to MyxCMake/lib/FetchContentAdd.cmake diff --git a/lib/NinjaGeneratorWarning.cmake b/MyxCMake/lib/NinjaGeneratorWarning.cmake similarity index 100% rename from lib/NinjaGeneratorWarning.cmake rename to MyxCMake/lib/NinjaGeneratorWarning.cmake diff --git a/lib/NinjaGeneratorWrapper.cmake b/MyxCMake/lib/NinjaGeneratorWrapper.cmake similarity index 100% rename from lib/NinjaGeneratorWrapper.cmake rename to MyxCMake/lib/NinjaGeneratorWrapper.cmake diff --git a/lib/PopulateCMakeBinaryDir.cmake b/MyxCMake/lib/PopulateCMakeBinaryDir.cmake similarity index 100% rename from lib/PopulateCMakeBinaryDir.cmake rename to MyxCMake/lib/PopulateCMakeBinaryDir.cmake diff --git a/lib/Qt5TargetSetup.cmake b/MyxCMake/lib/Qt5TargetSetup.cmake similarity index 100% rename from lib/Qt5TargetSetup.cmake rename to MyxCMake/lib/Qt5TargetSetup.cmake diff --git a/lib/SemanticProjectVersion.cmake b/MyxCMake/lib/SemanticProjectVersion.cmake similarity index 100% rename from lib/SemanticProjectVersion.cmake rename to MyxCMake/lib/SemanticProjectVersion.cmake diff --git a/lib/TargetSetup.cmake b/MyxCMake/lib/TargetSetup.cmake similarity index 100% rename from lib/TargetSetup.cmake rename to MyxCMake/lib/TargetSetup.cmake diff --git a/lib/Uncrustify.cmake b/MyxCMake/lib/Uncrustify.cmake similarity index 100% rename from lib/Uncrustify.cmake rename to MyxCMake/lib/Uncrustify.cmake diff --git a/lib/doc/Doxyfile.in b/MyxCMake/lib/doc/Doxyfile.in similarity index 100% rename from lib/doc/Doxyfile.in rename to MyxCMake/lib/doc/Doxyfile.in diff --git a/lib/doc/Doxygen.cmake b/MyxCMake/lib/doc/Doxygen.cmake similarity index 100% rename from lib/doc/Doxygen.cmake rename to MyxCMake/lib/doc/Doxygen.cmake diff --git a/lib/generators/GitInfo.cmake b/MyxCMake/lib/generators/GitInfo.cmake similarity index 100% rename from lib/generators/GitInfo.cmake rename to MyxCMake/lib/generators/GitInfo.cmake diff --git a/lib/generators/GitInfo.hpp.in b/MyxCMake/lib/generators/GitInfo.hpp.in similarity index 100% rename from lib/generators/GitInfo.hpp.in rename to MyxCMake/lib/generators/GitInfo.hpp.in diff --git a/lib/generators/GitInfoHeader.cmake b/MyxCMake/lib/generators/GitInfoHeader.cmake similarity index 100% rename from lib/generators/GitInfoHeader.cmake rename to MyxCMake/lib/generators/GitInfoHeader.cmake diff --git a/lib/generators/PrivateConfig.hpp.in b/MyxCMake/lib/generators/PrivateConfig.hpp.in similarity index 100% rename from lib/generators/PrivateConfig.hpp.in rename to MyxCMake/lib/generators/PrivateConfig.hpp.in diff --git a/lib/generators/PrivateConfigHeader.cmake b/MyxCMake/lib/generators/PrivateConfigHeader.cmake similarity index 100% rename from lib/generators/PrivateConfigHeader.cmake rename to MyxCMake/lib/generators/PrivateConfigHeader.cmake diff --git a/lib/library-config.cmake.in b/MyxCMake/lib/library-config.cmake.in similarity index 100% rename from lib/library-config.cmake.in rename to MyxCMake/lib/library-config.cmake.in diff --git a/lib/macro/CreateSymlink.cmake b/MyxCMake/lib/macro/CreateSymlink.cmake similarity index 100% rename from lib/macro/CreateSymlink.cmake rename to MyxCMake/lib/macro/CreateSymlink.cmake diff --git a/lib/macro/FindPackages.cmake b/MyxCMake/lib/macro/FindPackages.cmake similarity index 100% rename from lib/macro/FindPackages.cmake rename to MyxCMake/lib/macro/FindPackages.cmake diff --git a/lib/macro/InstallRelative.cmake b/MyxCMake/lib/macro/InstallRelative.cmake similarity index 100% rename from lib/macro/InstallRelative.cmake rename to MyxCMake/lib/macro/InstallRelative.cmake diff --git a/VERSION b/VERSION index 36a0d1d..939b2c6 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.99.86 +1.99.90 diff --git a/CMakeLists.txt b/debian/CMakeLists.txt similarity index 84% rename from CMakeLists.txt rename to debian/CMakeLists.txt index b5d1312..891ad2c 100644 --- a/CMakeLists.txt +++ b/debian/CMakeLists.txt @@ -1,5 +1,5 @@ -cmake_minimum_required(VERSION 3.6) -project(myx-cmake VERSION 1.99.30 LANGUAGES) +cmake_minimum_required(VERSION 3.6 FATAL_ERROR) +project(myx-cmake VERSION 1.99.88 LANGUAGES) include(GNUInstallDirs) file(WRITE ${CMAKE_SOURCE_DIR}/MyxCMake/MyxCMakeConfigVersion.cmake diff --git a/debian/changelog b/debian/changelog index 2599f60..4c5e2a3 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -myx-cmake (0.1.0-1) unstable; urgency=medium +myx-cmake (1.99.88) unstable; urgency=medium * New version. diff --git a/debian/rules b/debian/rules index aa260a4..c0a9469 100755 --- a/debian/rules +++ b/debian/rules @@ -3,6 +3,10 @@ %: dh $@ --buildsystem=cmake +override_dh_auto_configure: + cp -f debian/CMakeLists.txt CMakeLists.txt + dh_auto_configure + override_dh_fixperms: dh_fixperms # find debian -name asan-wrapper -print0 | xargs -0 chmod +x diff --git a/debian/source/format b/debian/source/format index 163aaf8..89ae9db 100644 --- a/debian/source/format +++ b/debian/source/format @@ -1 +1 @@ -3.0 (quilt) +3.0 (native) diff --git a/myx_setup.cmake b/myx_setup.cmake new file mode 100644 index 0000000..cc3e291 --- /dev/null +++ b/myx_setup.cmake @@ -0,0 +1,30 @@ +#[=======================================================================[.rst: +Подключение дополнительных функций для CMake + +По умолчанию предполагается использование версии MyxCMake, +файлы которой находятся в каталоге `cmake/myx` текущего проекта. + +Для удобства разботки библиотеки MyxCMake можно указать путь +к её репозиторию с помощью переменной проекта CMake `MYX_CMAKE_DIR` +или переменной окружения `MYX_CMAKE_DIR`. + +Если определена переменная `MYX_CMAKE_USE_SYSTEM`, то выполняется +поиск версии в каталогах перечисленных в переменной `CMAKE_MODULES_DIR`. +#]=======================================================================] + +if(MYX_CMAKE_DIR) + set(ENV{MYX_CMAKE_DIR} ${MYX_CMAKE_DIR}) +endif() +if(DEFINED ENV{MYX_CMAKE_DIR}) + find_package(MyxCMake 1.99.88 REQUIRED CONFIG PATHS $ENV{MYX_CMAKE_DIR} NO_DEFAULT_PATH) + myx_message_notice("=== MyxCMake directory: ${MyxCMake_CONFIG} ===") +else() + if(MYX_CMAKE_USE_SYSTEM) + find_package(MyxCMake 1.99.88 REQUIRED) + myx_message_notice("=== MyxCMake directory: ${MyxCMake_CONFIG} ===") + else() + include(${PROJECT_SOURCE_DIR}/cmake/myx/MyxCMakeConfig.cmake) + myx_message_notice("=== MyxCMake directory: ${PROJECT_SOURCE_DIR}/cmake/myx ===") + endif() +endif() +