Skip to content

Commit c0bbf03

Browse files
committed
Adjustments to support linux depends build
1 parent 7364fa8 commit c0bbf03

File tree

2 files changed

+26
-1
lines changed

2 files changed

+26
-1
lines changed

depends/packages/qt.mk

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,9 +188,10 @@ $(package)_cmake_opts += -DCMAKE_OBJCXX_FLAGS="$$($(package)_cppflags) $$($$($(p
188188
$(package)_cmake_opts += -DCMAKE_OBJCXX_FLAGS_RELEASE="$$($$($(package)_type)_release_CXXFLAGS)"
189189
$(package)_cmake_opts += -DCMAKE_OBJCXX_FLAGS_DEBUG="$$($$($(package)_type)_debug_CXXFLAGS)"
190190
endif
191-
$(package)_cmake_opts += -DCMAKE_EXE_LINKER_FLAGS="$$($$($(package)_type)_LDFLAGS) -lexpat -lxcb-util -lXau -lfreetype -lbz2 -lpng -lz"
191+
$(package)_cmake_opts += -DCMAKE_EXE_LINKER_FLAGS="-L$(host_prefix)/lib $$($$($(package)_type)_LDFLAGS) -lexpat -lxcb-util -lXau -lfreetype -lbz2 -lpng -lz"
192192
$(package)_cmake_opts += -DCMAKE_EXE_LINKER_FLAGS_RELEASE="$$($$($(package)_type)_release_LDFLAGS)"
193193
$(package)_cmake_opts += -DCMAKE_EXE_LINKER_FLAGS_DEBUG="$$($$($(package)_type)_debug_LDFLAGS)"
194+
$(package)_cmake_opts += -DCMAKE_CXX_STANDARD_LIBRARIES="-lexpat -lxcb-util -lXau -lfreetype -lbz2 -lpng -lz"
194195
$(package)_cmake_opts += -DTEST_xcb_syslibs=ON
195196

196197
ifneq ($(host),$(build))

src/qt/CMakeLists.txt

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,30 @@ target_link_libraries(gridcoinresearch PRIVATE
214214
gridcoin_util
215215
gridcoinqt
216216
)
217+
if(UNIX AND NOT APPLE AND CMAKE_CROSSCOMPILING)
218+
# 1. The "Imposter" Math Target (This solves the -lm linker error where the linker looks for the math lib in the wrong place.)
219+
add_library(m SHARED IMPORTED GLOBAL)
220+
set_target_properties(m PROPERTIES IMPORTED_LOCATION "/lib64/libm.so.6")
221+
222+
target_link_libraries(gridcoinresearch PRIVATE m)
223+
224+
# 2. THE AUTOMATED MANUAL FIX
225+
# Define the libraries as a simple list first
226+
set(MY_LIBS_LIST
227+
"${DEP_LIB}/libfreetype.a"
228+
"${DEP_LIB}/libfontconfig.a"
229+
"${DEP_LIB}/libexpat.a"
230+
"${DEP_LIB}/libxcb-util.a"
231+
)
232+
233+
# Flatten the list into a space-separated string explicitly
234+
string(REPLACE ";" " " MANUAL_STATIC_FIX "${MY_LIBS_LIST}")
235+
236+
# Override the linker rule
237+
set(CMAKE_CXX_LINK_EXECUTABLE
238+
"<CMAKE_CXX_COMPILER> <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES> ${MANUAL_STATIC_FIX}"
239+
)
240+
endif()
217241

218242
set_target_properties(gridcoinresearch PROPERTIES
219243
WIN32_EXECUTABLE TRUE

0 commit comments

Comments
 (0)