Browse Source

Replace the need of bzip2 to be installed and use a small python script

Tobias Hieta 8 years ago
parent
commit
e8a29ca695

+ 2 - 13
CMakeModules/BreakpadSymbols.cmake

@@ -25,17 +25,6 @@ function(dumpsyms target symfile)
       )
       set(EXTRA_DUMPSYMS_ARGS -g "${CMAKE_CURRENT_BINARY_DIR}/${MAIN_NAME}.dSYM")
     endif(APPLE)
-
-    unset(COMPRESS)
-    find_program(COMPRESS_XZ xz HINTS c:/mingw /usr/local/bin)
-    find_program(COMPRESS_BZ bzip2 HINTS c:/mingw /usr/local/bin)
-    if(COMPRESS_XZ)
-      set(COMPRESS_EXT xz)
-      file(TO_NATIVE_PATH ${COMPRESS_XZ} COMPRESS)
-    elseif(COMPRESS_BZ)
-      set(COMPRESS_EXT bz2)
-      file(TO_NATIVE_PATH ${COMPRESS_BZ} COMPRESS)
-    endif(COMPRESS_XZ)
     
     set(TARGET_FILE $<TARGET_FILE:${target}>)
     if(WIN32)
@@ -44,8 +33,8 @@ function(dumpsyms target symfile)
 
     add_custom_command(
       TARGET ${target} POST_BUILD
-      BYPRODUCTS ${symfile}.${COMPRESS_EXT}
-      COMMAND ${DUMP_SYMS} ${EXTRA_DUMPSYMS_ARGS} ${TARGET_FILE} | ${COMPRESS} > ${symfile}.${COMPRESS_EXT}
+      BYPRODUCTS ${symfile}.bz2
+      COMMAND ${DUMP_SYMS} ${EXTRA_DUMPSYMS_ARGS} ${TARGET_FILE} | ${PYTHON_EXECUTABLE} -u ${PROJECT_SOURCE_DIR}/scripts/compress.py > ${symfile}.bz2
       COMMENT Generating symbols
     )
   endif(GENERATE_SYMBOLS AND DUMP_SYMS)

+ 2 - 1
CMakeModules/DependencyConfiguration.cmake

@@ -28,7 +28,8 @@ else(IS_DIRECTORY ${DEPENDENCY_ROOT})
   message(STATUS "Not using bundled deps")
 endif(IS_DIRECTORY ${DEPENDENCY_ROOT})
 
-find_package(Threads)
+find_package(Threads REQUIRED)
+find_package(PythonInterp REQUIRED)
 
 # on windows we need to download the updater binary seperately
 if(WIN32)

+ 21 - 0
scripts/compress.py

@@ -0,0 +1,21 @@
+#!/usr/bin/env python -u
+
+# simple script that takes data on stdin and outputs bz2 compressed data
+# just to avoid having to install bzip2.exe on windows platforms
+
+import bz2, os, sys
+
+bufsize=4096
+
+if __name__ == "__main__":
+  compress = bz2.BZ2Compressor()
+  data = sys.stdin.read(bufsize)
+  while data:
+    cdata = compress.compress(data)
+    if cdata:
+      sys.stdout.write(cdata)
+    data = sys.stdin.read(bufsize)
+
+  cdata = compress.flush()
+  if cdata:
+    sys.stdout.write(cdata)

+ 0 - 1
src/CMakeLists.txt

@@ -76,7 +76,6 @@ foreach(sfile in ${ALL_SRCS})
   source_group("Source Files\\\\${GNAME}" FILES ${sfile})
 endforeach(sfile in ${ALL_SRCS})
 
-find_package(PythonInterp REQUIRED)
 file(GLOB_RECURSE RESOURCE_FILES ${CMAKE_SOURCE_DIR}/resources/*)
 
 # generate resources.qrc from directory tree listings