Qt4Macros: Handle Qt ActiveX libraries in qt4_use_modules.

These libraries have non-conventional variable names.
This commit is contained in:
Stephen Kelly 2013-05-23 16:51:11 +02:00 committed by Brad King
parent 5dd8c01429
commit ce0c4802c0
1 changed files with 16 additions and 8 deletions

View File

@ -451,14 +451,22 @@ function(qt4_use_modules _target _link_type)
endif()
foreach(_module ${modules})
string(TOUPPER ${_module} _ucmodule)
if (NOT QT_QT${_ucmodule}_FOUND)
message(FATAL_ERROR "Can not use \"${_module}\" module which has not yet been found.")
set(_targetPrefix QT_QT${_ucmodule})
if (_ucmodule STREQUAL QAXCONTAINER OR _ucmodule STREQUAL QAXSERVER)
if (NOT QT_Q${_ucmodule}_FOUND)
message(FATAL_ERROR "Can not use \"${_module}\" module which has not yet been found.")
endif()
set(_targetPrefix QT_Q${_ucmodule})
else()
if (NOT QT_QT${_ucmodule}_FOUND)
message(FATAL_ERROR "Can not use \"${_module}\" module which has not yet been found.")
endif()
if ("${_ucmodule}" STREQUAL "MAIN")
message(FATAL_ERROR "Can not use \"${_module}\" module with qt4_use_modules.")
endif()
endif()
if ("${_ucmodule}" STREQUAL "MAIN")
message(FATAL_ERROR "Can not use \"${_module}\" module with qt4_use_modules.")
endif()
target_link_libraries(${_target} ${link_type} ${QT_QT${_ucmodule}_LIBRARY})
set_property(TARGET ${_target} APPEND PROPERTY INCLUDE_DIRECTORIES ${QT_QT${_ucmodule}_INCLUDE_DIR} ${QT_HEADERS_DIR} ${QT_MKSPECS_DIR}/default)
set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS ${QT_QT${_ucmodule}_COMPILE_DEFINITIONS})
target_link_libraries(${_target} ${link_type} ${${_targetPrefix}_LIBRARIES})
set_property(TARGET ${_target} APPEND PROPERTY INCLUDE_DIRECTORIES ${${_targetPrefix}_INCLUDE_DIR} ${QT_HEADERS_DIR} ${QT_MKSPECS_DIR}/default)
set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS ${${_targetPrefix}_COMPILE_DEFINITIONS})
endforeach()
endfunction()