diff --git a/CMakeLists.txt b/CMakeLists.txt index 658c4ac03f6ae56ffcb6cb56105b8e1293016432..f5e7994e3d65349b2b3af18a176fe8b8b91a5619 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1356,18 +1356,24 @@ if(ENABLE_BUILD_SHARED OR ENABLE_BUILD_DYNAMIC) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${LIBGMSH_DEF} DESTINATION ${GMSH_LIB}) # install these DLLs until we figure out how to link them in statically - # nb (using mingw-w64) : + # NB (using mingw-w64): # stc++ can be linked statically with -static-libstdc++ - # gfortran with -Wl,-Bstatic -lgfortran (-static-libgfortran does not work for c++ linker) - # unfortunately -static-libgcc causes link error here (multiple definition of ...) - # find_program does not work in cross-compilation mode -> ask the compiler instead - execute_process(COMMAND ${CMAKE_CXX_COMPILER} -print-file-name=libgfortran-3.dll OUTPUT_VARIABLE GFORTRAN_DLL OUTPUT_STRIP_TRAILING_WHITESPACE) + # gfortran with -Wl,-Bstatic -lgfortran (-static-libgfortran does not work + # for c++ linker) + # unfortunately -static-libgcc causes link error here (multiple definition + # of ...) + # Also, find_program does not work in cross-compilation mode -> ask the compiler instead + execute_process(COMMAND ${CMAKE_CXX_COMPILER} -print-file-name=libgfortran-3.dll + OUTPUT_VARIABLE GFORTRAN_DLL OUTPUT_STRIP_TRAILING_WHITESPACE) if(HAVE_64BIT_SIZE_T) - execute_process(COMMAND ${CMAKE_CXX_COMPILER} -print-file-name=libgcc_s_seh-1.dll OUTPUT_VARIABLE GCC_DLL OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND ${CMAKE_CXX_COMPILER} -print-file-name=libgcc_s_seh-1.dll + OUTPUT_VARIABLE GCC_DLL OUTPUT_STRIP_TRAILING_WHITESPACE) else(HAVE_64BIT_SIZE_T) - execute_process(COMMAND ${CMAKE_CXX_COMPILER} -print-file-name=libgcc_s_sjlj-1.dll OUTPUT_VARIABLE GCC_DLL OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND ${CMAKE_CXX_COMPILER} -print-file-name=libgcc_s_sjlj-1.dll + OUTPUT_VARIABLE GCC_DLL OUTPUT_STRIP_TRAILING_WHITESPACE) endif(HAVE_64BIT_SIZE_T) - execute_process(COMMAND ${CMAKE_CXX_COMPILER} -print-file-name=libstdc++-6.dll OUTPUT_VARIABLE STDC_DLL OUTPUT_STRIP_TRAILING_WHITESPACE) + execute_process(COMMAND ${CMAKE_CXX_COMPILER} -print-file-name=libstdc++-6.dll + OUTPUT_VARIABLE STDC_DLL OUTPUT_STRIP_TRAILING_WHITESPACE) get_filename_component(STD_DLL ${STDC_DLL} ABSOLUTE) get_filename_component(GFORTRAN_DLL ${GFORTRAN_DLL} ABSOLUTE) get_filename_component(GCC_DLL ${GCC_DLL} ABSOLUTE)