J'utilise la commande cmake QT4_WRAP_UI. Y at-il une option pour contrôler le chemin de sortie des fichiers d'en-tête générés?Comment définir le chemin de sortie de la commande cmake/qt4 QT4_WRAP_UI
4
A
Répondre
5
Voici QT4_WRAP_UI
code source:
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)
Comme vous pouvez le voir, la variable outfile
est construit à partir de la variable CMAKE_CURRENT_BINARY_DIR
. Vous pouvez créer une macro personnalisée qui remplacera cette ligne.
-2
Vous pouvez simplement ajouter le ${CMAKE_CURRENT_BINARY_DIR}
à inclure dir:
include_directories(${CMAKE_CURRENT_BINARY_DIR})
3
je devais trouver une solution à cela. J'ai créé une macro personnalisée, mais je pense que ce serait plus agréable si la macro de cmake upstream gérait cela automagiquement.
Voir ma proposition here
La question est de savoir s'il est possible de contrôler la trajectoire de sortie de la macro 'QT4_WRAP_UI'. Par conséquent, y compris le répertoire par défaut pour les fichiers générés ne répond pas à la question. – MKroehnert