Compare commits

...

4 Commits

9 changed files with 33 additions and 22 deletions

View File

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

View File

@ -57,17 +57,28 @@ function(myx_add_interface_library TARGET_NAME)
endforeach()
if(ARG_LINK_LIBRARIES)
target_link_libraries(${TARGET_NAME} INTERFACE ${ARG_LINK_LIBRARIES})
# if(${CMAKE_VERSION} VERSION_GREATER "3.15.0")
# foreach(__lib ${ARG_LINK_LIBRARIES})
# if(TARGET ${__lib})
# install(
# TARGETS ${__lib}
# EXPORT ${TARGET_NAME}Targets
# COMPONENT DEV)
# endif()
# endforeach()
# endif()
foreach(__lib ${ARG_LINK_LIBRARIES})
if(TARGET ${__lib})
if(${CMAKE_VERSION} VERSION_GREATER "3.15.0")
target_link_libraries(${TARGET_NAME} INTERFACE ${__lib})
install(
TARGETS ${__lib}
EXPORT ${TARGET_NAME}Targets
COMPONENT DEV)
else()
get_target_property(__target_type ${__lib} TYPE)
if(__target_type STREQUAL "OBJECT_LIBRARY")
if(TARGET "${__lib}_static")
target_link_libraries(${TARGET_NAME} INTERFACE "${__lib}_static")
elseif(TARGET "${__lib}_shared")
target_link_libraries(${TARGET_NAME} INTERFACE "${__lib}_shared")
endif()
else()
target_link_libraries(${TARGET_NAME} INTERFACE ${__lib})
endif()
endif()
endif()
endforeach()
endif()
# Библиотека, состоящая только из заголовочных файлов не требует сборки.

View File

@ -75,9 +75,9 @@ function(myx_target_setup TARGET_NAME)
install(TARGETS ${TARGET_NAME} COMPONENT MAIN RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
endif()
target_sources(${TARGET_NAME} PUBLIC ${ARG_PUBLIC_HEADERS})
# target_sources(${TARGET_NAME} PUBLIC ${ARG_PUBLIC_HEADERS})
target_sources(${TARGET_NAME} PRIVATE ${ARG_CPP} ${ARG_PCH} ${ARG_PRIVATE_HEADERS})
target_sources(${TARGET_NAME} PUBLIC $<BUILD_INTERFACE:${ARG_INTERFACE_HEADERS}>)
target_sources(${TARGET_NAME} PUBLIC $<BUILD_INTERFACE:${ARG_PUBLIC_HEADERS}>)
target_compile_definitions(${TARGET_NAME} PRIVATE ${ARG_COMPILE_DEFINITIONS})
target_include_directories(${TARGET_NAME} PRIVATE ${ARG_INCLUDE_DIRECTORIES})

View File

@ -14,8 +14,8 @@ macro(myx_add_qtest TARGET_NAME)
foreach(filename ${ARG_UNPARSED_ARGUMENTS})
get_filename_component(basename ${filename} NAME_WE)
list(APPEND cpps "${basename}.cpp")
list(APPEND hpps "${basename}.hpp")
list(APPEND cpps "${CMAKE_CURRENT_SOURCE_DIR}/${basename}.cpp")
list(APPEND hpps "${CMAKE_CURRENT_SOURCE_DIR}/${basename}.hpp")
qt5_wrap_cpp(moc "${basename}.hpp")
list(APPEND mocs "${moc}")
endforeach()

View File

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

View File

@ -1 +1 @@
2.4.22
2.4.24

View File

@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.6 FATAL_ERROR)
project(myx-cmake VERSION 2.4.22 LANGUAGES)
project(myx-cmake VERSION 2.4.24 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.22) unstable; urgency=medium
myx-cmake (2.4.24) 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.22 REQUIRED CONFIG PATHS ${MYX_CMAKE_DIR} NO_DEFAULT_PATH)
find_package(MyxCMake 2.4.24 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.22 REQUIRED)
find_package(MyxCMake 2.4.24 REQUIRED)
myx_message_notice("== MyxCMake directory: ${MyxCMake_CONFIG} ==")
else()
include(${PROJECT_SOURCE_DIR}/cmake/myx/MyxCMakeConfig.cmake)