]> git.lyx.org Git - lyx.git/blobdiff - development/cmake/LyxPackaging.cmake
Make generate_symbols_list.py python3 compatible
[lyx.git] / development / cmake / LyxPackaging.cmake
index 6983ccc32e248afdccaaa02a87476dfa2f2c3a5c..48cf0e96dd1db5927add3e04cfc22bc737d96bcf 100644 (file)
@@ -41,32 +41,23 @@ elseif(WIN32)
     set(CPACK_GENERATOR ZIP)
     set(CPACK_BINARY_ZIP 1)
     if(MINGW)
-        get_filename_component(MINGW_BIN_PATH ${CMAKE_CXX_COMPILER} PATH)
+        set(runtime)
         if(LYX_XMINGW)
-            if(LYX_USE_QT MATCHES "QT4")
-                get_filename_component(mingw_name ${LYX_XMINGW} NAME)
-                set(MINGW_BIN_PATH ${MINGW_BIN_PATH}/../${mingw_name}/lib)
-                set(MINGW_LIB_PATH ${MINGW_BIN_PATH})
-            else()
-                set(MINGW_BIN_PATH /usr/lib/gcc/${LYX_XMINGW}/${GCC_VERSION})
-                set(MINGW_LIB_PATH /usr/${LYX_XMINGW}/lib)
-            endif()
-        endif()
-        if(EXISTS ${MINGW_BIN_PATH}/libgcc_s_sjlj-1.dll)
-            list(APPEND runtime ${MINGW_BIN_PATH}/libgcc_s_sjlj-1.dll)
-        elseif(EXISTS ${MINGW_BIN_PATH}/libgcc_s_seh-1.dll)
-            list(APPEND runtime ${MINGW_BIN_PATH}/libgcc_s_seh-1.dll)
-        elseif(EXISTS ${MINGW_BIN_PATH}/libgcc_s_dw2-1.dll)
-            list(APPEND runtime ${MINGW_BIN_PATH}/libgcc_s_dw2-1.dll)
-        endif()
-        if(EXISTS ${MINGW_BIN_PATH}/libstdc++-6.dll)
-            list(APPEND runtime ${MINGW_BIN_PATH}/libstdc++-6.dll)
-        endif()
-        if(EXISTS ${MINGW_LIB_PATH}/libwinpthread-1.dll)
-            list(APPEND runtime ${MINGW_LIB_PATH}/libwinpthread-1.dll)
+            execute_process(COMMAND ${CMAKE_CXX_COMPILER} -print-libgcc-file-name OUTPUT_VARIABLE GCC_LIBGCC OUTPUT_STRIP_TRAILING_WHITESPACE)
+            list(APPEND runtime /usr/${LYX_XMINGW}/lib/libwinpthread-1.dll)
+        else()
+            set(GCC_LIBGCC ${CMAKE_CXX_COMPILER})
         endif()
+        get_filename_component(MINGW_RUNTIME_PATH ${GCC_LIBGCC} PATH)        
+        macro(add_runtime_dll _DLL)
+            file(GLOB GCC_RUNTIME ${MINGW_RUNTIME_PATH}/${_DLL})
+            list(APPEND runtime ${GCC_RUNTIME})
+        endmacro()
+        add_runtime_dll(libgcc*.dll)
+        add_runtime_dll(libstd*.dll)
+        add_runtime_dll(libwin*.dll)
         if(NOT runtime)
-            message(FATAL_ERROR "No mingw runtime found in ${MINGW_BIN_PATH}")
+            message(FATAL_ERROR "No mingw runtime found in ${MINGW_RUNTIME_PATH}")
         endif()
 
         if(LYX_USE_QT MATCHES "QT5")