2016-06-12 7 views
1

In qtcreator hat ein Template-Projekt eine einfache .pro-Konfigurationsdatei. Von .proDatei Qmake Dienstprogramm generiert Makefiles von denen jeder eine Menge für jede qt abhängig Quelldatei enthält:Wie verwende ich ein anderes Build-System als qmake mit einem Qt-Projekt?

release/moc_MainWindow.cpp: src/controller/Controller.hpp \ 
... 
     ../../../../Qt/5.6/mingw49_32/include/QtWidgets/QMainWindow \ 
     ../../../../Qt/5.6/mingw49_32/include/QtWidgets/qmainwindow.h \ 
... 100 lines here ... 
     ../../../../Qt/5.6/mingw49_32/include/QtWidgets/qpushbutton.h \ 
     ../../../../Qt/5.6/mingw49_32/include/QtWidgets/qabstractbutton.h \ 
     src/view/qt/MainWindow.hpp 

ich Schwierigkeiten .pro-Dateien Konfiguration habe, damit ich ein qt Projekt mit einem anderen Build-System konfigurieren beschlossen: machen, automake, cmake zum Beispiel.

Gibt es eine Möglichkeit, jedes Build-System automatisch zu konfigurieren, um viele qt-Header-Dateien zu integrieren? Oder um sie nicht aufzunehmen, sondern Qt-Projekt ohne qtcreator zu erstellen?

Meine Frage ist, unterscheidet sich von Using Cmake with Qt Creator, weil ich mein Problem keine qt Schöpfer brauchen zu präsentieren

+0

die Dokumentation lesen: http: //doc.qt .io/qtcreator/creator-project-other.html –

+0

Mögliches Duplikat von [Cmake mit Qt Creator verwenden] (http://stackoverflow.com/questions/9415761/using-cmake-with-qt-creator) –

+1

Qt Creator is kein Build-System! –

Antwort

1

Meine CMake Vorlage zu lösen:

cmake_minimum_required (VERSION 2.8) 

project(qttest) 
set(PROJECT_VERSION 0.0.1) 

if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") 
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++1y -pthread -fno-permissive -pedantic -Wall -Wextra -fPIC") 
endif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") 

set(QT_VERSION_REQ "5.2") 

find_package(Qt5Core ${QT_VERSION_REQ} REQUIRED) 
find_package(Qt5Quick ${QT_VERSION_REQ} REQUIRED) 
find_package(Qt5Widgets ${QT_VERSION_REQ} REQUIRED) 
find_package(Qt5DBus ${QT_VERSION_REQ} REQUIRED) 

set(CMAKE_AUTOMOC ON) 

include_directories(${CMAKE_CURRENT_SOURCE_DIR}) 

list(APPEND SOURCES 
) 

list(APPEND MAIN_SOURCES 
    main.cpp 
    ${SOURCES} 
) 

list(APPEND LIBS 
    Qt5::Core 
    Qt5::Quick 
    Qt5::Widgets 
    Qt5::DBus 
) 

add_executable(${PROJECT_NAME} ${MAIN_SOURCES}) 
target_link_libraries(${PROJECT_NAME} ${LIBS}) 
+0

Ok. Ich akzeptiere die Antwort, füge aber auch Strings für die Generierung von ui-Dateien hinzu (CMAKE_AUTOUIC ON) include_directories ($ {CMAKE_BINARY_DIR}) – Vyacheslav