[CMake] how to define the output location of QT4_WRAP_UI?
eial at cs.bgu.ac.il
eial at cs.bgu.ac.il
Tue Jan 26 17:39:44 EST 2010
hello.
I've ran into a slight problem, I have a program that uses qt4 gui, I've created classes with ui, my cmakelist.txts looks like this:
cmake_minimum_required(VERSION 2.6)
PROJECT(Quad)
SET(CMAKE_VERBOSE_MAKEFILE ON)
SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/build)
SET(LIBRARY_OUTPUT_PATH ${CMAKE_SOURCE_DIR}/build/libs)
SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/modules)
SET(Boost_MINIMUM_VERSION "1.33.1")
find_package(Qt4 COMPONENTS QtCore QtGui REQUIRED)
#INCLUDE(${QT_cd USE_FILE})
INCLUDE_DIRECTORIES(${QT_INCLUDE_DIR} src)
SUBDIRS(src)
and
#this is just a basic CMakeLists.txt, for more information see the cmake manpage
SET(SUBDIRS GUI Utilities DataObjects Threads)
FOREACH(subdir ${SUBDIRS})
add_subdirectory(${subdir})
ENDFOREACH(subdir)
#add definitions, compiler switches, etc.
ADD_DEFINITIONS(-g -Wall -O2)
#get all cpp files in libs
file(GLOB UTIL_CPP Utilities/*.cpp)
file(GLOB DATA_CPP DataObjects/*.cpp)
file(GLOB THREADS_CPP Threads/*.cpp)
file(GLOB GUI_CPP GUI/*.cpp)
file(GLOB GUI_UI GUI/*.ui)
QT4_WRAP_UI(GUI_UI_H ${GUI_UI})
#build a shared library
ADD_LIBRARY(Utilities SHARED ${UTIL_CPP})
ADD_LIBRARY(DataObjects SHARED ${DATA_CPP})
ADD_LIBRARY(Threads SHARED ${THREADS_CPP})
ADD_LIBRARY(GUI SHARED ${GUI_CPP} ${GUI_UI_H})
#add_subdirectory(testUnits)
#link libs
target_link_libraries(DataObjects)
target_link_libraries(Utilities DataObjects)
target_link_libraries(Threads Utilities DataObjects)
target_link_libraries(GUI ${QT_QTCORE_LIBRARIES} ${QT_QTGUI_LIBRARIES} Utilities DataObjects)
#list all source files here
ADD_EXECUTABLE(Quad Quad.cpp)
#need to link to some other libraries
TARGET_LINK_LIBRARIES(Quad DataObjects Utilities Threads GUI)
now for some reason the ui_*.h files are created under the bin folder causing compilation to fail because these files are missing in the actual src folder.
how can I define the macro's output location?
More information about the CMake
mailing list