Hi Eric, Thanks for your suggestion. If one shouldn't set RANLIB/AR oneself, then I find it a bit confusing that the information about those variables are listed here: http://www.cmake.org/Wiki/CMake_Useful_Variables But perhaps that list is meant for different stuff?
Your suggestion did not set the right ranlib/ar binaries. I did have a look in the file CMakeFindBinUtils.cmake, where a suggestion of setting _CMAKE_TOOLCHAIN_PREFIX came up. This actually worked. Not sure if it is expected to work though, so I would be happy to hear if someone has the "official" solution. If it is expected, perhaps one could add the information about how this variable work to the Wiki pages for toolchains? Perhaps one could use this variable also when searching for the compilers and linkers? Cheers, Yngve On Wednesday 4. July 2012 22.19.49, Eric Noulard wrote: > 2012/7/4 Yngve Inntjore Levinsen <[email protected]>: > > Hi, > > > > I try to set up my toolchain file for building Windows executables in a > > Linux environment. I started with the example from > > http://www.cmake.org/Wiki/CmakeMingw > > > > The only thing I noticed was that I needed to use "ar" and "ranlib" from > > MinGW as well, for creating the archives. I can do this by manually > > editing the file CMakeFiles/CMakeCXXCompiler.cmake after cmake has run. > > Code compiles successfully. > > > > I then tried to add the following two lines to the toolchain file: > > SET(CMAKE_AR i486-mingw32-ar) > > SET(CMAKE_RANLIB i486-mingw32-ranlib) > > You shouldn't need to set CMAKE_AR or CMAKE_RANLIB yourself. > Could you try the toolchain file I uploaded here > http://www.cmake.org/Wiki/images/c/c2/Toolchain-cross-mingw32-linux.cmake > > (refered on the very same page you used: > http://www.cmake.org/Wiki/CmakeMingw) > > If you SET(COMPILER_PREFIX "i486-mingw32") > it should work out of the box. > > > (yes, the prefix for my MinGW install is different from the example) > > > > Sadly, that makes the initial compiler test fail. For fortran it actually > > still works, but the test fails for c and c++. I have tried to search for > > a > > while without finding out what I do wrong. Please tell me. Or ask if > > something is unclear. > > What is the exact command line you used when invoking CMake with you > Toolchain file ? > > Did you try from a pristine build tree? > > Using the provided toolchain, after you updated with the proper prefix > if you put the toolchain file at the root of your source tree, then you can > do: > > cd sourcedir > mkdir build-win32 > cmake -DCMAKE_TOOLCHAIN_FILE=../Toolchain-cross-mingw32-linux.cmake .. > > should work as expected without tweaking AR or RANLIB. -- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
