2.0.14
This commit is contained in:
@ -46,7 +46,7 @@ function(myx_add_library NAME TYPE)
|
||||
if(TYPE STREQUAL "INTERFACE")
|
||||
# Библиотека, состоящая только из заголовочных файлов не требует сборки.
|
||||
# Стандартные пути к заголовочным файлам
|
||||
target_include_directories(${NAME} SYSTEM INTERFACE $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>)
|
||||
target_include_directories(${NAME} INTERFACE $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>)
|
||||
else()
|
||||
string(TOUPPER ${NAME} PROJECT_NAME_UPPER)
|
||||
# Опция для разрешения сборки динамической библиотеки
|
||||
|
@ -9,7 +9,7 @@ file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
|
||||
file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/include)
|
||||
file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
|
||||
|
||||
create_symlink("${CMAKE_SOURCE_DIR}/files/etc" "${CMAKE_BINARY_DIR}/etc")
|
||||
create_symlink("${CMAKE_SOURCE_DIR}/files/log" "${CMAKE_BINARY_DIR}/log")
|
||||
create_symlink("${CMAKE_SOURCE_DIR}/files/share" "${CMAKE_BINARY_DIR}/share")
|
||||
create_symlink("${CMAKE_SOURCE_DIR}/files/var" "${CMAKE_BINARY_DIR}/var")
|
||||
myx_create_symlink("${CMAKE_SOURCE_DIR}/files/etc" "${CMAKE_BINARY_DIR}/etc")
|
||||
myx_create_symlink("${CMAKE_SOURCE_DIR}/files/log" "${CMAKE_BINARY_DIR}/log")
|
||||
myx_create_symlink("${CMAKE_SOURCE_DIR}/files/share" "${CMAKE_BINARY_DIR}/share")
|
||||
myx_create_symlink("${CMAKE_SOURCE_DIR}/files/var" "${CMAKE_BINARY_DIR}/var")
|
||||
|
@ -91,7 +91,7 @@ function(myx_qt5_target_setup NAME)
|
||||
|
||||
# Установка публичных заголовочных файлов
|
||||
if(PROJECT_IS_TOP_LEVEL)
|
||||
install_relative(${PROJECT_SOURCE_DIR}
|
||||
myx_install_relative(${PROJECT_SOURCE_DIR}
|
||||
FILES ${ARG_PUBLIC_MOC}
|
||||
DESTINATION ${CMAKE_INSTALL_PREFIX}
|
||||
COMPONENT dev
|
||||
|
@ -74,7 +74,7 @@ function(myx_target_setup NAME)
|
||||
endif()
|
||||
|
||||
if(${target_type} STREQUAL "INTERFACE_LIBRARY")
|
||||
target_sources(${NAME} INTERFACE ${ARG_INTERFACE_HEADERS})
|
||||
target_sources(${NAME} INTERFACE $<BUILD_INTERFACE:${ARG_INTERFACE_HEADERS}>)
|
||||
else()
|
||||
target_sources(${NAME} PUBLIC $<BUILD_INTERFACE:${ARG_INTERFACE_HEADERS}>)
|
||||
target_sources(${NAME} PUBLIC ${ARG_PUBLIC_HEADERS})
|
||||
@ -120,7 +120,7 @@ function(myx_target_setup NAME)
|
||||
|
||||
# Установка публичных заголовочных файлов
|
||||
if(PROJECT_IS_TOP_LEVEL)
|
||||
install_relative(${PROJECT_SOURCE_DIR}
|
||||
myx_install_relative(${PROJECT_SOURCE_DIR}
|
||||
FILES ${ARG_PUBLIC_HEADERS} ${ARG_INTERFACE_HEADERS}
|
||||
DESTINATION ${CMAKE_INSTALL_PREFIX}
|
||||
COMPONENT dev
|
||||
|
@ -1,11 +1,11 @@
|
||||
include_guard(GLOBAL)
|
||||
|
||||
macro(create_symlink original linkname)
|
||||
macro(myx_create_symlink original linkname)
|
||||
if(NOT EXISTS ${linkname})
|
||||
if(${CMAKE_VERSION} VERSION_LESS "3.14.0")
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink ${original} ${linkname})
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E myx_create_symlink ${original} ${linkname})
|
||||
else()
|
||||
file(CREATE_LINK ${original} ${linkname} SYMBOLIC)
|
||||
endif()
|
||||
endif()
|
||||
endmacro(create_symlink original linkname)
|
||||
endmacro(myx_create_symlink original linkname)
|
||||
|
@ -1,6 +1,6 @@
|
||||
include_guard(GLOBAL)
|
||||
|
||||
macro(myx_find_packages)
|
||||
macro(myx_find_requred_packages)
|
||||
set(options)
|
||||
set(oneValueArgs)
|
||||
set(multiValueArgs PACKAGES Boost Qt5 Qt5Private)
|
||||
|
@ -1,10 +1,10 @@
|
||||
#[=======================================================================[.rst:
|
||||
install_relative
|
||||
----------------
|
||||
myx_install_relative
|
||||
--------------------
|
||||
|
||||
#]=======================================================================]
|
||||
|
||||
macro(install_relative STRIP_DIRECTORY)
|
||||
macro(myx_install_relative STRIP_DIRECTORY)
|
||||
set(options)
|
||||
set(oneValueArgs DESTINATION)
|
||||
set(multiValueArgs FILES)
|
||||
@ -16,4 +16,4 @@ macro(install_relative STRIP_DIRECTORY)
|
||||
string(REPLACE ${STRIP_DIRECTORY} "" RELATIVE_DIR ${DIR})
|
||||
INSTALL(FILES ${FILE} DESTINATION ${ARG_DESTINATION}/${RELATIVE_DIR} ${ARG_UNPARSED_ARGUMENTS})
|
||||
endforeach()
|
||||
endmacro(install_relative STRIP_DIRECTORY)
|
||||
endmacro(myx_install_relative STRIP_DIRECTORY)
|
||||
|
@ -7,7 +7,7 @@ macro(myx_skip_external_target NAME)
|
||||
get_target_property(__sources ${NAME} INTERFACE_SOURCES)
|
||||
foreach(iter ${__sources})
|
||||
string(FIND ${iter} ${CMAKE_BINARY_DIR} __pos)
|
||||
if(__pos EQUAL 0)
|
||||
if(__pos GREATER -1)
|
||||
unset(__type)
|
||||
unset(__pos)
|
||||
unset(__sources)
|
||||
|
Reference in New Issue
Block a user