31 lines
1.1 KiB
CMake
31 lines
1.1 KiB
CMake
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()
|