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