Thank you Torsten! If I would exchange CMAKE_CURRENT_BINARY_DIR for CMAKE_CURRENT_SOURCE_DIR in your macro and if I would also add CMAKE_CURRENT_SOURCE_DIR to my include directories, then it should work the way as I need the generated files in my source-directory. Or do I miss something?
Best, Mick -------- Original-Nachricht -------- Datum: Tue, 14 Aug 2007 16:01:27 +0200 Von: Torsten Martinsen <[EMAIL PROTECTED]> An: "Maik Keller" <[EMAIL PROTECTED]> CC: [email protected] Betreff: RE: [CMake] Location of ui and moc generated files (qt) > Maik Keller <> wrote: > > > Hi Alex, > > > > I prefer to use the class, which is contained in the automatically > > generated ui-header file, as a base class for an extended > > implementation of the widget. Therefore I have to include the header > > of that class. So it would be nice to locate the base class in the > > same directory like the derived class (somewhere in my sources - and > > not in the build-directory). > > > > In case of the moc-file it is not that important. But it would be > > also nice to have the location under the control of the user. > > > > Would there be a possibility to use cmake's "ADD_CUSTOM_COMMAND"? I > > appreciate any help of defining such custom commands for ui and moc > > files. I tried it on my own, but I failed... > > As a reference point, here is the macro I use: > > # Run Qt UIC on a UI file. > # Arguments: > # 1-N Names of .ui files > MACRO(AIS_UI) > FOREACH (it ${ARGN}) > GET_FILENAME_COMPONENT(outfile ${it} NAME_WE) > SET(outhfile ${CMAKE_CURRENT_BINARY_DIR}/${outfile}.h) > SET(outcppfile ${CMAKE_CURRENT_BINARY_DIR}/${outfile}_uic.cpp) > ADD_CUSTOM_COMMAND(OUTPUT ${outhfile} > COMMAND ${QT_UIC_EXECUTABLE} ARGS -o ${outhfile} > ${CMAKE_CURRENT_SOURCE_DIR}/${it} > WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} > MAIN_DEPENDENCY ${it} > DEPENDS ${it} > ) > ADD_CUSTOM_COMMAND(OUTPUT ${outcppfile} > COMMAND ${QT_UIC_EXECUTABLE} ARGS > ${CMAKE_CURRENT_SOURCE_DIR}/${it} -impl ${outhfile} -o ${outcppfile} > WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} > MAIN_DEPENDENCY ${it} > DEPENDS ${it} ${outhfile}) > SET(CPP_SOURCE ${CPP_SOURCE} ${outcppfile}) > AIS_MOC(${outhfile}) > > SET(AIS_UIC_SOURCES ${AIS_UIC_SOURCES} ${outcppfile}) > LIST(APPEND AIS_UIC_HEADERS ${outhfile}) > ENDFOREACH (it) > ENDMACRO(AIS_UI) > > Note that this also generates the header file out-of-source - therefore > I have this line in another macro: > > INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) > > (This macro is used in all my projects). > > -Torsten > -- GMX FreeMail: 1 GB Postfach, 5 E-Mail-Adressen, 10 Free SMS. Alle Infos und kostenlose Anmeldung: http://www.gmx.net/de/go/freemail _______________________________________________ CMake mailing list [email protected] http://www.cmake.org/mailman/listinfo/cmake
