Initial commit for the QML client:
[qtrapids] / src / client / CMakeLists.txt
1 CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
2
3 set(QT_USE_QTDECLARATIVE 1)
4
5 FIND_PACKAGE(Qt4 REQUIRED)
6
7 INCLUDE(${QT_USE_FILE})
8
9 INCLUDE_DIRECTORIES(${qtrapids_SOURCE_DIR}/src/include ${qtrapids_SOURCE_DIR}/src/plugins)
10
11 FIND_LIBRARY(BOOST_SYSTEM boost_system-mt)
12 IF(${BOOST_SYSTEM} STREQUAL BOOST_SYSTEM-NOTFOUND)
13   MESSAGE(SEND_ERROR ${BOOST_SYSTEM})
14 ENDIF(${BOOST_SYSTEM} STREQUAL BOOST_SYSTEM-NOTFOUND)
15
16 INCLUDE_DIRECTORIES(
17    ${QT_INCLUDE_DIR}
18    ${QT_QTTEST_INCLUDE_DIR}
19    ${QT_QTDBUS}
20    ${QT_QTGUI}
21    ${QT_QTDECLARATIVE_INCLUDE_DIR}
22 )
23
24 SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_SOURCE_DIR}/proxy.cpp ${CMAKE_CURRENT_SOURCE_DIR}/proxy.h PROPERTIES GENERATED 1)
25
26 SET(MOC_HEADERS
27     ./models/QDeclarativeDownloadListModel.h
28     ./models/QDeclarativeDownloadListModel_p.h
29 #     ./DownloadView.h
30 #     ./models/Plugin.h
31 #   ./MainWindow.h
32 #   ./PreferencesDialog.h
33 #   ./proxy.h
34 #   ./SeedView.h
35 #   ./ColumnSelectorDialog.h
36 )
37
38 SET(SRC
39 #     ./DownloadView.cpp
40     ./main.cpp
41     ./models/QDeclarativeDownloadListModel.cpp
42 #   ./MainWindow.cpp
43 #   ./PreferencesDialog.cpp
44 #   ./proxy.cpp
45 #   ./SeedView.cpp
46 #   ./ColumnSelectorDialog.cpp
47 )
48
49
50 # Set the resource files to be used.
51 # Add all .qrc files here, that are needed.
52 SET(RCCS qml/qml.qrc)
53
54 # generate rules for building source files from the resources
55 QT4_ADD_RESOURCES(RCC_SRC ${RCCS})
56 # generate rules for building source files that moc generates
57 QT4_WRAP_CPP(QtApp_MOC_SRCS ${QtApp_MOCS})
58
59 QT4_WRAP_CPP(SRC ${MOC_HEADERS})
60 # Build the executable from these files:
61 ADD_EXECUTABLE(qml-client ${SRC} ${MOC_HEADERS}  ${RCC_SRC})
62 INSTALL(TARGETS qml-client DESTINATION bin)
63
64 ADD_DEFINITIONS(-DQT_SHARED)
65
66 set(QT_QTMAEMO5_LIBRARY -lQtMaemo5 -L${QT_LIBRARY_DIR})
67
68 # QT_QTMAEMO5_* variables are not defined by CMake
69 if(NOT QT_QTMAEMO5_INCLUDE_DIR)
70         FIND_PATH(QT_QTMAEMO5_INCLUDE_DIR QtMaemo5
71         PATHS ${QT_HEADERS_DIR}/QtMaemo5 NO_DEFAULT_PATH)
72 endif(NOT QT_QTMAEMO5_INCLUDE_DIR)
73 if(NOT QT_QTMAEMO5_LIBRARY)
74         FIND_LIBRARY(QT_QTMAEMO5_LIBRARY QtMaemo5
75         PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
76 endif(NOT QT_QTMAEMO5_LIBRARY)
77
78
79 TARGET_LINK_LIBRARIES(qml-client
80   ${QT_QTGUI_LIBRARY} 
81   ${QT_QTCORE_LIBRARY} 
82   ${QT_QTDBUS_LIBRARY}
83   ${QT_QTTEST_LIBRARY}
84   ${QT_QTDECLARATIVE_LIBRARY}
85   -lboost_system-mt
86 )
87
88 # Check if we are building under scratchbox and link with QtMaemo5 only in that case.
89 # Thus, we maintain desktop build-ability also
90 #set (SCRATCHBOX_UNAME $ENV{SBOX_UNAME_MACHINE})
91
92 if (SCRATCHBOX_UNAME)
93         MESSAGE("Configuring for building under Scratchbox..")
94         TARGET_LINK_LIBRARIES(qtrapids-gui  ${QT_QTMAEMO5_LIBRARY})
95 endif (SCRATCHBOX_UNAME)
96
97 #MESSAGE(${CMAKE_HOST_SYSTEM_PROCESSOR}) 
98 #CHECK_LIBRARY_EXISTS(QT_QTMAEMO5_LIBRARY)
99
100
101
102 ADD_DEPENDENCIES(qtrapids-gui dbusapi)