myx update
This commit is contained in:
parent
a8858d15a5
commit
0cde545d89
@ -1,4 +1,4 @@
|
|||||||
set(MYX_CMAKE_PACKAGE_VERSION "2.0.31")
|
set(MYX_CMAKE_PACKAGE_VERSION "2.0.32")
|
||||||
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()
|
||||||
|
@ -50,8 +50,7 @@ function(myx_add_interface_library TARGET_NAME)
|
|||||||
# Вызов стандартной функции `add_library()`
|
# Вызов стандартной функции `add_library()`
|
||||||
if(${CMAKE_VERSION} VERSION_LESS "3.19.0")
|
if(${CMAKE_VERSION} VERSION_LESS "3.19.0")
|
||||||
add_library(${TARGET_NAME} INTERFACE)
|
add_library(${TARGET_NAME} INTERFACE)
|
||||||
# TODO
|
target_sources(${TARGET_NAME} INTERFACE $<BUILD_INTERFACE:${ARG_HEADERS}>)
|
||||||
target_sources(${TARGET_NAME} INTERFACE ${ARG_HEADERS})
|
|
||||||
else()
|
else()
|
||||||
add_library(${TARGET_NAME} INTERFACE ${ARG_HEADERS})
|
add_library(${TARGET_NAME} INTERFACE ${ARG_HEADERS})
|
||||||
endif()
|
endif()
|
||||||
@ -63,14 +62,16 @@ function(myx_add_interface_library TARGET_NAME)
|
|||||||
|
|
||||||
if(ARG_LINK_LIBRARIES)
|
if(ARG_LINK_LIBRARIES)
|
||||||
target_link_libraries(${TARGET_NAME} INTERFACE ${ARG_LINK_LIBRARIES})
|
target_link_libraries(${TARGET_NAME} INTERFACE ${ARG_LINK_LIBRARIES})
|
||||||
foreach(__lib ${ARG_LINK_LIBRARIES})
|
if(${CMAKE_VERSION} VERSION_GREATER "3.15.0")
|
||||||
if(TARGET ${__lib})
|
foreach(__lib ${ARG_LINK_LIBRARIES})
|
||||||
install(
|
if(TARGET ${__lib})
|
||||||
TARGETS ${__lib}
|
install(
|
||||||
EXPORT ${TARGET_NAME}Targets
|
TARGETS ${__lib}
|
||||||
COMPONENT DEV)
|
EXPORT ${TARGET_NAME}Targets
|
||||||
endif()
|
COMPONENT DEV)
|
||||||
endforeach()
|
endif()
|
||||||
|
endforeach()
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Библиотека, состоящая только из заголовочных файлов не требует сборки.
|
# Библиотека, состоящая только из заголовочных файлов не требует сборки.
|
||||||
|
@ -87,7 +87,11 @@ function(myx_qt5_target_setup TARGET_NAME)
|
|||||||
target_sources(${TARGET_NAME} PRIVATE ${qrc_l10n})
|
target_sources(${TARGET_NAME} PRIVATE ${qrc_l10n})
|
||||||
endif()
|
endif()
|
||||||
unset(tr)
|
unset(tr)
|
||||||
target_sources(${TARGET_NAME} PRIVATE ${ARG_PUBLIC_MOC} ${ARG_PRIVATE_MOC} ${moc_cpp} ${ui_h} ${qrc_cpp})
|
if(target_type STREQUAL "INTERFACE_LIBRARY")
|
||||||
|
target_sources(${TARGET_NAME} INTERFACE ${ARG_PUBLIC_MOC} ${ARG_PRIVATE_MOC} ${moc_cpp} ${ui_h} ${qrc_cpp})
|
||||||
|
else()
|
||||||
|
target_sources(${TARGET_NAME} PRIVATE ${ARG_PUBLIC_MOC} ${ARG_PRIVATE_MOC} ${moc_cpp} ${ui_h} ${qrc_cpp})
|
||||||
|
endif()
|
||||||
|
|
||||||
# Установка публичных заголовочных файлов
|
# Установка публичных заголовочных файлов
|
||||||
if(PROJECT_IS_TOP_LEVEL)
|
if(PROJECT_IS_TOP_LEVEL)
|
||||||
|
@ -52,4 +52,5 @@ function(myx_generate_git_info_header TARGET_NAME BASE_FILENAME)
|
|||||||
|
|
||||||
set_property(TARGET ${TARGET_NAME} APPEND PROPERTY PRIVATE_HEADER_FILES ${__filename})
|
set_property(TARGET ${TARGET_NAME} APPEND PROPERTY PRIVATE_HEADER_FILES ${__filename})
|
||||||
target_sources(${TARGET_NAME} PRIVATE ${__filename})
|
target_sources(${TARGET_NAME} PRIVATE ${__filename})
|
||||||
|
add_dependencies(${TARGET_NAME} ${TARGET_NAME}-git-info-header)
|
||||||
endfunction()
|
endfunction()
|
||||||
|
@ -47,7 +47,7 @@ function(myx_uncrustify TARGET_NAME)
|
|||||||
|
|
||||||
# Динамически сгенерированные файлы исключаются
|
# Динамически сгенерированные файлы исключаются
|
||||||
get_target_property(__target_type ${TARGET_NAME} TYPE)
|
get_target_property(__target_type ${TARGET_NAME} TYPE)
|
||||||
if(${__target_type} STREQUAL "INTERFACE_LIBRARY")
|
if((${__target_type} STREQUAL "INTERFACE_LIBRARY") AND (${CMAKE_VERSION} VERSION_LESS "3.15.0"))
|
||||||
get_target_property(__s1 ${TARGET_NAME} INTERFACE_SOURCES)
|
get_target_property(__s1 ${TARGET_NAME} INTERFACE_SOURCES)
|
||||||
if(__s1)
|
if(__s1)
|
||||||
list(APPEND __all_sources ${__s1})
|
list(APPEND __all_sources ${__s1})
|
||||||
|
@ -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.0.31 REQUIRED CONFIG PATHS ${MYX_CMAKE_DIR} NO_DEFAULT_PATH)
|
find_package(MyxCMake 2.0.32 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.0.31 REQUIRED)
|
find_package(MyxCMake 2.0.32 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)
|
||||||
|
Loading…
Reference in New Issue
Block a user