2.0.0
This commit is contained in:
parent
900bfe307b
commit
3978338314
@ -47,6 +47,8 @@ include(${MYX_CMAKE_LIB_DIR}/doc/Doxygen.cmake)
|
||||
include(${MYX_CMAKE_LIB_DIR}/generators/PrivateConfigHeader.cmake)
|
||||
include(${MYX_CMAKE_LIB_DIR}/generators/GitInfoHeader.cmake)
|
||||
|
||||
include(${MYX_CMAKE_LIB_DIR}/Uninstall.cmake)
|
||||
|
||||
unset(MYX_CMAKE_SOURCE_DIR)
|
||||
unset(MYX_CMAKE_BACKPORTS_DIR)
|
||||
unset(MYX_CMAKE_LIB_DIR)
|
||||
|
@ -1,4 +1,4 @@
|
||||
set(MYX_CMAKE_PACKAGE_VERSION "1.99.99")
|
||||
set(MYX_CMAKE_PACKAGE_VERSION "2.0.0")
|
||||
if(MYX_CMAKE_PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
|
||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||
else()
|
||||
|
@ -46,6 +46,27 @@ if(project_binary_dir STREQUAL project_source_dir)
|
||||
"Myx: Cannot build in source directory ${CMAKE_SOURCE_DIR}")
|
||||
endif()
|
||||
|
||||
# Очистка от сгенерированных файлов
|
||||
file(GLOB_RECURSE cmakelists_files RELATIVE ${cmake_source_dir} CMakeLists.txt)
|
||||
foreach(it ${cmakelists_files})
|
||||
get_filename_component(file ${it} REALPATH)
|
||||
get_filename_component(dir ${file} DIRECTORY)
|
||||
file(REMOVE_RECURSE
|
||||
${dir}/.cmake
|
||||
${dir}/CMakeFiles)
|
||||
file(REMOVE
|
||||
${dir}/CMakeFiles
|
||||
${dir}/CMakeCache.txt
|
||||
${dir}/cmake_install.cmake
|
||||
${dir}/compile_commands.json
|
||||
${dir}/Makefile
|
||||
${dir}/.ninja_deps
|
||||
${dir}/.ninja_logs
|
||||
${dir}/build.ninja
|
||||
${dir}/rules.ninja)
|
||||
endforeach()
|
||||
|
||||
unset(cmakelists_files)
|
||||
unset(cmake_source_dir)
|
||||
unset(cmake_binary_dir)
|
||||
unset(project_source_dir)
|
||||
|
13
MyxCMake/lib/Uninstall.cmake
Normal file
13
MyxCMake/lib/Uninstall.cmake
Normal file
@ -0,0 +1,13 @@
|
||||
#[=======================================================================[.rst:
|
||||
Цель для удаления файлов, установленных выполнением цели `install`.
|
||||
Если при установке использовалась переменная `DESTDIR`, то при удалении
|
||||
файлов нужно указать то же значение.
|
||||
#]=======================================================================]
|
||||
|
||||
include_guard(GLOBAL)
|
||||
|
||||
if(NOT TARGET uninstall)
|
||||
configure_file(${CMAKE_CURRENT_LIST_DIR}/uninstall.cmake.in
|
||||
${CMAKE_BINARY_DIR}/cmake_uninstall.cmake IMMEDIATE @ONLY)
|
||||
add_custom_target(uninstall COMMAND ${CMAKE_COMMAND} -P ${CMAKE_BINARY_DIR}/cmake_uninstall.cmake)
|
||||
endif()
|
31
MyxCMake/lib/uninstall.cmake.in
Normal file
31
MyxCMake/lib/uninstall.cmake.in
Normal file
@ -0,0 +1,31 @@
|
||||
if(NOT EXISTS "@CMAKE_BINARY_DIR@/install_manifest.txt")
|
||||
message(FATAL_ERROR "Cannot find install manifest: @CMAKE_BINARY_DIR@/install_manifest.txt")
|
||||
endif(NOT EXISTS "@CMAKE_BINARY_DIR@/install_manifest.txt")
|
||||
|
||||
file(READ "@CMAKE_BINARY_DIR@/install_manifest.txt" files)
|
||||
string(REGEX REPLACE "\n" ";" files "${files}")
|
||||
foreach(file ${files})
|
||||
message(STATUS "Uninstalling $ENV{DESTDIR}${file}")
|
||||
if(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
|
||||
exec_program(
|
||||
"@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
|
||||
OUTPUT_VARIABLE rm_out
|
||||
RETURN_VALUE rm_retval
|
||||
)
|
||||
if(NOT "${rm_retval}" STREQUAL 0)
|
||||
message(FATAL_ERROR "Problem when removing $ENV{DESTDIR}${file}")
|
||||
endif(NOT "${rm_retval}" STREQUAL 0)
|
||||
else(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
|
||||
message(STATUS "File $ENV{DESTDIR}${file} does not exist.")
|
||||
endif(IS_SYMLINK "$ENV{DESTDIR}${file}" OR EXISTS "$ENV{DESTDIR}${file}")
|
||||
endforeach(file)
|
||||
|
||||
# Удаление пустых каталогов
|
||||
foreach(_file ${files})
|
||||
set(_res 0)
|
||||
while(_res EQUAL 0)
|
||||
get_filename_component(_file ${_file} DIRECTORY)
|
||||
execute_process(COMMAND rmdir ${_file} RESULT_VARIABLE _res OUTPUT_QUIET ERROR_QUIET)
|
||||
endwhile()
|
||||
endforeach()
|
||||
|
@ -3,7 +3,7 @@
|
||||
## Установка
|
||||
|
||||
В корневом каталоге проекта создать каталог `cmake` и распаковать в него
|
||||
[архив](../../../releases/download/1.99.99/myx-cmake-local-1.99.99.tar.xz ).
|
||||
[архив](../../../releases/download/2.0.0/myx-cmake-local-2.0.0.tar.xz ).
|
||||
|
||||
## Использование
|
||||
|
||||
|
2
debian/CMakeLists.txt
vendored
2
debian/CMakeLists.txt
vendored
@ -1,5 +1,5 @@
|
||||
cmake_minimum_required(VERSION 3.6 FATAL_ERROR)
|
||||
project(myx-cmake VERSION 1.99.99 LANGUAGES)
|
||||
project(myx-cmake VERSION 2.0.0 LANGUAGES)
|
||||
|
||||
include(GNUInstallDirs)
|
||||
file(WRITE ${CMAKE_SOURCE_DIR}/MyxCMake/MyxCMakeConfigVersion.cmake
|
||||
|
2
debian/changelog
vendored
2
debian/changelog
vendored
@ -1,4 +1,4 @@
|
||||
myx-cmake (1.99.99) unstable; urgency=medium
|
||||
myx-cmake (2.0.0) unstable; urgency=medium
|
||||
|
||||
* New version.
|
||||
|
||||
|
@ -20,11 +20,11 @@ if(MYX_CMAKE_DIR)
|
||||
set(ENV{MYX_CMAKE_DIR} ${MYX_CMAKE_DIR})
|
||||
endif()
|
||||
if(DEFINED ENV{MYX_CMAKE_DIR})
|
||||
find_package(MyxCMake 1.99.99 REQUIRED CONFIG PATHS $ENV{MYX_CMAKE_DIR} NO_DEFAULT_PATH)
|
||||
find_package(MyxCMake 2.0.0 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.99 REQUIRED)
|
||||
find_package(MyxCMake 2.0.0 REQUIRED)
|
||||
myx_message_notice("=== MyxCMake directory: ${MyxCMake_CONFIG} ===")
|
||||
else()
|
||||
include(${PROJECT_SOURCE_DIR}/cmake/myx/MyxCMakeConfig.cmake)
|
||||
|
Loading…
Reference in New Issue
Block a user