Initial commit for the QML client:
[qtrapids] / src / client / CMakeLists.txt
index f5148b9..873b699 100644 (file)
@@ -1,6 +1,12 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
+
+set(QT_USE_QTDECLARATIVE 1)
+
+FIND_PACKAGE(Qt4 REQUIRED)
+
 INCLUDE(${QT_USE_FILE})
 
-INCLUDE_DIRECTORIES(../include ../plugins)
+INCLUDE_DIRECTORIES(${qtrapids_SOURCE_DIR}/src/include ${qtrapids_SOURCE_DIR}/src/plugins)
 
 FIND_LIBRARY(BOOST_SYSTEM boost_system-mt)
 IF(${BOOST_SYSTEM} STREQUAL BOOST_SYSTEM-NOTFOUND)
@@ -12,31 +18,48 @@ INCLUDE_DIRECTORIES(
    ${QT_QTTEST_INCLUDE_DIR}
    ${QT_QTDBUS}
    ${QT_QTGUI}
+   ${QT_QTDECLARATIVE_INCLUDE_DIR}
 )
 
-SET_SOURCE_FILES_PROPERTIES(./proxy.cpp ./proxy.h PROPERTIES GENERATED 1)
+SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_SOURCE_DIR}/proxy.cpp ${CMAKE_CURRENT_SOURCE_DIR}/proxy.h PROPERTIES GENERATED 1)
 
 SET(MOC_HEADERS
-  ./DownloadView.h
-  ./MainWindow.h
-  ./PreferencesDialog.h
-  ./proxy.h
-  ./SeedView.h
-  ./ColumnSelectorDialog.h
+    ./models/QDeclarativeDownloadListModel.h
+    ./models/QDeclarativeDownloadListModel_p.h
+#     ./DownloadView.h
+#     ./models/Plugin.h
+#   ./MainWindow.h
+#   ./PreferencesDialog.h
+#   ./proxy.h
+#   ./SeedView.h
+#   ./ColumnSelectorDialog.h
 )
 
 SET(SRC
-  ./DownloadView.cpp
-  ./main.cpp
-  ./MainWindow.cpp
-  ./PreferencesDialog.cpp
-  ./proxy.cpp
-  ./SeedView.cpp
-  ./ColumnSelectorDialog.cpp
+#     ./DownloadView.cpp
+    ./main.cpp
+    ./models/QDeclarativeDownloadListModel.cpp
+#   ./MainWindow.cpp
+#   ./PreferencesDialog.cpp
+#   ./proxy.cpp
+#   ./SeedView.cpp
+#   ./ColumnSelectorDialog.cpp
 )
 
+
+# Set the resource files to be used.
+# Add all .qrc files here, that are needed.
+SET(RCCS qml/qml.qrc)
+
+# generate rules for building source files from the resources
+QT4_ADD_RESOURCES(RCC_SRC ${RCCS})
+# generate rules for building source files that moc generates
+QT4_WRAP_CPP(QtApp_MOC_SRCS ${QtApp_MOCS})
+
 QT4_WRAP_CPP(SRC ${MOC_HEADERS})
-ADD_EXECUTABLE(qtrapids ${SRC} ${MOC_HEADERS})
+# Build the executable from these files:
+ADD_EXECUTABLE(qml-client ${SRC} ${MOC_HEADERS}  ${RCC_SRC})
+INSTALL(TARGETS qml-client DESTINATION bin)
 
 ADD_DEFINITIONS(-DQT_SHARED)
 
@@ -53,21 +76,22 @@ if(NOT QT_QTMAEMO5_LIBRARY)
 endif(NOT QT_QTMAEMO5_LIBRARY)
 
 
-TARGET_LINK_LIBRARIES(qtrapids 
+TARGET_LINK_LIBRARIES(qml-client
   ${QT_QTGUI_LIBRARY} 
   ${QT_QTCORE_LIBRARY} 
   ${QT_QTDBUS_LIBRARY}
   ${QT_QTTEST_LIBRARY}
+  ${QT_QTDECLARATIVE_LIBRARY}
   -lboost_system-mt
 )
 
 # Check if we are building under scratchbox and link with QtMaemo5 only in that case.
 # Thus, we maintain desktop build-ability also
-set (SCRATCHBOX_UNAME $ENV{SBOX_UNAME_MACHINE})
+#set (SCRATCHBOX_UNAME $ENV{SBOX_UNAME_MACHINE})
 
 if (SCRATCHBOX_UNAME)
        MESSAGE("Configuring for building under Scratchbox..")
-       TARGET_LINK_LIBRARIES(qtrapids  ${QT_QTMAEMO5_LIBRARY})
+       TARGET_LINK_LIBRARIES(qtrapids-gui  ${QT_QTMAEMO5_LIBRARY})
 endif (SCRATCHBOX_UNAME)
 
 #MESSAGE(${CMAKE_HOST_SYSTEM_PROCESSOR}) 
@@ -75,4 +99,4 @@ endif (SCRATCHBOX_UNAME)
 
 
 
-ADD_DEPENDENCIES(qtrapids dbusapi)
+ADD_DEPENDENCIES(qtrapids-gui dbusapi)