@@ -17,170 +17,3 @@ configure_file(installer.iss.in installer.iss @ONLY)
1717
1818find_package (Qt6 6.7 COMPONENTS Concurrent Quick QuickControls2 Widgets QuickWidgets Xml Core5Compat Bluetooth SerialPort LinguistTools Multimedia REQUIRED)
1919
20- find_package (hidapi REQUIRED)
21- find_package (KDSingleApplication-qt6 CONFIG REQUIRED)
22-
23- find_package (gdk REQUIRED COMPONENT green_gdk_full)
24-
25- find_package (ZXing REQUIRED)
26-
27- include (CMakePrintHelpers)
28- cmake_print_properties(TARGETS gdk::green_gdk_full PROPERTIES
29- INTERFACE_INCLUDE_DIRECTORIES
30- INTERFACE_LINK_LIBRARIES
31- IMPORTED_LOCATION_RELEASE
32- )
33-
34- find_library (COUNTLY_LIB NAMES libcountly.a REQUIRED)
35- find_library (LIBSERIALPORT_LIB NAMES libserialport.a REQUIRED)
36- find_library (LIBGPGME_LIB NAMES libgpgme.a REQUIRED)
37- find_library (LIBASSUAN_LIB NAMES libassuan.a REQUIRED)
38- find_library (LIBGPGERROR_LIB NAMES libgpg-error.a REQUIRED)
39-
40-
41- set (CMAKE_FIND_LIBRARY_SUFFIXES ".a" )
42-
43- if (WIN32 )
44- find_library (HID_LIB NAMES libhid.a REQUIRED)
45- set (CMAKE_EXE_LINKER_FLAGS "-static -static-libgcc -static-libstdc++ -fstack-protector" )
46- elseif (APPLE )
47- find_library (SECURITY Security REQUIRED)
48- elseif (UNIX )
49- find_library (AVCODEC NAMES libavcodec.a REQUIRED)
50- find_library (AVDEVICE NAMES libavdevice.a REQUIRED)
51- find_library (AVFILTER NAMES libavfilter.a REQUIRED)
52- find_library (AVFORMAT NAMES libavformat.a REQUIRED)
53- find_library (AVUTIL NAMES libavutil.a REQUIRED)
54- find_library (SWSCALE NAMES libswscale.a REQUIRED)
55- find_library (SWRESAMPLE NAMES libswresample.a REQUIRED)
56- find_library (POSTPROC NAMES libpostproc.a REQUIRED)
57- set (FFMPEG_LIBRARIES /depends /linux-x86_64/plugins/multimedia/libffmpegmediaplugin.a ${AVDEVICE} ${AVFILTER} ${AVFORMAT} ${AVCODEC} ${POSTPROC} ${SWRESAMPLE} ${SWSCALE} ${AVUTIL} Xrandr Xrender)
58- message (STATUS "FFMPEG_LIBRARIES: ${FFMPEG_LIBRARIES} " )
59-
60- if (GREEN_WAYLAND)
61- find_package (Qt6 6.4 COMPONENTS WaylandClient REQUIRED)
62- endif ()
63- set (CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++ -fstack-protector -Wl,--wrap=__divmoddi4 -Wl,--wrap=log2f" )
64- endif ()
65-
66- set (CMAKE_AUTOMOC ON )
67- set (CMAKE_CXX_STANDARD 17)
68- set (CMAKE_CXX_STANDARD_REQUIRED ON )
69-
70- # https://gitlab.kitware.com/cmake/cmake/issues/20256
71- if (APPLE )
72- find_program (DSYMUTIL_PROGRAM dsymutil)
73- if (DSYMUTIL_PROGRAM)
74- foreach (lang C CXX)
75- foreach (var LINK_EXECUTABLE CREATE_SHARED_LIBRARY)
76- set (CMAKE_${lang} _${var} "${CMAKE_${lang} _${var} }" "${DSYMUTIL_PROGRAM} <TARGET>" )
77- endforeach ()
78- endforeach ()
79- endif ()
80- endif ()
81-
82- add_definitions (-DNO_ICONV)
83- add_definitions (-DGDK_STATIC_DEFINE)
84-
85- include (src.cmake)
86-
87- set (app_icon_macos "${CMAKE_CURRENT_SOURCE_DIR} /assets/icons/green.icns" )
88- set_source_files_properties (${app_icon_macos} PROPERTIES MACOSX_PACKAGE_LOCATION "Resources" )
89-
90- if (${CMAKE_SYSTEM_NAME} MATCHES "Windows" )
91- enable_language ("RC" )
92- set (app_icon_win "${CMAKE_CURRENT_SOURCE_DIR} /green.rc" )
93- endif ()
94-
95- qt_add_executable(green WIN32 MACOSX_BUNDLE
96- ${TARGET_SOURCES}
97- ${app_icon_macos}
98- ${app_icon_win}
99- )
100-
101- set_target_properties (green PROPERTIES
102- MACOSX_BUNDLE_INFO_PLIST ${CMAKE_SOURCE_DIR} /Info.plist.in
103- MACOSX_BUNDLE TRUE
104- WIN32_EXECUTABLE TRUE
105- LINK_SEARCH_START_STATIC ON
106- LINK_SEARCH_END_STATIC ON
107- )
108-
109- target_link_libraries (green
110- PRIVATE
111- ZXing::Core
112- gdk::green_gdk_full
113- ${COUNTLY_LIB}
114- ${LIBSERIALPORT_LIB}
115- Qt6::Concurrent Qt6::Quick Qt6::QuickControls2 Qt6::Widgets Qt6::QuickWidgets Qt6::Xml Qt6::Core5Compat Qt6::Bluetooth Qt6::SerialPort Qt6::Multimedia
116- ${SECURITY}
117- hidapi::hidapi
118- KDAB::kdsingleapplication
119- ${FFMPEG_LIBRARIES}
120- ${LIBGPGME_LIB}
121- ${LIBASSUAN_LIB}
122- ${LIBGPGERROR_LIB}
123- )
124-
125- if (ENABLE_SENTRY)
126- find_package (PkgConfig REQUIRED)
127- pkg_check_modules(BREAKPAD REQUIRED breakpad)
128-
129- find_library (LIBBREAKPAD_LIB NAMES libbreakpad.a REQUIRED)
130- find_library (LIBDISASM_LIB NAMES libdisasm.a REQUIRED)
131-
132- add_compile_definitions (ENABLE_SENTRY)
133-
134- if (UNIX AND NOT APPLE )
135- find_package (CURL REQUIRED)
136- endif ()
137-
138- find_package (crashpad REQUIRED)
139-
140- get_target_property (CRASHPAD_INCLUDE crashpad::client INTERFACE_INCLUDE_DIRECTORIES )
141-
142- target_include_directories (green PRIVATE
143- ${CRASHPAD_INCLUDE}
144- ${CRASHPAD_INCLUDE} /..
145- ${BREAKPAD_INCLUDE_DIRS}
146- )
147- target_link_libraries (green PRIVATE
148- crashpad::client
149- crashpad::handler
150- crashpad::minidump
151- crashpad::snapshot
152- crashpad::tools
153- crashpad::util
154- crashpad::zlib
155- ${LIBBREAKPAD_LIB} ${LIBDISASM_LIB}
156- )
157- endif ()
158-
159- if (WIN32 )
160- target_link_libraries (green PRIVATE hid ntdll)
161- elseif (APPLE )
162- set_target_properties (green PROPERTIES OUTPUT_NAME "Blockstream Green" )
163- elseif (UNIX )
164- target_link_libraries (green PRIVATE dl Xrender)
165- qt_import_plugins(green INCLUDE Qt6::QXcbIntegrationPlugin Qt6::QFFmpegMediaPlugin)
166- if (GREEN_WAYLAND)
167- target_link_libraries (green PRIVATE Qt6::WaylandClient Xrender)
168- qt_import_plugins(green INCLUDE Qt6::QWaylandIntegrationPlugin Qt6::QFFmpegMediaPlugin)
169- endif ()
170- endif ()
171-
172- install (TARGETS green
173- BUNDLE DESTINATION .
174- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} )
175-
176- get_target_property (GDK_INCLUDE gdk::green_gdk_full INTERFACE_INCLUDE_DIRECTORIES )
177-
178- target_include_directories (green PRIVATE
179- src src/jade src/resolvers src/controllers src/ledger src/handlers
180- ${GDK_INCLUDE} /libwally-core/
181- "${CMAKE_CURRENT_BINARY_DIR} "
182- )
183-
184- include (qml.cmake)
185- include (assets.cmake)
186- include (translations.cmake)
0 commit comments