Compare commits
7 Commits
a3461df5b1
...
2.4.42
Author | SHA1 | Date | |
---|---|---|---|
669bbff8ef | |||
f7790f34f4 | |||
96180b1e27 | |||
30616ab4e1 | |||
87cf523cd3 | |||
4a7351c42b | |||
ecd6c35b21 |
@ -1,4 +1,4 @@
|
||||
set(MYX_CMAKE_PACKAGE_VERSION "2.4.35")
|
||||
set(MYX_CMAKE_PACKAGE_VERSION "2.4.41")
|
||||
if(MYX_CMAKE_PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION)
|
||||
set(PACKAGE_VERSION_COMPATIBLE FALSE)
|
||||
else()
|
||||
|
@ -75,8 +75,13 @@ function(myx_target_setup TARGET_NAME)
|
||||
install(TARGETS ${TARGET_NAME} COMPONENT MAIN RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
endif()
|
||||
|
||||
target_sources(${TARGET_NAME} PRIVATE $<BUILD_INTERFACE:${ARG_PUBLIC_HEADERS}>)
|
||||
target_sources(${TARGET_NAME} PRIVATE $<BUILD_INTERFACE:${ARG_CPP} ${ARG_PCH} ${ARG_PRIVATE_HEADERS}>)
|
||||
if(${CMAKE_VERSION} VERSION_LESS "3.11.99")
|
||||
target_sources(${TARGET_NAME} PRIVATE $<BUILD_INTERFACE:${ARG_PUBLIC_HEADERS}>)
|
||||
target_sources(${TARGET_NAME} PRIVATE $<BUILD_INTERFACE:${ARG_CPP} ${ARG_PCH} ${ARG_PRIVATE_HEADERS}>)
|
||||
else()
|
||||
target_sources(${TARGET_NAME} PRIVATE ${ARG_PUBLIC_HEADERS})
|
||||
target_sources(${TARGET_NAME} PRIVATE ${ARG_CPP} ${ARG_PCH} ${ARG_PRIVATE_HEADERS})
|
||||
endif()
|
||||
target_compile_definitions(${TARGET_NAME} PRIVATE ${ARG_COMPILE_DEFINITIONS})
|
||||
target_include_directories(${TARGET_NAME} PRIVATE ${ARG_INCLUDE_DIRECTORIES})
|
||||
|
||||
|
@ -50,11 +50,11 @@ function(myx_generate_git_info_header TARGET_NAME BASE_FILENAME)
|
||||
endif()
|
||||
# cmake-format: on
|
||||
|
||||
set_property(TARGET ${TARGET_NAME} APPEND PROPERTY PRIVATE_HEADER_FILES ${filename})
|
||||
get_target_property(target_type ${TARGET_NAME} TYPE)
|
||||
if(${target_type} STREQUAL "INTERFACE_LIBRARY")
|
||||
target_sources(${TARGET_NAME} INTERFACE $<BUILD_INTERFACE:${filename}>)
|
||||
else()
|
||||
set_property(TARGET ${TARGET_NAME} APPEND PROPERTY PRIVATE_HEADER_FILES ${filename})
|
||||
target_sources(${TARGET_NAME} PRIVATE ${filename})
|
||||
endif()
|
||||
add_dependencies(${TARGET_NAME} ${TARGET_NAME}-git-info-header)
|
||||
|
@ -30,11 +30,11 @@ function(myx_generate_private_config_header TARGET_NAME BASE_FILENAME)
|
||||
set(filename "${PROJECT_BINARY_DIR}/include/${BASE_FILENAME}")
|
||||
configure_file("${CMAKE_CURRENT_FUNCTION_LIST_DIR}/PrivateConfig.hpp.in" ${filename})
|
||||
|
||||
set_property(TARGET ${TARGET_NAME} APPEND PROPERTY PRIVATE_HEADER_FILES ${filename})
|
||||
get_target_property(target_type ${TARGET_NAME} TYPE)
|
||||
if(${target_type} STREQUAL "INTERFACE_LIBRARY")
|
||||
target_sources(${TARGET_NAME} INTERFACE $<BUILD_INTERFACE:${filename}>)
|
||||
else()
|
||||
set_property(TARGET ${TARGET_NAME} APPEND PROPERTY PRIVATE_HEADER_FILES ${filename})
|
||||
target_sources(${TARGET_NAME} PRIVATE ${filename})
|
||||
endif()
|
||||
endfunction()
|
||||
|
@ -22,13 +22,20 @@ macro(myx_find_qt)
|
||||
message(FATAL_ERROR "Supported Qt versions are 5 and 6")
|
||||
endif()
|
||||
|
||||
if(ARG_REQUIRED)
|
||||
message("-- MyxCMake: searching required Qt private components: ${ARG_PRIVATE}")
|
||||
endif()
|
||||
foreach(iter ${ARG_PRIVATE})
|
||||
find_package("Qt${ARG_VERSION}${iter}" COMPONENTS Private ${ARG_REQUIRED})
|
||||
endforeach()
|
||||
|
||||
if(ARG_REQUIRED)
|
||||
message("-- MyxCMake: searching required Qt components: ${ARG_COMPONENTS}")
|
||||
endif()
|
||||
foreach(iter ${ARG_COMPONENTS})
|
||||
find_package(Qt${ARG_VERSION} COMPONENTS ${iter} ${ARG_REQUIRED})
|
||||
endforeach()
|
||||
|
||||
foreach(iter ${ARG_PRIVATE})
|
||||
find_package("Qt${ARG_VERSION}${iter}" COMPONENTS Private ${ARG_REQUIRED})
|
||||
endforeach()
|
||||
|
||||
foreach(iter IN LISTS oneValueArgs multiValueArgs)
|
||||
unset(ARG_${iter})
|
||||
|
@ -19,18 +19,18 @@ function(myx_uncrustify TARGET_NAME)
|
||||
endif()
|
||||
|
||||
if(NOT EXISTS ${ARG_CONFIG})
|
||||
myx_message_notice("MyxCMake: uncrustify config is not found")
|
||||
myx_message_notice("-- MyxCMake: uncrustify config is not found")
|
||||
return()
|
||||
endif()
|
||||
|
||||
if(NOT UNCRUSTIFY_EXE)
|
||||
myx_message_notice("MyxCMake: uncrustify executable is not found")
|
||||
myx_message_notice("-- MyxCMake: uncrustify executable is not found")
|
||||
return()
|
||||
endif()
|
||||
|
||||
get_filename_component(CONFIG_DIR ${ARG_CONFIG} DIRECTORY)
|
||||
if(NOT "${CMAKE_SOURCE_DIR}" STREQUAL "${CONFIG_DIR}")
|
||||
myx_message("MyxCMake: skip uncrustify for project ${PROJECT_NAME}")
|
||||
myx_message("-- MyxCMake: skip uncrustify for project ${PROJECT_NAME}")
|
||||
return()
|
||||
endif()
|
||||
|
||||
|
@ -3,7 +3,7 @@
|
||||
## Установка
|
||||
|
||||
В корневом каталоге проекта создать каталог `cmake` и распаковать в него
|
||||
[архив](../../../releases/download/2.4.35/myx-cmake-local-2.4.35.tar.xz ).
|
||||
[архив](../../../releases/download/2.4.41/myx-cmake-local-2.4.41.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 2.4.35 LANGUAGES)
|
||||
project(myx-cmake VERSION 2.4.41 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 (2.4.35) unstable; urgency=medium
|
||||
myx-cmake (2.4.41) unstable; urgency=medium
|
||||
|
||||
* New version.
|
||||
|
||||
|
@ -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.35 REQUIRED CONFIG PATHS ${MYX_CMAKE_DIR} NO_DEFAULT_PATH)
|
||||
find_package(MyxCMake 2.4.41 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.35 REQUIRED)
|
||||
find_package(MyxCMake 2.4.41 REQUIRED)
|
||||
myx_message_notice("== MyxCMake directory: ${MyxCMake_CONFIG} ==")
|
||||
else()
|
||||
include(${PROJECT_SOURCE_DIR}/cmake/myx/MyxCMakeConfig.cmake)
|
||||
|
Reference in New Issue
Block a user