オプションの QT4 GUI を追加することにした CLI ベースのアプリケーションがあります。私の CMakeLists.txt は次のようになります。
...
add_library(applib ...
add_executable(app-cli ...
target_link_libraries(app-cli applib)
if(QT4_FOUND)
...
include(${QT_USE_FILE})
add_executable(app-qt ...
target_link_libraries(app-qt ${QT_LIBRARIES} applib)
endif()
それは機能しますが、「if(QT4_FOUND)」が true と評価されるたびに、「-DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG」が非 qt 対応コードを含むすべてのソース ファイルのコンパイラ呼び出しに追加されることに気付きました。良性ですが、私はそれが不要だと考えています。私が問題を理解している限り、その原因は include(${QT_USE_FILE}) です。これには、私のマシンの /usr/share/cmake/Modules/UseQt4.cmake が含まれます。最初の非コメント行は次のとおりです。
add_definitions(${QT_DEFINITIONS})
私はおそらく次のようなものが欲しいのですが
set_target_properties (app-qt PROPERTIES COMPILE_DEFINITIONS "${QT_DEFINITIONS}")
これについて何かできることはありますか?