Very rough initial implementation of torrent adding working.
[qtrapids] / src / qml-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     /usr/include/meegotouch
23 )
24
25 SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_SOURCE_DIR}/proxy.cpp ${CMAKE_CURRENT_SOURCE_DIR}/proxy.h PROPERTIES GENERATED 1)
26
27 # TODO: Use proxy from dedicated directory, so we don't generate them in all client dirs.
28 SET(MOC_HEADERS
29     ./proxy.h
30     ./MainPageHandler.h
31     ./models/QDeclarativeDownloadListModel.h
32     ./models/QDeclarativeDownloadListModel_p.h
33 )
34
35 SET(SRC
36     ./main.cpp
37     ./proxy.cpp
38     ./MainPageHandler.cpp
39     ./models/QDeclarativeDownloadListModel.cpp
40 )
41
42
43 # Set the resource files to be used.
44 # Add all .qrc files here, that are needed.
45 SET(RCCS qml/qml.qrc)
46
47 # generate rules for building source files from the resources
48 QT4_ADD_RESOURCES(RCC_SRC ${RCCS})
49 # generate rules for building source files that moc generates
50 QT4_WRAP_CPP(QtApp_MOC_SRCS ${QtApp_MOCS})
51
52 QT4_WRAP_CPP(SRC ${MOC_HEADERS})
53 # Build the executable from these files:
54 ADD_EXECUTABLE(qml-client ${SRC} ${MOC_HEADERS}  ${RCC_SRC})
55 INSTALL(TARGETS qml-client DESTINATION bin)
56
57 ADD_DEFINITIONS(-DQT_SHARED)
58
59 set(QT_QTMAEMO5_LIBRARY -lQtMaemo5 -L${QT_LIBRARY_DIR})
60
61 # QT_QTMAEMO5_* variables are not defined by CMake
62 if(NOT QT_QTMAEMO5_INCLUDE_DIR)
63         FIND_PATH(QT_QTMAEMO5_INCLUDE_DIR QtMaemo5
64         PATHS ${QT_HEADERS_DIR}/QtMaemo5 NO_DEFAULT_PATH)
65 endif(NOT QT_QTMAEMO5_INCLUDE_DIR)
66 if(NOT QT_QTMAEMO5_LIBRARY)
67         FIND_LIBRARY(QT_QTMAEMO5_LIBRARY QtMaemo5
68         PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
69 endif(NOT QT_QTMAEMO5_LIBRARY)
70
71
72 TARGET_LINK_LIBRARIES(qml-client
73   ${QT_QTGUI_LIBRARY} 
74   ${QT_QTCORE_LIBRARY} 
75   ${QT_QTDBUS_LIBRARY}
76   ${QT_QTTEST_LIBRARY}
77   ${QT_QTDECLARATIVE_LIBRARY}
78   -lboost_system-mt
79   -lmeegotouchcore
80 )
81
82 # Check if we are building under scratchbox and link with QtMaemo5 only in that case.
83 # Thus, we maintain desktop build-ability also
84 #set (SCRATCHBOX_UNAME $ENV{SBOX_UNAME_MACHINE})
85
86 if (SCRATCHBOX_UNAME)
87         MESSAGE("Configuring for building under Scratchbox..")
88         TARGET_LINK_LIBRARIES(qtrapids-gui  ${QT_QTMAEMO5_LIBRARY})
89 endif (SCRATCHBOX_UNAME)
90
91 #MESSAGE(${CMAKE_HOST_SYSTEM_PROCESSOR}) 
92 #CHECK_LIBRARY_EXISTS(QT_QTMAEMO5_LIBRARY)
93
94
95
96 ADD_DEPENDENCIES(qtrapids-gui dbusapi)