Compare commits

..

7 Commits

Author SHA1 Message Date
669bbff8ef 2.4.41 2024-04-10 23:18:41 +03:00
f7790f34f4 2.4.40 2024-04-10 23:16:37 +03:00
96180b1e27 2.4.39 2024-04-10 23:14:04 +03:00
30616ab4e1 Улучшен поиск приватных компонент Qt 2024-04-10 23:12:29 +03:00
87cf523cd3 2.4.38 2024-04-08 22:49:13 +03:00
4a7351c42b 2.4.37 2024-03-29 12:44:37 +03:00
ecd6c35b21 2.4.36 2024-03-29 12:41:49 +03:00
11 changed files with 29 additions and 17 deletions

View File

@ -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()

View File

@ -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})

View File

@ -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)

View File

@ -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()

View File

@ -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})

View File

@ -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()

View File

@ -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 ).
## Использование

View File

@ -1 +1 @@
2.4.35
2.4.41

View File

@ -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
View File

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

View File

@ -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)