new cmake build
git-svn-id: svn://db.shs.com.ru/libs@90 a8b55f48-bf90-11e4-a774-851b48703e85
This commit is contained in:
@@ -1,36 +1,41 @@
|
||||
project(touch_widgets)
|
||||
cmake_minimum_required(VERSION 2.6)
|
||||
find_package(Qt4 REQUIRED)
|
||||
if (MINGW)
|
||||
find_package(MinGW REQUIRED)
|
||||
endif()
|
||||
include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${QT_INCLUDES})
|
||||
|
||||
option(LIB "System install" 0)
|
||||
option(DEBUG "Build with -g3" 0)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -Wall")
|
||||
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||
|
||||
set(MOCS "touchbutton.h" "touchbuttframe.h" "touchslider.h" "touch_bar.h")
|
||||
set(CPPS "touchbutton.cpp" "touchbuttframe.cpp" "touchslider.cpp")
|
||||
if (DEBUG)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3")
|
||||
endif ()
|
||||
set(LIBS ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY})
|
||||
file(GLOB MOCS "./*.h")
|
||||
file(GLOB CPPS "./*.cpp")
|
||||
file(GLOB UIS "./*.ui")
|
||||
file(GLOB RES "./*.qrc")
|
||||
qt4_wrap_ui(CUIS ${UIS})
|
||||
qt4_wrap_cpp(CMOCS ${MOCS})
|
||||
qt4_wrap_cpp(CMOCS ${MOCS} OPTIONS -nw)
|
||||
qt4_add_resources(CRES ${RES})
|
||||
add_library(touch_widgets SHARED ${CPPS} ${CUIS} ${CMOCS} ${CRES})
|
||||
set(LIBS ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY})
|
||||
target_link_libraries(touch_widgets ${LIBS})
|
||||
if (DEFINED LIB)
|
||||
set(LIB 1)
|
||||
if (${WIN32})
|
||||
find_package(MinGW REQUIRED)
|
||||
add_library(${PROJECT_NAME} SHARED ${CPPS} ${CUIS} ${CMOCS} ${CRES} ${MOCS})
|
||||
target_link_libraries(${PROJECT_NAME} ${LIBS})
|
||||
if (LIB)
|
||||
if (WIN32)
|
||||
set(CMAKE_INSTALL_PREFIX ${MINGW_DIR})
|
||||
install(FILES ${MOCS} DESTINATION ${MINGW_INCLUDE})
|
||||
install(TARGETS touch_widgets DESTINATION ${MINGW_LIB})
|
||||
install(TARGETS ${PROJECT_NAME} DESTINATION ${MINGW_LIB})
|
||||
get_filename_component(QTDIR ${QT_QMAKE_EXECUTABLE} PATH)
|
||||
install(TARGETS touch_widgets DESTINATION ${QTDIR})
|
||||
install(TARGETS ${PROJECT_NAME} DESTINATION ${QTDIR})
|
||||
else ()
|
||||
set(CMAKE_INSTALL_PREFIX /usr)
|
||||
install(FILES ${MOCS} DESTINATION ${CMAKE_INSTALL_PREFIX}/include)
|
||||
install(TARGETS touch_widgets DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
|
||||
install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
|
||||
endif ()
|
||||
message(STATUS "Install to system \"${CMAKE_INSTALL_PREFIX}\"")
|
||||
else ()
|
||||
install(TARGETS touch_widgets DESTINATION bin)
|
||||
install(TARGETS ${PROJECT_NAME} DESTINATION bin)
|
||||
message(STATUS "Install to local \"bin\"")
|
||||
endif ()
|
||||
add_subdirectory(plugin)
|
||||
|
||||
@@ -1 +1 @@
|
||||
cmake_mgw -DLIB= && make install && qmake && make install
|
||||
cmake -G "MinGW Makefiles" -DLIB=1 && make install . %*
|
||||
|
||||
20
touch_widgets/plugin/CMakeLists.txt
Normal file
20
touch_widgets/plugin/CMakeLists.txt
Normal file
@@ -0,0 +1,20 @@
|
||||
project(touch_widgets_plugin)
|
||||
cmake_minimum_required(VERSION 2.6)
|
||||
find_package(Qt4 REQUIRED)
|
||||
include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${QT_INCLUDES} "..")
|
||||
option(DEBUG "Build with -g3" 0)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -Wall")
|
||||
if (DEBUG)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3")
|
||||
endif ()
|
||||
set(LIBS ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${QT_QTOPENGL_LIBRARY} ${OPENGL_LIBRARIES})
|
||||
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} ${QT_QTDESIGNER_LIBRARY} touch_widgets)
|
||||
install(TARGETS ${PROJECT_NAME} DESTINATION ${QT_PLUGINS_DIR}/designer)
|
||||
@@ -1,7 +1,7 @@
|
||||
#include "touchsliderplugin.h"
|
||||
#include "touchbuttframeplugin.h"
|
||||
#include "touchbuttonplugin.h"
|
||||
#include "tw.h"
|
||||
#include "touch_widgets.h"
|
||||
|
||||
TW::TW(QObject *parent)
|
||||
: QObject(parent)
|
||||
@@ -1,14 +0,0 @@
|
||||
CONFIG += designer plugin release
|
||||
TARGET = $$qtLibraryTarget(touch_widgets_plugin)
|
||||
TEMPLATE = lib
|
||||
|
||||
HEADERS = touchsliderplugin.h touchbuttframeplugin.h tw.h touchbuttonplugin.h
|
||||
SOURCES = touchsliderplugin.cpp touchbuttframeplugin.cpp tw.cpp touchbuttonplugin.cpp
|
||||
RESOURCES = touch_widgets.qrc
|
||||
LIBS += -L. -ltouch_widgets
|
||||
|
||||
target.path = $$[QT_INSTALL_PLUGINS]/designer
|
||||
INSTALLS += target
|
||||
|
||||
CONFIG -= debug_and_release debug
|
||||
CONFIG += release
|
||||
Reference in New Issue
Block a user