Re: [CMake] Why do jom/nmake generators require cl to build with mingw?
On 9/15/2011 10:35 AM, John R. Cary wrote: I seem to be able to use them in a cygwin shell, but only if I have cl and all the defines in my path, even if I never use cl in the compilation (because I def'd the compilers to be mingw...) Also, jom, cl, mingw, nmake all have the same (Windows) path concepts, instead of the cygwin paths. So I think they should work together, and I observe that they do. So not sure how to answer your question This is a new use case. I had never thought of using jom or nmake for anything other than cl. As gmake is usually better. Once the -j stuff fix for mingw gets into gmake, then there would be no reason to use jom I would think. There seem to be two problems: 1. The warning about INCLUDE, LIB, etc. This was done because so many people try to use cl without setting up the environment for it. This should be reworked to only warn if cl is being used. 2. There is an error with the rc compiler. This is what is failing: enable_language(RC) This seems to only look for windres when the MinGW or Msys generators are used. If you want to create two bugs for this that would be good. Not sure when we will get to fixing it... But, if you wanted to try I could help you. Bugs would be: - only warn about missing INCLUDE,LIB env when using the MS compiler. - Look for windres when using gcc with nmake and jom if using gcc. -Bill ___ 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
Re: [CMake] Why do jom/nmake generators require cl to build with mingw?
On 9/15/11 8:27 AM, John Drescher wrote: On Thu, Sep 15, 2011 at 8:08 AM, John R. Cary wrote: I was trying to configure a project to use jom or name with the mingw compilers. I was configuring with cmake \ -DCMAKE_INSTALL_PREFIX:PATH=C:/winsame/volatile-mingw/txphysics-r1504-ser \ -DCMAKE_BUILD_TYPE:STRING=RELEASE \ -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE \ -DCMAKE_INSTALL_ALWAYS:BOOL=TRUE \ -DCMAKE_COLOR_MAKEFILE:BOOL=FALSE \ -G 'NMake Makefiles' \ -DCMAKE_C_COMPILER:FILEPATH='mingw32-gcc' \ -DCMAKE_CXX_COMPILER:FILEPATH='mingw32-g++' \ -DCMAKE_Fortran_COMPILER:FILEPATH='mingw32-gfortran' \ C:/cygwin/home/user/vorpalall-mg/txphysics but got the warning, CMake Warning at CMakeLists.txt:10 (project): To use the NMake generator, cmake must be run from a shell that can use the compiler cl from the command line. This environment does not contain INCLUDE, LIB, or LIBPATH, and these must be set for the cl compiler to work. and ultimately the error, CMake Error at C:/Program Files/CMake 2.8/share/cmake-2.8/Modules/CMakeRCInformation.cmake:22 (GET_FILENAME_COMPONENT): get_filename_component called with incorrect number of arguments Call Stack (most recent call first): C:/Program Files/CMake 2.8/share/cmake-2.8/Modules/Platform/Windows-GNU.cmake:60 (enable_language) C:/Program Files/CMake 2.8/share/cmake-2.8/Modules/Platform/Windows-GNU-C.cmake:1 (include) C:/Program Files/CMake 2.8/share/cmake-2.8/Modules/CMakeCInformation.cmake:56 (INCLUDE) CMakeLists.txt:2 (PROJECT) So I did put cl in my path, and now it configures, but this seems strange. Is it necessary to still have cl when using mingw? I thought jom and nmake Generators were both for Visual Studio. I seem to be able to use them in a cygwin shell, but only if I have cl and all the defines in my path, even if I never use cl in the compilation (because I def'd the compilers to be mingw...) Also, jom, cl, mingw, nmake all have the same (Windows) path concepts, instead of the cygwin paths. So I think they should work together, and I observe that they do. So not sure how to answer your question John ___ 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
Re: [CMake] Why do jom/nmake generators require cl to build with mingw?
On Thu, Sep 15, 2011 at 8:08 AM, John R. Cary wrote: > I was trying to configure a project to use jom or name with the > mingw compilers. > > I was configuring with > > cmake \ > -DCMAKE_INSTALL_PREFIX:PATH=C:/winsame/volatile-mingw/txphysics-r1504-ser \ > -DCMAKE_BUILD_TYPE:STRING=RELEASE \ > -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE \ > -DCMAKE_INSTALL_ALWAYS:BOOL=TRUE \ > -DCMAKE_COLOR_MAKEFILE:BOOL=FALSE \ > -G 'NMake Makefiles' \ > -DCMAKE_C_COMPILER:FILEPATH='mingw32-gcc' \ > -DCMAKE_CXX_COMPILER:FILEPATH='mingw32-g++' \ > -DCMAKE_Fortran_COMPILER:FILEPATH='mingw32-gfortran' \ > C:/cygwin/home/user/vorpalall-mg/txphysics > > but got the warning, > > CMake Warning at CMakeLists.txt:10 (project): > To use the NMake generator, cmake must be run from a shell that can use the > compiler cl from the command line. This environment does not contain > INCLUDE, LIB, or LIBPATH, and these must be set for the cl compiler to > work. > > and ultimately the error, > > CMake Error at C:/Program Files/CMake > 2.8/share/cmake-2.8/Modules/CMakeRCInformation.cmake:22 > (GET_FILENAME_COMPONENT): > get_filename_component called with incorrect number of arguments > Call Stack (most recent call first): > C:/Program Files/CMake > 2.8/share/cmake-2.8/Modules/Platform/Windows-GNU.cmake:60 (enable_language) > C:/Program Files/CMake > 2.8/share/cmake-2.8/Modules/Platform/Windows-GNU-C.cmake:1 (include) > C:/Program Files/CMake > 2.8/share/cmake-2.8/Modules/CMakeCInformation.cmake:56 (INCLUDE) > CMakeLists.txt:2 (PROJECT) > > So I did put cl in my path, and now it configures, but this seems strange. > Is it necessary to still have cl when using mingw? > I thought jom and nmake Generators were both for Visual Studio. John ___ 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
[CMake] Why do jom/nmake generators require cl to build with mingw?
I was trying to configure a project to use jom or name with the mingw compilers. I was configuring with cmake \ -DCMAKE_INSTALL_PREFIX:PATH=C:/winsame/volatile-mingw/txphysics-r1504-ser \ -DCMAKE_BUILD_TYPE:STRING=RELEASE \ -DCMAKE_VERBOSE_MAKEFILE:BOOL=TRUE \ -DCMAKE_INSTALL_ALWAYS:BOOL=TRUE \ -DCMAKE_COLOR_MAKEFILE:BOOL=FALSE \ -G 'NMake Makefiles' \ -DCMAKE_C_COMPILER:FILEPATH='mingw32-gcc' \ -DCMAKE_CXX_COMPILER:FILEPATH='mingw32-g++' \ -DCMAKE_Fortran_COMPILER:FILEPATH='mingw32-gfortran' \ C:/cygwin/home/user/vorpalall-mg/txphysics but got the warning, CMake Warning at CMakeLists.txt:10 (project): To use the NMake generator, cmake must be run from a shell that can use the compiler cl from the command line. This environment does not contain INCLUDE, LIB, or LIBPATH, and these must be set for the cl compiler to work. and ultimately the error, CMake Error at C:/Program Files/CMake 2.8/share/cmake-2.8/Modules/CMakeRCInformation.cmake:22 (GET_FILENAME_COMPONENT): get_filename_component called with incorrect number of arguments Call Stack (most recent call first): C:/Program Files/CMake 2.8/share/cmake-2.8/Modules/Platform/Windows-GNU.cmake:60 (enable_language) C:/Program Files/CMake 2.8/share/cmake-2.8/Modules/Platform/Windows-GNU-C.cmake:1 (include) C:/Program Files/CMake 2.8/share/cmake-2.8/Modules/CMakeCInformation.cmake:56 (INCLUDE) CMakeLists.txt:2 (PROJECT) So I did put cl in my path, and now it configures, but this seems strange. Is it necessary to still have cl when using mingw? ThxJohn Cary ___ 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