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

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

7

这里是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变量构建而来的。您可以创建一个自定义宏来替代那一行。


3

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

请查看我的建议这里


-1

您可以简单地将${CMAKE_CURRENT_BINARY_DIR}添加到包含目录中:

include_directories(${CMAKE_CURRENT_BINARY_DIR})

2
问题是是否可以控制QT4_WRAP_UI宏的输出路径。因此,包括生成文件的默认目录并不能回答这个问题。 - MKroehnert

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接