diff --git a/MyxCMake/MyxCMakeConfig.cmake b/MyxCMake/MyxCMakeConfig.cmake index 6c04f4f..f5ea8e6 100644 --- a/MyxCMake/MyxCMakeConfig.cmake +++ b/MyxCMake/MyxCMakeConfig.cmake @@ -24,7 +24,6 @@ set(MYX_CMAKE_LIB_DIR "${MYX_CMAKE_SOURCE_DIR}/lib") # Модули для обеспечения обратной совместимости со старыми версиями CMake include(${MYX_CMAKE_BACKPORTS_DIR}/IncludeGuard.cmake) -include(${MYX_CMAKE_BACKPORTS_DIR}/TopLevelProject.cmake) if(${CMAKE_VERSION} VERSION_LESS "3.11.0") include(${MYX_CMAKE_BACKPORTS_DIR}/FetchContent.cmake) else() @@ -44,6 +43,7 @@ include(${MYX_CMAKE_LIB_DIR}/macro/CheckEnableCxxCompilerFlag.cmake) include(${MYX_CMAKE_LIB_DIR}/macro/GTest.cmake) include(${MYX_CMAKE_LIB_DIR}/macro/QTest.cmake) +include(${MYX_CMAKE_LIB_DIR}/ProjectIsTopLevel.cmake) include(${MYX_CMAKE_LIB_DIR}/ColoredMessages.cmake) include(${MYX_CMAKE_LIB_DIR}/PopulateCMakeBinaryDir.cmake) include(${MYX_CMAKE_LIB_DIR}/CurrentDate.cmake) diff --git a/MyxCMake/MyxCMakeConfigVersion.cmake b/MyxCMake/MyxCMakeConfigVersion.cmake index 4243a9a..d612ee6 100644 --- a/MyxCMake/MyxCMakeConfigVersion.cmake +++ b/MyxCMake/MyxCMakeConfigVersion.cmake @@ -1,4 +1,4 @@ -set(MYX_CMAKE_PACKAGE_VERSION "2.4.12") +set(MYX_CMAKE_PACKAGE_VERSION "2.4.13") if(MYX_CMAKE_PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION) set(PACKAGE_VERSION_COMPATIBLE FALSE) else() diff --git a/MyxCMake/lib/DownloadContent.cmake b/MyxCMake/lib/DownloadContent.cmake index 530a856..66d3bb9 100644 --- a/MyxCMake/lib/DownloadContent.cmake +++ b/MyxCMake/lib/DownloadContent.cmake @@ -28,13 +28,17 @@ find_package(Git QUIET) option(ENABLE_DOWNLOAD_CONTENT "Enable download content" ON) +include(${MYX_CMAKE_BACKPORTS_DIR}/TopLevelProject.cmake) + function(myx_download_content NAME) set(options AUTOFETCH AUTOPULL) set(oneValueArgs) set(multiValueArgs DOWNLOAD_DIR GIT_REPOSITORY GIT_TAG) cmake_parse_arguments(ARG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) - if(NOT CMAKE_SCRIPT_MODE_FILE) + if(CMAKE_SCRIPT_MODE_FILE) + include(${CMAKE_CURRENT_LIST_DIR}/ProjectIsTopLevel.cmake) + else() if(TARGET myx-download-${NAME}) return() else() @@ -45,6 +49,10 @@ function(myx_download_content NAME) endif() endif() + if(NOT PROJECT_IS_TOP_LEVEL) + return() + endif() + if(NOT ARG_DOWNLOAD_DIR) set(ARG_DOWNLOAD_DIR "_downloads") endif() diff --git a/MyxCMake/backports/TopLevelProject.cmake b/MyxCMake/lib/ProjectIsTopLevel.cmake similarity index 52% rename from MyxCMake/backports/TopLevelProject.cmake rename to MyxCMake/lib/ProjectIsTopLevel.cmake index 953758f..b9267b0 100644 --- a/MyxCMake/backports/TopLevelProject.cmake +++ b/MyxCMake/lib/ProjectIsTopLevel.cmake @@ -1,5 +1,9 @@ include_guard(GLOBAL) +# Установка переменной, определяющей находится ли текущий +# проект на верхнем уровне. +# (Файл перемещён из каталога backports в lib для myx_download_content) +# if(${CMAKE_VERSION} VERSION_LESS 3.21) get_property(__parent_directory DIRECTORY PROPERTY PARENT_DIRECTORY) if(NOT __parent_directory) diff --git a/README.md b/README.md index d677c1e..8c107ff 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ ## Установка В корневом каталоге проекта создать каталог `cmake` и распаковать в него -[архив](../../../releases/download/2.4.12/myx-cmake-local-2.4.12.tar.xz ). +[архив](../../../releases/download/2.4.13/myx-cmake-local-2.4.13.tar.xz ). ## Использование diff --git a/VERSION b/VERSION index cf95c01..b40e924 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.4.12 +2.4.13 diff --git a/debian/CMakeLists.txt b/debian/CMakeLists.txt index 7f7b053..d8b56c5 100644 --- a/debian/CMakeLists.txt +++ b/debian/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.6 FATAL_ERROR) -project(myx-cmake VERSION 2.4.12 LANGUAGES) +project(myx-cmake VERSION 2.4.13 LANGUAGES) include(GNUInstallDirs) file(WRITE ${CMAKE_SOURCE_DIR}/MyxCMake/MyxCMakeConfigVersion.cmake diff --git a/debian/changelog b/debian/changelog index 580dfe5..eb18252 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -myx-cmake (2.4.12) unstable; urgency=medium +myx-cmake (2.4.13) unstable; urgency=medium * New version. diff --git a/myx_setup.cmake b/myx_setup.cmake index a2155fd..9105e80 100644 --- a/myx_setup.cmake +++ b/myx_setup.cmake @@ -20,11 +20,11 @@ if(ENV{MYX_CMAKE_DIR}) set(MYX_CMAKE_DIR $ENV{MYX_CMAKE_DIR}) endif() if(MYX_CMAKE_DIR) - find_package(MyxCMake 2.4.12 REQUIRED CONFIG PATHS ${MYX_CMAKE_DIR} NO_DEFAULT_PATH) + find_package(MyxCMake 2.4.13 REQUIRED CONFIG PATHS ${MYX_CMAKE_DIR} NO_DEFAULT_PATH) myx_message_notice("== MyxCMake directory: ${MyxCMake_CONFIG} ==") else() if(MYX_CMAKE_USE_SYSTEM) - find_package(MyxCMake 2.4.12 REQUIRED) + find_package(MyxCMake 2.4.13 REQUIRED) myx_message_notice("== MyxCMake directory: ${MyxCMake_CONFIG} ==") else() include(${PROJECT_SOURCE_DIR}/cmake/myx/MyxCMakeConfig.cmake)