如何设置cmake / qt4命令QT4_WRAP_UI的输出路径

时间:2010-10-25 09:27:24

标签: user-interface qt4 cmake

我使用cmake命令QT4_WRAP_UI。是否有控制生成的头文件的输出路径的选项?

3 个答案:

答案 0 :(得分:5)

以下是QT4_WRAP_UI源代码:

MACRO (QT4_WRAP_UI outfiles )
  QT4_EXTRACT_OPTIONS(ui_files ui_options ${ARGN})

  FOREACH (it ${ui_files})
    GET_FILENAME_COMPONENT(outfile ${it} NAME_WE)
    GET_FILENAME_COMPONENT(infile ${it} ABSOLUTE)
    SET(outfile ${CMAKE_CURRENT_BINARY_DIR}/ui_${outfile}.h) # Here we set output
    ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
      COMMAND ${QT_UIC_EXECUTABLE}
      ARGS ${ui_options} -o ${outfile} ${infile}
      MAIN_DEPENDENCY ${infile})
    SET(${outfiles} ${${outfiles}} ${outfile})
  ENDFOREACH (it)

ENDMACRO (QT4_WRAP_UI)

如您所见,outfile变量是从CMAKE_CURRENT_BINARY_DIR变量构建的。您可以创建一个将替换该行的自定义宏。

答案 1 :(得分:3)

我必须找到解决方案。我确实创建了一个自定义宏,但我认为如果cmake上游的宏可以自动处理它会更好。

查看我的提案here

答案 2 :(得分:-2)

您只需将${CMAKE_CURRENT_BINARY_DIR}添加到include dir:

即可
include_directories(${CMAKE_CURRENT_BINARY_DIR})