diff --git a/pip b/pip index 2dfbbf8..6143700 160000 --- a/pip +++ b/pip @@ -1 +1 @@ -Subproject commit 2dfbbf80b768e5477fb39dffb5ab58f61c43521d +Subproject commit 614370096cc0a2deb45790b69d27eada2fe237e0 diff --git a/qad/cmake/FindQAD.cmake b/qad/cmake/FindQAD.cmake index b26f2e8..776aecf 100644 --- a/qad/cmake/FindQAD.cmake +++ b/qad/cmake/FindQAD.cmake @@ -1,3 +1,19 @@ +#[[ + +Also create imported targets: + * QAD::Utils + * QAD::Widgets + * QAD::Application + * QAD::Blockview + * QAD::Graphic + * QAD::SQLTable + * QAD::TouchWidgets + * QAD::Doc + +These targets include directories and dependencies + +]] + cmake_policy(SET CMP0011 NEW) # don`t affect includer policies cmake_policy(SET CMP0020 NEW) # Automatically link Qt executables to qtmain target on Windows if(NOT LIBPROJECT) @@ -41,6 +57,24 @@ find_file(QAD_H_INCLUDE "qad_types.h" HINTS ${PIP_DIR}/include/qad ${_QAD_INCDIR #endif() set(_SEARCH_DIR ${_QAD_LIBDIR} $ENV{SMSDK_DIR}/lib) set(_QAD_LIBS utils widgets application blockview graphic sql_table touch_widgets doc) + +set(_ITN_utils "Utils" ) +set(_ITN_widgets "Widgets" ) +set(_ITN_application "Application" ) +set(_ITN_blockview "Blockview" ) +set(_ITN_graphic "Graphic" ) +set(_ITN_sql_table "SQLTable" ) +set(_ITN_touch_widgets "TouchWidgets") +set(_ITN_doc "Doc" ) + +set(_ITLL_widgets "QAD::Utils") +set(_ITLL_application "QAD::Widgets") +set(_ITLL_blockview "QAD::Widgets") +set(_ITLL_graphic "QAD::Widgets") +set(_ITLL_sql_table "QAD::Widgets") +set(_ITLL_touch_widgets "") +set(_ITLL_doc "") + if(LIBPROJECT) set(QAD_INCLUDES ${QAD_DIR}) endif() @@ -52,15 +86,41 @@ foreach(_Q ${_QAD_LIBS}) else() foreach(_v ${_QT_VERSIONS_}) find_library(QAD${_v}_${_QU}_LIBRARY qad_${_Q}${_v} HINTS ${_SEARCH_DIR}) - set(MULTILIB_${_Q}_SUFFIX_Qt${_v} ${_v}) + set(MULTILIB_qad_${_Q}_SUFFIX_Qt${_v} ${_v}) if(hasParent) - set(MULTILIB_${_Q}_SUFFIX_Qt${_v} ${_v} PARENT_SCOPE) + set(MULTILIB_qad_${_Q}_SUFFIX_Qt${_v} ${_v} PARENT_SCOPE) endif() + #message(STATUS "MULTILIB_qad_${_Q}_SUFFIX_Qt${_v} = ${_v}") endforeach() endif() #message(STATUS "Library qad_${_Q}5 (${_QU}) -> ${QAD5_${_QU}_LIBRARY} found in ${_SEARCH_DIR}") list(APPEND QT_MULTILIB_LIST qad_${_Q}) endforeach() +foreach(_Q ${_QAD_LIBS}) + string(TOUPPER ${_Q} _QU) + set(_target QAD::${_ITN_${_Q}}) + string(REPLACE ":" "_" _target_str "${_target}") + foreach(_v ${_QT_VERSIONS_}) + if(NOT TARGET ${_target}${_v}) + set(_link_list) + foreach(_l ${_ITLL_${_Q}}) + list(APPEND _link_list ${_l}${_v}) + endforeach() + add_library(${_target}${_v} UNKNOWN IMPORTED) + set_target_properties(${_target}${_v} PROPERTIES + IMPORTED_LOCATION "${QAD${_v}_${_QU}_LIBRARY}" + INTERFACE_INCLUDE_DIRECTORIES "${QAD_INCLUDES}" + INTERFACE_LINK_LIBRARIES "${_link_list}") + set(MULTILIB_${_target_str}_SUFFIX_Qt${_v} ${_v}) + if(hasParent) + set(MULTILIB_${_target_str}_SUFFIX_Qt${_v} ${_v} PARENT_SCOPE) + endif() + #message(STATUS "add imported ${_target}${_v}") + #message(STATUS "add MULTILIB MULTILIB_${_target_str}_SUFFIX_Qt${_v} ${_v}") + endif() + endforeach() + list(APPEND QT_MULTILIB_LIST ${_target}) +endforeach() list(APPEND QT_MULTILIB_LIST qglview qglengine_core qglengine_widgets) foreach(_v ${_QT_VERSIONS_}) find_library(QGLVIEW${_v}_LIBRARY qglview${_v} ${_SEARCH_DIR}) diff --git a/qad/cmake/QtWraps.cmake b/qad/cmake/QtWraps.cmake index 1d43fc3..936a8ab 100644 --- a/qad/cmake/QtWraps.cmake +++ b/qad/cmake/QtWraps.cmake @@ -536,8 +536,9 @@ endmacro() macro(_qt_multitarget_suffix_ _OUT _IN _v) - if (NOT "x${MULTILIB_${_IN}_SUFFIX_Qt${_v}}" STREQUAL "x") - set(${_OUT} "${MULTILIB_${_IN}_SUFFIX_Qt${_v}}") + string(REPLACE ":" "_" _in_str "${_IN}") + if (NOT "x${MULTILIB_${_in_str}_SUFFIX_Qt${_v}}" STREQUAL "x") + set(${_OUT} "${MULTILIB_${_in_str}_SUFFIX_Qt${_v}}") else() set(${_OUT} "${MULTILIB_SUFFIX_Qt${_v}}") endif() @@ -554,6 +555,7 @@ macro(qt_target_link_libraries _NAME) list(FIND QT_MULTILIB_LIST "${_i}" _ind) if (_ind GREATER -1) _qt_multitarget_suffix_(_TS ${_i} ${_v}) + #message(STATUS "${_i} in MULTILIB_LIST, suffix = ${_TS}") list(APPEND _ARGS ${_i}${_TS}) else() list(APPEND _ARGS ${_i})