@@ -42,6 +42,11 @@ pkg_search_module(CURL REQUIRED libcurl)
4242pkg_search_module(ZIP REQUIRED libzip)
4343pkg_search_module(JSON REQUIRED jsoncpp)
4444
45+ option (MXE32_STATIC "Build using MXE i686 static" OFF )
46+ option (MXE64_STATIC "Build using MXE x86_64 static" OFF )
47+ option (MXE32_SHARED "Build using MXE i686 shared" OFF )
48+ option (MXE64_SHARED "Build using MXE x86_64 shared" OFF )
49+
4550if (NOT EXISTS ${BREAKPAD_SRC} /configure)
4651 execute_process (COMMAND ${GIT_EXECUTABLE} submodule update --init --recursive
4752 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
@@ -53,8 +58,17 @@ endif()
5358
5459if (NOT EXISTS ${BREAKPAD_BIN} /src/libbreakpad.a)
5560 message ("-- MISSING BREAKPAD (will try to build)" )
61+ if (MXE32_STATIC)
62+ set (BREAKPAD_OPTIONS "--host=i686-w64-mingw32.static" )
63+ elseif (MXE64_STATIC)
64+ set (BREAKPAD_OPTIONS "--host=x86_64-w64-mingw32.static" )
65+ elseif (MXE32_SHARED)
66+ set (BREAKPAD_OPTIONS "--host=i686-w64-mingw32.shared" )
67+ elseif (MXE64_SHARED)
68+ set (BREAKPAD_OPTIONS "--host=x86_64-w64-mingw32.shared" )
69+ endif ()
5670 execute_process (
57- COMMAND bash ${CMAKE_CURRENT_SOURCE_DIR} /scripts/build_breakpad.sh ${BREAKPAD_SRC}
71+ COMMAND bash ${CMAKE_CURRENT_SOURCE_DIR} /scripts/build_breakpad.sh ${BREAKPAD_SRC} ${BREAKPAD_OPTIONS}
5872 WORKING_DIRECTORY ${BREAKPAD_BIN}
5973 )
6074endif ()
@@ -64,7 +78,7 @@ if(CMAKE_BUILD_TYPE MATCHES "^(release|Release|RELEASE)$")
6478else ()
6579 message ("-- DEBUG BUILD" )
6680endif ()
67- add_compile_options (-Wall -Wextra)
81+ add_compile_options (-Wall -Wextra ${CURL_CFLAGS} )
6882add_definitions (-D__STDC_FORMAT_MACROS=1 -Wno-format)
6983add_definitions (-DBREAKDOWN_URL=${BREAKDOWN_URL} )
7084add_definitions (-DBREAKDOWN_VERSION=${PROJECT_VERSION} )
@@ -101,16 +115,16 @@ target_link_libraries(
101115 Qt5::Concurrent
102116 ${BREAKPAD_BIN} /src/libbreakpad.a
103117 ${BREAKPAD_BIN} /src/third_party/libdisasm/libdisasm.a
104- ${CURL_LIBRARIES }
105- ${ZIP_LIBRARIES }
106- ${JSON_LIBRARIES }
118+ ${CURL_STATIC_LIBRARIES }
119+ ${ZIP_STATIC_LIBRARIES }
120+ ${JSON_STATIC_LIBRARIES }
107121)
108122
109123target_link_libraries (
110124 stackwalker
111125 ${BREAKPAD_BIN} /src/libbreakpad.a
112126 ${BREAKPAD_BIN} /src/third_party/libdisasm/libdisasm.a
113- ${CURL_LIBRARIES }
114- ${ZIP_LIBRARIES }
115- ${JSON_LIBRARIES }
127+ ${CURL_STATIC_LIBRARIES }
128+ ${ZIP_STATIC_LIBRARIES }
129+ ${JSON_STATIC_LIBRARIES }
116130)
0 commit comments