2010-10-25 4 views

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}) 
+1

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

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

Questions connexes