Compare commits

...

4 Commits

8 changed files with 27 additions and 21 deletions

View File

@@ -1,4 +1,4 @@
set(MYX_CMAKE_PACKAGE_VERSION "2.4.11") set(MYX_CMAKE_PACKAGE_VERSION "2.4.12")
if(MYX_CMAKE_PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION) if(MYX_CMAKE_PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
set(PACKAGE_VERSION_COMPATIBLE FALSE) set(PACKAGE_VERSION_COMPATIBLE FALSE)
else() else()

View File

@@ -7,17 +7,20 @@ myx_download_content
myx_download_content(NAME myx_download_content(NAME
[ DOWNLOAD_DIR dir ] | [ DOWNLOAD_DIR dir ] |
[ GIT_REPOSITORY url ] | [ GIT_REPOSITORY url ] |
[ GIT_TAG tag ] ) [ GIT_TAG tag ] |
[ AUTOFETCH ] | [ AUTOPULL ] )
Обязательный параметр: `NAME` - имя целевого каталога. Обязательный параметр: `NAME` - имя целевого каталога.
Параметр `DOWNLOAD_DIR` содержит имя каталога, в который будет загружаться Параметр `DOWNLOAD_DIR` содержит имя каталога, в который будет загружаться
содержимое (по умолчанию `downloads`). содержимое (по умолчанию `_downloads`).
Параметр `GIT_REPOSITORY` содержит адрес внешнего проекта, который нужно Параметр `GIT_REPOSITORY` содержит адрес внешнего проекта, который нужно
загрузить с помощью git. загрузить с помощью git.
Параметр `GIT_TAG` содержит используемые метку, идентификатор коммита или Параметр `GIT_TAG` содержит используемые метку, идентификатор коммита или
ветку в загружаемом репозитории. ветку в загружаемом репозитории.
Если указана опция `AUTOPULL`, то загруженный репозиторий будет Если указана опция `AUTOFETCH`, то на этапе конфигурирования для загруженного
обновляться автоматически. репозитория будут скачиваться изменения.
Если указана опция `AUTOPULL`, то на этапе конфигурирования из загруженного
репозитория будет изменяться рабочий каталог.
#]=======================================================================] #]=======================================================================]
@@ -26,7 +29,7 @@ find_package(Git QUIET)
option(ENABLE_DOWNLOAD_CONTENT "Enable download content" ON) option(ENABLE_DOWNLOAD_CONTENT "Enable download content" ON)
function(myx_download_content NAME) function(myx_download_content NAME)
set(options AUTOPULL) set(options AUTOFETCH AUTOPULL)
set(oneValueArgs) set(oneValueArgs)
set(multiValueArgs DOWNLOAD_DIR GIT_REPOSITORY GIT_TAG) set(multiValueArgs DOWNLOAD_DIR GIT_REPOSITORY GIT_TAG)
cmake_parse_arguments(ARG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) cmake_parse_arguments(ARG "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
@@ -55,27 +58,30 @@ function(myx_download_content NAME)
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${ARG_DOWNLOAD_DIR}) execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${ARG_DOWNLOAD_DIR})
endif() endif()
set(WORK_DIR "${ARG_DOWNLOAD_DIR}/${NAME}")
if(ENABLE_DOWNLOAD_CONTENT AND GIT_EXECUTABLE AND ARG_GIT_REPOSITORY) if(ENABLE_DOWNLOAD_CONTENT AND GIT_EXECUTABLE AND ARG_GIT_REPOSITORY)
if(NOT IS_DIRECTORY ${ARG_DOWNLOAD_DIR}/${NAME}) if(NOT IS_DIRECTORY ${WORK_DIR})
execute_process(COMMAND ${GIT_EXECUTABLE} clone ${ARG_GIT_REPOSITORY} ${NAME} execute_process(COMMAND ${GIT_EXECUTABLE} clone ${ARG_GIT_REPOSITORY} ${NAME}
WORKING_DIRECTORY ${ARG_DOWNLOAD_DIR}) WORKING_DIRECTORY ${ARG_DOWNLOAD_DIR})
else() else()
execute_process(COMMAND ${GIT_EXECUTABLE} fetch if(ARG_AUTOFETCH)
WORKING_DIRECTORY ${ARG_DOWNLOAD_DIR}/${NAME}) execute_process(COMMAND ${GIT_EXECUTABLE} fetch
WORKING_DIRECTORY ${WORK_DIR})
endif()
endif() endif()
if(ARG_GIT_TAG) if(ARG_GIT_TAG)
execute_process(COMMAND ${GIT_EXECUTABLE} checkout ${ARG_GIT_TAG} execute_process(COMMAND ${GIT_EXECUTABLE} checkout ${ARG_GIT_TAG}
WORKING_DIRECTORY ${ARG_DOWNLOAD_DIR}/${NAME}) WORKING_DIRECTORY ${WORK_DIR})
else() else()
if(ARG_AUTOPULL) if(ARG_AUTOPULL)
execute_process(COMMAND ${GIT_EXECUTABLE} pull execute_process(COMMAND ${GIT_EXECUTABLE} pull
WORKING_DIRECTORY ${ARG_DOWNLOAD_DIR}/${NAME}) WORKING_DIRECTORY ${WORK_DIR})
endif() endif()
endif() endif()
endif() endif()
if(NOT CMAKE_SCRIPT_MODE_FILE) if(NOT CMAKE_SCRIPT_MODE_FILE AND EXISTS "${WORK_DIR}/CMakeLists.txt")
add_subdirectory(${ARG_DOWNLOAD_DIR}/${NAME} EXCLUDE_FROM_ALL) add_subdirectory(${WORK_DIR} EXCLUDE_FROM_ALL)
endif() endif()
endfunction() endfunction()

View File

@@ -76,7 +76,7 @@ function(myx_target_setup_qt TARGET_NAME)
endif() endif()
if(ARG_UI) if(ARG_UI)
if(NOT COMMAND qt${myx_ver_qt}_wrap_ui) if(NOT COMMAND qt${myx_qt_ver}_wrap_ui)
message(WARNING "MyxCMake: Widgets is required to process UI") message(WARNING "MyxCMake: Widgets is required to process UI")
else() else()
if(myx_qt_ver EQUAL 5) if(myx_qt_ver EQUAL 5)
@@ -100,7 +100,7 @@ function(myx_target_setup_qt TARGET_NAME)
# Формирование файла ресурсов с переводами # Формирование файла ресурсов с переводами
if(tr AND ARG_LANGS) if(tr AND ARG_LANGS)
if(NOT COMMAND qt${myx_ver_qt}_create_translation) if(NOT COMMAND qt${myx_qt_ver}_create_translation)
message(WARNING "MyxCMake: LinguistTools is required to process LANGS") message(WARNING "MyxCMake: LinguistTools is required to process LANGS")
else() else()
# Заглавие файла ресурсов # Заглавие файла ресурсов

View File

@@ -3,7 +3,7 @@
## Установка ## Установка
В корневом каталоге проекта создать каталог `cmake` и распаковать в него В корневом каталоге проекта создать каталог `cmake` и распаковать в него
[архив](../../../releases/download/2.4.11/myx-cmake-local-2.4.11.tar.xz ). [архив](../../../releases/download/2.4.12/myx-cmake-local-2.4.12.tar.xz ).
## Использование ## Использование

View File

@@ -1 +1 @@
2.4.11 2.4.12

View File

@@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.6 FATAL_ERROR) cmake_minimum_required(VERSION 3.6 FATAL_ERROR)
project(myx-cmake VERSION 2.4.11 LANGUAGES) project(myx-cmake VERSION 2.4.12 LANGUAGES)
include(GNUInstallDirs) include(GNUInstallDirs)
file(WRITE ${CMAKE_SOURCE_DIR}/MyxCMake/MyxCMakeConfigVersion.cmake file(WRITE ${CMAKE_SOURCE_DIR}/MyxCMake/MyxCMakeConfigVersion.cmake

2
debian/changelog vendored
View File

@@ -1,4 +1,4 @@
myx-cmake (2.4.11) unstable; urgency=medium myx-cmake (2.4.12) unstable; urgency=medium
* New version. * New version.

View File

@@ -20,11 +20,11 @@ if(ENV{MYX_CMAKE_DIR})
set(MYX_CMAKE_DIR $ENV{MYX_CMAKE_DIR}) set(MYX_CMAKE_DIR $ENV{MYX_CMAKE_DIR})
endif() endif()
if(MYX_CMAKE_DIR) if(MYX_CMAKE_DIR)
find_package(MyxCMake 2.4.11 REQUIRED CONFIG PATHS ${MYX_CMAKE_DIR} NO_DEFAULT_PATH) find_package(MyxCMake 2.4.12 REQUIRED CONFIG PATHS ${MYX_CMAKE_DIR} NO_DEFAULT_PATH)
myx_message_notice("== MyxCMake directory: ${MyxCMake_CONFIG} ==") myx_message_notice("== MyxCMake directory: ${MyxCMake_CONFIG} ==")
else() else()
if(MYX_CMAKE_USE_SYSTEM) if(MYX_CMAKE_USE_SYSTEM)
find_package(MyxCMake 2.4.11 REQUIRED) find_package(MyxCMake 2.4.12 REQUIRED)
myx_message_notice("== MyxCMake directory: ${MyxCMake_CONFIG} ==") myx_message_notice("== MyxCMake directory: ${MyxCMake_CONFIG} ==")
else() else()
include(${PROJECT_SOURCE_DIR}/cmake/myx/MyxCMakeConfig.cmake) include(${PROJECT_SOURCE_DIR}/cmake/myx/MyxCMakeConfig.cmake)