Skip to content

Using cmake with an alternate toolchain #146

@dbry

Description

@dbry

Since there have been numerous changes to the cmake stuff here, including the ability to build the winamp plugin for Window using mingw, I thought I would experiment with this (if for no other reason to test the generated winamp plugin and see if it actually works). I have mingw installed and use it to generate Windows executables all the time (by itself, or with Autotools to build WavPack), so I thought this would be fairly straightforward.

Initially I had no idea how to start so I Googled and found this page. I tried that and got pretty far, but it fails with both mingw versions here:

Performing C SOURCE FILE Test COMPILER_SUPPORTS_SYMBOL_MAPS failed with the following compile output:
Change Dir: /home/david/WavPack/build/CMakeFiles/CMakeTmp

Run Build Command(s):/usr/bin/make cmTC_be63c/fast && /usr/bin/make -f CMakeFiles/cmTC_be63c.dir/build.make CMakeFiles/cmTC_be63c.dir/build
make[1]: Entering directory '/home/david/WavPack/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_be63c.dir/src.c.obj
/usr/bin/x86_64-w64-mingw32-gcc   -DCOMPILER_SUPPORTS_SYMBOL_MAPS -Wl,--version-script=/home/david/WavPack/build//CMakeFiles/conftest.map   -o CMakeFiles/cmTC_be63c.dir/src.c.obj   -c /home/david/WavPack/build/CMakeFiles/CMakeTmp/src.c
Linking C executable cmTC_be63c.exe
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_be63c.dir/link.txt --verbose=1
/usr/bin/cmake -E remove -f CMakeFiles/cmTC_be63c.dir/objects.a
/usr/bin/x86_64-w64-mingw32-ar cr CMakeFiles/cmTC_be63c.dir/objects.a @CMakeFiles/cmTC_be63c.dir/objects1.rsp
/usr/bin/x86_64-w64-mingw32-gcc  -DCOMPILER_SUPPORTS_SYMBOL_MAPS -Wl,--version-script=/home/david/WavPack/build//CMakeFiles/conftest.map    -Wl,--whole-archive CMakeFiles/cmTC_be63c.dir/objects.a -Wl,--no-whole-archive  -o cmTC_be63c.exe -Wl,--out-implib,libcmTC_be63c.dll.a -Wl,--major-image-version,0,--minor-image-version,0 @CMakeFiles/cmTC_be63c.dir/linklibs.rsp
/usr/bin/x86_64-w64-mingw32-ld:/home/david/WavPack/build//CMakeFiles/conftest.map:8: ignoring invalid character `\' in script
make[1]: Leaving directory '/home/david/WavPack/build/CMakeFiles/CMakeTmp'

Figuring Google would rescue me again I Googled COMPILER_SUPPORTS_SYMBOL_MAPS but found to my surprise that the only place on the whole Internet where that string exists is my CMakeLists.txt, which of course means I'm stuck.

Could anyone kindly put me on the right track? @evpobr @sezero

Also, is there an easy way to switch to clang?

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions