@@ -37,24 +37,30 @@ set(IDENTIFIER "net.fxarena.breakdown")
3737
3838file (MAKE_DIRECTORY ${BREAKPAD_BIN} )
3939
40- find_package (Qt5Core REQUIRED)
41- find_package (Qt5Gui REQUIRED)
42- find_package (Qt5Widgets REQUIRED)
43- find_package (Qt5Network REQUIRED)
44- find_package (Qt5Concurrent REQUIRED)
45- #find_package(Qt5Test REQUIRED) 
40+ option (MXE32_STATIC "Build using MXE i686 static"  OFF )
41+ option (MXE64_STATIC "Build using MXE x86_64 static"  OFF )
42+ option (MXE32_SHARED "Build using MXE i686 shared"  OFF )
43+ option (MXE64_SHARED "Build using MXE x86_64 shared"  OFF )
44+ option (USE_QT4 "Build using Qt4"  OFF )
45+ 
46+ if (USE_QT4)
47+  find_package (Qt4 REQUIRED QtCore QtGui QtNetwork)
48+ else ()
49+  find_package (Qt5Core REQUIRED)
50+  find_package (Qt5Gui REQUIRED)
51+  find_package (Qt5Widgets REQUIRED)
52+  find_package (Qt5Network REQUIRED)
53+  find_package (Qt5Concurrent REQUIRED)
54+  #find_package(Qt5Test REQUIRED) 
55+ endif ()
56+ 
4657find_package (PkgConfig REQUIRED)
4758find_package (Git QUIET )
4859
4960pkg_search_module(CURL REQUIRED libcurl)
5061pkg_search_module(ZIP REQUIRED libzip)
5162pkg_search_module(JSON REQUIRED jsoncpp)
5263
53- option (MXE32_STATIC "Build using MXE i686 static"  OFF )
54- option (MXE64_STATIC "Build using MXE x86_64 static"  OFF )
55- option (MXE32_SHARED "Build using MXE i686 shared"  OFF )
56- option (MXE64_SHARED "Build using MXE x86_64 shared"  OFF )
57- 
5864if (WIN32 )
5965 set (ICON_FILE ${BREAKDOWN} /breakdown.ico)
6066endif ()
@@ -104,35 +110,69 @@ include_directories(
104110 ${CURL_INCLUDE_DIRS} 
105111 ${ZIP_INCLUDE_DIRS} 
106112 ${JSON_INCLUDE_DIRS} 
113+  ${CMAKE_CURRENT_SOURCE_DIR} /qjson4
107114)
108115
109- add_executable (
110-  breakdown
111-  ${STACKWALKER} /http_symbol_supplier.cc
112-  ${BREAKDOWN} /main.cpp
113-  ${BREAKDOWN} /breakdown.cpp
114-  ${BREAKDOWN} /breakdown.ui
115-  ${BREAKDOWN} /breakdown.qrc
116- )
116+ if (USE_QT4)
117+  add_executable (
118+  breakdown
119+  ${CMAKE_CURRENT_SOURCE_DIR} /qjson4/QJsonArray.cpp
120+  ${CMAKE_CURRENT_SOURCE_DIR} /qjson4/QJsonDocument.cpp
121+  ${CMAKE_CURRENT_SOURCE_DIR} /qjson4/QJsonObject.cpp
122+  ${CMAKE_CURRENT_SOURCE_DIR} /qjson4/QJsonParseError.cpp
123+  ${CMAKE_CURRENT_SOURCE_DIR} /qjson4/QJsonValue.cpp
124+  ${CMAKE_CURRENT_SOURCE_DIR} /qjson4/QJsonValueRef.cpp
125+  ${CMAKE_CURRENT_SOURCE_DIR} /qjson4/QJsonParser.cpp
126+  ${STACKWALKER} /http_symbol_supplier.cc
127+  ${BREAKDOWN} /main.cpp
128+  ${BREAKDOWN} /breakdown.cpp
129+  ${BREAKDOWN} /breakdown.ui
130+  ${BREAKDOWN} /breakdown.qrc
131+  )
132+ else ()
133+  add_executable (
134+  breakdown
135+  ${STACKWALKER} /http_symbol_supplier.cc
136+  ${BREAKDOWN} /main.cpp
137+  ${BREAKDOWN} /breakdown.cpp
138+  ${BREAKDOWN} /breakdown.ui
139+  ${BREAKDOWN} /breakdown.qrc
140+  )
141+ endif ()
142+ 
117143add_executable (
118144 stackwalker
119145 ${STACKWALKER} /http_symbol_supplier.cc
120146 ${STACKWALKER} /stackwalker.cc
121147)
122148
123- target_link_libraries (
124-  breakdown
125-  Qt5::Core
126-  Qt5::Gui
127-  Qt5::Widgets
128-  Qt5::Network
129-  Qt5::Concurrent
130-  ${BREAKPAD_BIN} /src/libbreakpad.a
131-  ${BREAKPAD_BIN} /src/third_party/libdisasm/libdisasm.a
132-  ${CURL_STATIC_LIBRARIES} 
133-  ${ZIP_STATIC_LIBRARIES} 
134-  ${JSON_STATIC_LIBRARIES} 
135- )
149+ if (USE_QT4)
150+  target_link_libraries (
151+  breakdown
152+  Qt4::QtCore
153+  Qt4::QtGui
154+  Qt4::QtNetwork
155+  ${BREAKPAD_BIN} /src/libbreakpad.a
156+  ${BREAKPAD_BIN} /src/third_party/libdisasm/libdisasm.a
157+  ${CURL_STATIC_LIBRARIES} 
158+  ${ZIP_STATIC_LIBRARIES} 
159+  ${JSON_STATIC_LIBRARIES} 
160+  )
161+ else ()
162+  target_link_libraries (
163+  breakdown
164+  Qt5::Core
165+  Qt5::Gui
166+  Qt5::Widgets
167+  Qt5::Network
168+  Qt5::Concurrent
169+  ${BREAKPAD_BIN} /src/libbreakpad.a
170+  ${BREAKPAD_BIN} /src/third_party/libdisasm/libdisasm.a
171+  ${CURL_STATIC_LIBRARIES} 
172+  ${ZIP_STATIC_LIBRARIES} 
173+  ${JSON_STATIC_LIBRARIES} 
174+  )
175+ endif ()
136176
137177target_link_libraries (
138178 stackwalker
@@ -145,8 +185,26 @@ target_link_libraries(
145185
146186if (UNIX  AND  NOT  APPLE )
147187 include (GNUInstallDirs)
148-  install (TARGETS breakdown stackwalker DESTINATION  ${CMAKE_INSTALL_BINDIR} )
188+  install (
189+  TARGETS
190+  breakdown
191+  stackwalker
192+  DESTINATION 
193+  ${CMAKE_INSTALL_BINDIR} 
194+  )
195+  install (
196+  FILES 
197+  ${BREAKPAD_BIN} /src/tools/linux/dump_syms/dump_syms
198+  DESTINATION 
199+  ${CMAKE_INSTALL_BINDIR} 
200+  )
149201 #install(DIRECTORY ${RESOURCE_FOLDER}/hicolor DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons) 
150202 #install(FILES ${RESOURCE_FOLDER}/breakdown.desktop DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications) 
151-  install (FILES  COPYING README.md  DESTINATION  ${CMAKE_INSTALL_DOCDIR} -${PROJECT_VERSION} )
203+  install (
204+  FILES 
205+  COPYING
206+  README.md 
207+  DESTINATION 
208+  ${CMAKE_INSTALL_DOCDIR} -${PROJECT_VERSION} 
209+  )
152210endif ()
0 commit comments