update dict
[QFreeRecite.git] / src / gui / CMakeLists.txt
blob62ce2cba18dc4375333c485c7bf883fc7faef3da
1 # Include the core library.
2 INCLUDE_DIRECTORIES(${FREERECITE_SOURCE_DIR}/src/core)
3 # Make sure the compiler can find include files from our ui library.
4 INCLUDE_DIRECTORIES(${FREERECITE_BINARY_DIR}/src/gui)
5 # Include the current library for the promoted widget header.
6 INCLUDE_DIRECTORIES(${FREERECITE_SOURCE_DIR}/src/gui)
8 # Make sure the linker can find the ui library once it is built.
9 LINK_DIRECTORIES(${FREERECITE_BINARY_DIR}/bin)
11 SET(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin)
13 # with SET() command you can change variables or define new ones
14 # here we define SAMPLE_SRCS variable that contains a list of all .cpp files
15 # note that we don't need \ at the end of line
16 SET( FR_SRCS
17   FGui.h
18   Speaker.h
19   Speaker.cpp
20   )
22 SET( FRGUI_SRCS
23   AddDialog.cpp
24   BaseScannerWidget.cpp
25   MainWindow.cpp
26   MainWidget.cpp
27   ModifyDialog.cpp
28   PushButton.cpp
29   TaskModel.cpp
30   ListModel.cpp
31   LineEdit.cpp
32   ScannerWidget.cpp
33   ScanModeDialog.cpp
34   SettingWidget.cpp
35   StressWidget.cpp
36   RStressWidget.cpp
37   RScannerWidget.cpp
38   ReciterWidget.cpp
39   TesterWidget.cpp
40   RReciterWidget.cpp
41   RTesterWidget.cpp
42   ResultWidget.cpp
43   )
44   
45 # another list, this time it includes all header files that should be treated with moc
46 SET( FRGUI_MOC_HDRS
47   AddDialog.h
48   BaseScannerWidget.h
49   MainWindow.h
50   MainWidget.h
51   ModifyDialog.h
52   TaskModel.h
53   PushButton.h
54   ListModel.h
55   LineEdit.h
56   ScannerWidget.h
57   ScanModeDialog.h
58   SettingWidget.h
59   StressWidget.h
60   RScannerWidget.h
61   RStressWidget.h
62   ReciterWidget.h
63   TesterWidget.h
64   RReciterWidget.h
65   RTesterWidget.h
66   ResultWidget.h
67   )
69 IF(WIN32)
70   SET( FRGUI_MOC_HDRS ${FRGUI_MOC_HDRS} WinSpeaker.h )
71   SET( FRGUI_SRCS ${FRGUI_SRCS} WinSpeaker.cpp )
72 ENDIF(WIN32)
74 # some .ui files
75 SET( FRGUI_UIS
76   AddDialog.ui
77   MainWidget.ui
78   ModifyDialog.ui
79   ResultWidget.ui
80   RScannerWidget.ui
81   ScannerWidget.ui
82   ScanModeDialog.ui
83   SettingWidget.ui
84   )
86 # and finally an resource file
87 SET( FRGUI_RCS
88   ./icon/icons.qrc
89   )
91 # enable warnings
92 ADD_DEFINITIONS( -Wall )
93   
94 # by default only QtCore and QtGui modules are enabled
95 # other modules must be enabled like this:
97 #SET( QT_USE_QT3SUPPORT TRUE )   
99 #SET( QT_USE_QTXML TRUE )
101 # this command finds Qt4 libraries and sets all required variables
102 # note that it's Qt4, not QT4 or qt4
103 FIND_PACKAGE( Qt4 REQUIRED )
105 ## The new version do not neet QtWebKit model
106 ##SET( QT_USE_QTWEBKIT TRUE )
108 # add some useful macros and variables
109 # (QT_USE_FILE is a variable defined by FIND_PACKAGE( Qt4 ) that contains a path to CMake script)
110 INCLUDE( ${QT_USE_FILE} )
112 # this command will generate rules that will run rcc on all files from FRGUI_RCS
113 # in result FRGUI_RC_SRCS variable will contain paths to files produced by rcc
114 QT4_ADD_RESOURCES( FRGUI_RC_SRCS ${FRGUI_RCS} )
116 # this will run uic on .ui files:
117 QT4_WRAP_UI( FRGUI_UI_HDRS ${FRGUI_UIS} )
119 # and finally this will run moc:
120 QT4_WRAP_CPP( FRGUI_MOC_SRCS ${FRGUI_MOC_HDRS} )
122 ADD_LIBRARY(FreeReciteGui SHARED
123     ${FRGUI_SRCS}
124     ${FRGUI_MOC_SRCS}
125     ${FRGUI_UI_HDRS}
126     ${FR_SRCS}
127     ${FRGUI_RC_SRCS}
128     )
130 TARGET_LINK_LIBRARIES(FreeReciteGui 
131   FreeReciteCore 
132   ${QT_LIBRARIES}
133   )
135 IF(UNIX)
136   INSTALL(TARGETS FreeReciteGui LIBRARY DESTINATION lib)
137 ENDIF(UNIX)