set(QTVERSION 4) find_package(Qt${QTVERSION} REQUIRED) include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${QT_INCLUDES}) macro(qt_project NAME _TYPE _LIBS _H_OUT _CPP_OUT) project(${NAME}) find_package(Qt4 REQUIRED) include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${QT_INCLUDES}) file(GLOB ${_H_OUT} "./*.h") file(GLOB CPPS "./*.cpp") file(GLOB UIS "./*.ui") file(GLOB RES "./*.qrc") qt4_wrap_ui(CUIS ${UIS}) qt4_wrap_cpp(CMOCS ${${_H_OUT}} OPTIONS -nw) qt4_add_resources(CRES ${RES}) set(${_CPP_OUT} ${CPPS}) list(APPEND ${_CPP_OUT} ${CUIS}) list(APPEND ${_CPP_OUT} ${CMOCS}) list(APPEND ${_CPP_OUT} ${CRES}) if ("_${_TYPE}" STREQUAL "_EXE") add_executable(${PROJECT_NAME} ${${_H_OUT}} ${${_CPP_OUT}}) else() if ("_${_TYPE}" STREQUAL "_LIB") add_library(${PROJECT_NAME} SHARED ${${_H_OUT}} ${${_CPP_OUT}}) else() message(FATAL_ERROR "You must specify \"EXE\" ot \"LIB\" by second argument of \"qt_project()\"!") endif() endif() target_link_libraries(${PROJECT_NAME} ${_LIBS}) endmacro()