macro(_qt_install _TARGET IS_APP _DIR _HDR_VAR _QM_FILES) sdk_install("${_DIR}" ${IS_APP} "${_TARGET}" "${${_HDR_VAR}}" "${_QM_FILES}") endmacro() macro(qad_plugin NAME _MODULES _LIBS) if (NOT STATIC_LIB) if(DESIGNER_PLUGINS) set(PROJ_NAME qad_${NAME}_plugin) include_directories("..") add_definitions(-DQT_PLUGIN) add_definitions(-DQT_NO_DEBUG) add_definitions(-DQT_SHARED) add_definitions(-DQDESIGNER_EXPORT_WIDGETS) find_qt(${QtVersions} Core Designer ${_MODULES}) qt_sources(SRC) qt_wrap(${SRC} CPPS out_CPP QMS out_QM) qt_add_library(${PROJ_NAME} SHARED out_CPP) qt_target_link_libraries(${PROJ_NAME} ${_LIBS} qad_${NAME} ${_${NAME}_PLUGIN_LIBS}) if (WIN32) qt_install(TARGETS ${PROJ_NAME} RUNTIME DESTINATION QtPlugins/designer) else() qt_install(TARGETS ${PROJ_NAME} DESTINATION QtPlugins/designer) endif() endif() endif() endmacro() macro(_qt_project NAME IS_APP DOMAIN _MODULES _LIBS) set(PROJ_NAME ${NAME}) find_qt(${QtVersions} Core ${_MODULES}) qt_sources(SRC) import_version(${PROJ_NAME} ${DOMAIN}) import_deploy_properties(${PROJ_NAME} ${DOMAIN}) if (${IS_APP}) set_deploy_property(${PROJ_NAME} LABEL ${PROJ_NAME} FULLNAME "${_${DOMAIN}_DOMAIN}.${PROJ_NAME}" INFO "${APP_INFO}" ICON "${APP_ICON}") else() set_deploy_property(${PROJ_NAME} SHARED LABEL ${PROJ_NAME} FULLNAME "${_${DOMAIN}_DOMAIN}.${PROJ_NAME}" INFO "${DOMAIN} ${NAME} library") endif() make_rc(${PROJ_NAME} out_RC) qt_wrap(${SRC} HDRS out_HDR CPPS out_CPP QMS out_QM ${out_RC}) if (${IS_APP}) qt_add_executable(${PROJ_NAME} WIN32 out_CPP ${${DOMAIN}_EXPORT_HEADER} ${ARGN}) else() qt_add_library(${PROJ_NAME} ${${DOMAIN}_LIB_TYPE} out_CPP ${${DOMAIN}_EXPORT_HEADER} ${ARGN}) if(NOT STATIC_LIB) qt_target_compile_definitions(${PROJ_NAME} PRIVATE ${DOMAIN}_SHARED_DEFINE) endif() qt_get_target(${PROJ_NAME} _some_target) qt_get_target(${PROJ_NAME} _targets) foreach(_t ${_targets}) set_target_properties(${_t} PROPERTIES DEFINE_SYMBOL ${PROJ_NAME}_EXPORTS) endforeach() set_target_properties(${_some_target} PROPERTIES DEFINE_SYMBOL ${PROJ_NAME}_EXPORTS) generate_export_header(${_some_target} BASE_NAME "${PROJ_NAME}") list(APPEND out_HDR "${CMAKE_CURRENT_BINARY_DIR}/${PROJ_NAME}_export.h") endif() qt_target_link_libraries(${PROJ_NAME} ${_LIBS}) list(APPEND QT_MULTILIB_LIST ${PROJ_NAME}) set(QT_MULTILIB_LIST ${QT_MULTILIB_LIST} PARENT_SCOPE) message(STATUS "Building ${PROJ_NAME}") if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/plugin") set(_${NAME}_PLUGIN_LIBS "${_LIBS}") add_subdirectory(plugin) endif() endmacro() macro(qad_library NAME _MODULES _LIBS) _qt_project(qad_${NAME} FALSE "QAD" "${_MODULES}" "${_LIBS}") _qt_install(qad_${NAME} FALSE "qad" "out_HDR" "out_QM") endmacro() macro(qad_application NAME _MODULES _LIBS) _qt_project(${NAME} TRUE "QAD" "${_MODULES}" "${_LIBS}") _qt_install(${NAME} TRUE "qad" "" "out_QM") endmacro()