87 lines
2.7 KiB
CMake
87 lines
2.7 KiB
CMake
|
|
macro(_qt_install _TARGET IS_APP _DIR _HDR_VAR _QM_FILES)
|
|
sdk_install("${_DIR}" ${IS_APP} "${_TARGET}" "${${_HDR_VAR}}" "${_QM_FILES}")
|
|
endmacro()
|
|
|
|
|
|
macro(_qt_plugin NAME _MODULES _LIBS)
|
|
if (NOT STATIC_LIB)
|
|
if(DESIGNER_PLUGINS)
|
|
set(PROJ_NAME ${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} ${_${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_generate_export_header(${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()
|
|
|
|
|
|
macro(qad_plugin NAME _MODULES _LIBS)
|
|
_qt_plugin(qad_${NAME} "${_MODULES}" "qad_${NAME};${_LIBS}")
|
|
endmacro()
|