[CMake] Detecting libgcc_s_<variant> in MinGW 32 & 64.

Pau Garcia i Quiles pgquiles at elpauer.org
Sun Oct 13 10:44:48 EDT 2013


Hello,

I am also interested. I found this last week:

http://stackoverflow.com/questions/17967597/obtaining-current-gcc-exception-model

But there's more than the exception model, there is also POSIX threads vs
Windows threads, mingw-w64-based vs mingw32-based vs nuwen vs TDM vs ...

I'm keeping my notes (and progress when I finally start with this issue)
here:

https://elpauer.assembla.com/spaces/winstng/tickets/10-support-mingw?comment=376717093#comment:376717093




On Sun, Oct 13, 2013 at 4:35 PM, Richard Shaw <hobbes1069 at gmail.com> wrote:

> I have a project I successfully built under mingw32 and I'm now attempting
> to build under mingw64.
>
> I am cross compiling under Fedora x86_64...
>
> In order to pull in all the DLLs for CPack I devised the following:
>
>     # Try to grab all the runtime dlls for the windows installer.
>     # This will break if the dll names change!
>     foreach(RUNTIME
>         libgcc_s_sjlj-1.dll
>         libgcc_s_seh-1.dll
>         libstdc++-6.dll
>         libsndfile-1.dll
>         ....
>         message(STATUS "Checking for ${RUNTIME}")
>         find_library(${RUNTIME}_LIB NAMES ${RUNTIME})
>         if(${RUNTIME}_LIB-FOUND)
>             message(STATUS "runtime found: ${${RUNTIME}_LIB}")
>             list(APPEND CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS
> ${${RUNTIME}_LIB})
>         else()
>             message(STATUS "${RUNTIME} not found. Hope nothing breaks!")
>         endif()
>     endforeach()
>
> The problem is that two different libgcc_s library variants are used...
> libgcc_s_sjlj-1.dll w/ mingw32
> libgcc_s_seh-1.dll w/ mingw64
>
> I could take them out of the foreach loop and check for them separately
> but I was looking for something a bit more elegant which is why I added the
> NAMES modifier to find_library.
>
> Is there a way to pass both to the find_library macro? I tried making them
> a list but then foreach iterated over them. I tried putting them in quotes
> but then it treats them as a string...
>
> Ideas?
>
> Thanks,
> Richard
>
> --
>
> Powered by www.kitware.com
>
> Please keep messages on-topic and check the CMake FAQ at:
> http://www.cmake.org/Wiki/CMake_FAQ
>
> Kitware offers various services to support the CMake community. For more
> information on each offering, please visit:
>
> CMake Support: http://cmake.org/cmake/help/support.html
> CMake Consulting: http://cmake.org/cmake/help/consulting.html
> CMake Training Courses: http://cmake.org/cmake/help/training.html
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Follow this link to subscribe/unsubscribe:
> http://www.cmake.org/mailman/listinfo/cmake
>



-- 
Pau Garcia i Quiles
http://www.elpauer.org
(Due to my workload, I may need 10 days to answer)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20131013/34b77015/attachment.htm>


More information about the CMake mailing list