c++ - What to use instead of `qt5_use_modules`? -
the qt 5 cmake manual states qt5_use_modules macro deprecated:
this macro obsolete. use target_link_libraries imported targets instead.
... qt5_use_modules more specify link libraries: specifies include directories, necessary compile flags, , more (see full description in linked documentation above).
assuming, then, variable qtmodules contains list of qt modules should used project, "recommended" way replace following "deprecated" cmake line?
qt5_use_modules(${myprojectname} ${qtmodules}) the following not work, because not add qt include paths:
target_link_libraries(${myprojectname} imported ${qtmodules}) does qtmodules variable need manually iterated over, include_directories can called each individual module name? seems major step backward qt5_use_modules, simple , "just works." missing something?
the message using imported targets refers generated targets qt5's cmake modules provide you, not should setting imported property on target_link_libraries macro. example, like:
target_link_libraries(${myprojectname} qt5::core qt5::widgets) will take care of adding necessary include paths, link paths, , libraries using qt5core , qt5widgets modules.
Comments
Post a Comment