Multi-Qt building
git-svn-id: svn://db.shs.com.ru/libs@250 a8b55f48-bf90-11e4-a774-851b48703e85
This commit is contained in:
@@ -1,8 +1,7 @@
|
||||
project(qad)
|
||||
cmake_minimum_required(VERSION 2.6)
|
||||
cmake_policy(SET CMP0017 OLD)
|
||||
find_package(Qt4 REQUIRED)
|
||||
include(QtProject.cmake)
|
||||
#cmake_policy(SET CMP0017 OLD)
|
||||
#find_package(Qt4 REQUIRED)
|
||||
if (LIBPROJECT)
|
||||
include(../SDKMacros.cmake)
|
||||
else()
|
||||
@@ -35,7 +34,7 @@ if (NOT LIBPROJECT)
|
||||
message(STATUS "Install ${PROJECT_NAME} to local \"bin\"")
|
||||
endif()
|
||||
endif()
|
||||
set(CMAKES "FindQAD.cmake" "QtProject.cmake")
|
||||
set(CMAKES "FindQAD.cmake" "QtWraps.cmake")
|
||||
install(FILES ${CMAKES} DESTINATION ${CMAKE_ROOT}/Modules)
|
||||
|
||||
macro(qad_install _TARGET _H_FILES)
|
||||
@@ -48,45 +47,46 @@ macro(qad_install _TARGET _H_FILES)
|
||||
#message("HFILES ${_H_FILES}")
|
||||
install(FILES ${_H_FILES} DESTINATION ${MINGW_INCLUDE}/qad)
|
||||
endif()
|
||||
install(TARGETS ${_TARGET} DESTINATION ${MINGW_LIB})
|
||||
install(TARGETS ${_TARGET} DESTINATION ${MINGW_BIN})
|
||||
get_filename_component(QTDIR ${QT_QMAKE_EXECUTABLE} PATH)
|
||||
install(TARGETS ${_TARGET} DESTINATION ${QTDIR})
|
||||
qt_install(TARGETS ${_TARGET} DESTINATION ${MINGW_LIB})
|
||||
qt_install(TARGETS ${_TARGET} DESTINATION ${MINGW_BIN})
|
||||
qt_install(TARGETS ${_TARGET} DESTINATION QtBin)
|
||||
else()
|
||||
if(NOT _H_FILES STREQUAL "")
|
||||
install(FILES ${_H_FILES} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/qad)
|
||||
endif()
|
||||
install(TARGETS ${_TARGET} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
|
||||
qt_install(TARGETS ${_TARGET} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
|
||||
endif()
|
||||
else()
|
||||
install(TARGETS ${_TARGET} DESTINATION bin)
|
||||
qt_install(TARGETS ${_TARGET} DESTINATION bin)
|
||||
endif()
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
macro(qad_plugin NAME _LIBS)
|
||||
project(qad_${NAME}_plugin)
|
||||
macro(qad_plugin NAME _MODULES _LIBS)
|
||||
set(PROJ_NAME qad_${NAME}_plugin)
|
||||
include_directories("..")
|
||||
set(LIBS ${_${NAME}_PLUGIN_LIBS} qad_${NAME} ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${QT_QTDESIGNER_LIBRARY} "${_LIBS}")
|
||||
#message(${_${NAME}_PLUGIN_LIBS})
|
||||
add_definitions(-DQT_PLUGIN)
|
||||
add_definitions(-DQT_NO_DEBUG)
|
||||
add_definitions(-DQT_SHARED)
|
||||
add_definitions(-DQDESIGNER_EXPORT_WIDGETS)
|
||||
file(GLOB PMOCS "./*.h")
|
||||
file(GLOB PCPPS "./*.cpp")
|
||||
qt4_wrap_cpp(PCMOCS ${PMOCS} OPTIONS -nw)
|
||||
add_library(${PROJECT_NAME} SHARED ${PCMOCS} ${PCPPS} ${PMOCS})
|
||||
target_link_libraries(${PROJECT_NAME} ${LIBS})
|
||||
install(TARGETS ${PROJECT_NAME} DESTINATION ${QT_PLUGINS_DIR}/designer)
|
||||
file(GLOB SRC "*.h" "*.cpp" "*.ui" "*.qrc" "lang/*.ts")
|
||||
find_qt(${QtVersions} Core Designer ${_MODULES})
|
||||
qt_wrap(${SRC} CPPS out_CPP QMS out_QM)
|
||||
qt_add_library(${PROJ_NAME} SHARED out_CPP)
|
||||
qt_target_link_libraries(${PROJ_NAME} ${_LIBS} qad_${NAME} ${_${NAME}_PLUGIN_LIBS})
|
||||
qt_install(TARGETS ${PROJ_NAME} DESTINATION QtPlugins/designer)
|
||||
endmacro()
|
||||
|
||||
macro(qad_project NAME _LIBS)
|
||||
qt_project(qad_${NAME} _H _CPP)
|
||||
add_library(qad_${NAME} SHARED ${_H} ${_CPP})
|
||||
target_link_libraries(qad_${NAME} ${_LIBS})
|
||||
message(STATUS "Building ${PROJECT_NAME}")
|
||||
qad_install(${PROJECT_NAME} "${_H}")
|
||||
macro(qad_project NAME _MODULES _LIBS)
|
||||
set(PROJ_NAME qad_${NAME})
|
||||
file(GLOB SRC "*.h" "*.cpp" "*.ui" "*.qrc" "lang/*.ts")
|
||||
find_qt(${QtVersions} Core ${_MODULES})
|
||||
qt_wrap(${SRC} HDRS out_HDR CPPS out_CPP QMS out_QM)
|
||||
qt_add_library(${PROJ_NAME} SHARED out_CPP)
|
||||
qt_target_link_libraries(${PROJ_NAME} ${_LIBS})
|
||||
qad_install(${PROJ_NAME} "${out_HDR}")
|
||||
message(STATUS "Building ${PROJ_NAME}")
|
||||
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/plugin")
|
||||
set(_${NAME}_PLUGIN_LIBS "${_LIBS}")
|
||||
add_subdirectory(plugin)
|
||||
@@ -94,6 +94,10 @@ macro(qad_project NAME _LIBS)
|
||||
endmacro()
|
||||
|
||||
set(DIRS utils widgets application blockview graphic sql_table touch_widgets)
|
||||
foreach(D ${DIRS})
|
||||
list(APPEND QT_MULTILIB_LIST qad_${D})
|
||||
endforeach(D)
|
||||
set(QT_MULTILIB_LIST ${QT_MULTILIB_LIST} PARENT_SCOPE)
|
||||
foreach(D ${DIRS})
|
||||
include_directories(${D})
|
||||
add_subdirectory(${D})
|
||||
|
||||
Reference in New Issue
Block a user