Re: [CMake] FW: cmake newbie questions
Sorry. It works if I *do* comment out those lines. So I've removed them. -Original Message- From: Alexander Neundorf [mailto:[EMAIL PROTECTED] Sent: Thursday, August 07, 2008 5:15 PM To: cmake@cmake.org Cc: Phil Smith Subject: Re: [CMake] FW: cmake newbie questions On Thursday 07 August 2008, Phil Smith wrote: > C:\temp>cmake -P CMakeLists.txt > -- x length: 2 > -- y length: 1 > > C:\temp> That's good. > I get the same result in "my" directory (with the file renamed, of course). > > Ah HAH -- if I comment out: > # INCLUDE (CMakeForceCompiler) > # CMAKE_FORCE_C_COMPILER (c:/progra~1/dignus/cc.bat Dignus) > # CMAKE_FORCE_CXX_COMPILER (c:/progra~1/dignus/cxx.bat Dignus) > > It works as expected. Is this a bug? It's definitely unintuitive edge > behavior... Do you mean if the code above is commented out it works or it works if you un-comment the code above it works ? Alex ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
On Thursday 07 August 2008, Phil Smith wrote: > C:\temp>cmake -P CMakeLists.txt > -- x length: 2 > -- y length: 1 > > C:\temp> That's good. > I get the same result in "my" directory (with the file renamed, of course). > > Ah HAH -- if I comment out: > # INCLUDE (CMakeForceCompiler) > # CMAKE_FORCE_C_COMPILER (c:/progra~1/dignus/cc.bat Dignus) > # CMAKE_FORCE_CXX_COMPILER (c:/progra~1/dignus/cxx.bat Dignus) > > It works as expected. Is this a bug? It's definitely unintuitive edge > behavior... Do you mean if the code above is commented out it works or it works if you un-comment the code above it works ? Alex ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
On Thursday 07 August 2008, Phil Smith wrote: > Is 'failed' for " Detecting C compiler ABI info" OK (it seems to work, just > paranoid at this point)? Not sure it's ok, at least it is correct (it is not ELF). Can you check where CMAKE_C_COMPILER_ABI is used ? Alex ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
Is 'failed' for " Detecting C compiler ABI info" OK (it seems to work, just paranoid at this point)? -- The C compiler identification is unknown -- The CXX compiler identification is unknown -- Check for working C compiler: c:/progra~1/dignus/cc.bat -- Check for working C compiler: c:/progra~1/dignus/cc.bat -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - failed -- Check for working CXX compiler: c:/progra~1/dignus/cxx.bat -- Check for working CXX compiler: c:/progra~1/dignus/cxx.bat -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - failed If so, then I no longer need any changes to existing CMAKE files for this to work -- at least for me. We're still fighting some path confusion on my co-worker's machine; I'm going to have him try with the original .cmake files restored and the zosport.cmake simplified, see if that helps. ...phsiii ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
C:\temp>cmake -P CMakeLists.txt -- x length: 2 -- y length: 1 C:\temp> I get the same result in "my" directory (with the file renamed, of course). Ah HAH -- if I comment out: # INCLUDE (CMakeForceCompiler) # CMAKE_FORCE_C_COMPILER (c:/progra~1/dignus/cc.bat Dignus) # CMAKE_FORCE_CXX_COMPILER (c:/progra~1/dignus/cxx.bat Dignus) It works as expected. Is this a bug? It's definitely unintuitive edge behavior... ...phsiii -Original Message- From: Alexander Neundorf [mailto:[EMAIL PROTECTED] Sent: Wednesday, August 06, 2008 6:38 PM To: Phil Smith Cc: cmake@cmake.org Subject: Re: [CMake] FW: cmake newbie questions On Wednesday 06 August 2008, Phil Smith wrote: > Harrumph: > > C:\temp>cmake -G"Unix Makefiles" . > -- The C compiler identification is unknown > -- The CXX compiler identification is unknown > -- Check for working C compiler: CMAKE_C_COMPILER-NOTFOUND > CMake Error: your C compiler: "CMAKE_C_COMPILER-NOTFOUND" was not found. Hmm, ok, you don't have that set up. So then just run "cmake -P CMakeLists.txt", this just executes the commands in the file. Alex ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
On Wednesday 06 August 2008, Phil Smith wrote: > Harrumph: > > C:\temp>cmake -G"Unix Makefiles" . > -- The C compiler identification is unknown > -- The CXX compiler identification is unknown > -- Check for working C compiler: CMAKE_C_COMPILER-NOTFOUND > CMake Error: your C compiler: "CMAKE_C_COMPILER-NOTFOUND" was not found. Hmm, ok, you don't have that set up. So then just run "cmake -P CMakeLists.txt", this just executes the commands in the file. Alex ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
Harrumph: C:\temp>cmake -G"Unix Makefiles" . -- The C compiler identification is unknown -- The CXX compiler identification is unknown -- Check for working C compiler: CMAKE_C_COMPILER-NOTFOUND CMake Error: your C compiler: "CMAKE_C_COMPILER-NOTFOUND" was not found. Please set CMAKE_C_COMPILER to a valid compiler path or name. CMake Error: Internal CMake error, TryCompile configure of cmake failed -- Check for working C compiler: CMAKE_C_COMPILER-NOTFOUND -- broken CMake Error at C:/Program Files/CMake 2.6/share/cmake-2.6/Modules/CMakeTestCCompiler.cmake:32 (MESSAGE): The C compiler "CMAKE_C_COMPILER-NOTFOUND" is not able to compile a simple test program. It fails with the following output: CMake will not be able to correctly generate this project. Call Stack (most recent call first): :2308322 (PROJECT) CMake Error: your C compiler: "CMAKE_C_COMPILER-NOTFOUND" was not found. Please set CMAKE_C_COMPILER to a valid compiler path or name. CMake Error: your CXX compiler: "CMAKE_CXX_COMPILER-NOTFOUND" was not found. Please set CMAKE_CXX_COMPILER to a valid compiler path or name. -- Configuring done C:\temp> -Original Message- From: Alexander Neundorf [mailto:[EMAIL PROTECTED] Sent: Wednesday, August 06, 2008 5:49 PM To: Phil Smith Cc: cmake@cmake.org Subject: Re: [CMake] FW: cmake newbie questions On Wednesday 06 August 2008, Phil Smith wrote: > I added the last line in the following block in > CMakeDetermineCCompiler.cmake (insertion after line 69): > > LIST(LENGTH CMAKE_C_COMPILER _CMAKE_C_COMPILER_LIST_LENGTH) > IF("${_CMAKE_C_COMPILER_LIST_LENGTH}" EQUAL 2) > LIST(GET CMAKE_C_COMPILER 1 CMAKE_C_COMPILER_ARG1) > LIST(GET CMAKE_C_COMPILER 0 CMAKE_C_COMPILER) > ENDIF("${_CMAKE_C_COMPILER_LIST_LENGTH}" EQUAL 2) > MESSAGE(STATUS "${CMAKE_C_COMPILER_ARG1}!") > > And when I run it, I get only the exclamation point. So I don't think > CMAKE_C_COMPILER is being set right. > > In fact, I changed the MESSAGE to: > MESSAGE(STATUS "${CMAKE_C_COMPILER_ARG1}! length is > !${_CMAKE_C_COMPILER_LIST_LENGTH}! compiler !${CMAKE_C_COMPILER}!") > > and no matter whether I set the variable to two tokens, two tokens in one > set of double quotes, or two tokens in two sets of double quotes, I get the > same output: > > -- ! length is !1! compiler !c:/progra~1/dignus/cc.bat! > > So ARG1 is always null, which makes sense since length is always 1. This should really return 2: LIST(LENGTH CMAKE_C_COMPILER _CMAKE_C_COMPILER_LIST_LENGTH) Please run cmake on the attached CMakeLists.txt (no cross compiling, just run it) and post the output. Here it gives: $ /opt/cmake-2.6.1-Linux-i386/bin/cmake . -- x length: 2 -- y length: 1 -- Configuring done -- Generating done -- Build files have been written to: /home/alex/src/tests/listtest Alex ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
On Wednesday 06 August 2008, Phil Smith wrote: > I added the last line in the following block in > CMakeDetermineCCompiler.cmake (insertion after line 69): > > LIST(LENGTH CMAKE_C_COMPILER _CMAKE_C_COMPILER_LIST_LENGTH) > IF("${_CMAKE_C_COMPILER_LIST_LENGTH}" EQUAL 2) > LIST(GET CMAKE_C_COMPILER 1 CMAKE_C_COMPILER_ARG1) > LIST(GET CMAKE_C_COMPILER 0 CMAKE_C_COMPILER) > ENDIF("${_CMAKE_C_COMPILER_LIST_LENGTH}" EQUAL 2) > MESSAGE(STATUS "${CMAKE_C_COMPILER_ARG1}!") > > And when I run it, I get only the exclamation point. So I don't think > CMAKE_C_COMPILER is being set right. > > In fact, I changed the MESSAGE to: > MESSAGE(STATUS "${CMAKE_C_COMPILER_ARG1}! length is > !${_CMAKE_C_COMPILER_LIST_LENGTH}! compiler !${CMAKE_C_COMPILER}!") > > and no matter whether I set the variable to two tokens, two tokens in one > set of double quotes, or two tokens in two sets of double quotes, I get the > same output: > > -- ! length is !1! compiler !c:/progra~1/dignus/cc.bat! > > So ARG1 is always null, which makes sense since length is always 1. This should really return 2: LIST(LENGTH CMAKE_C_COMPILER _CMAKE_C_COMPILER_LIST_LENGTH) Please run cmake on the attached CMakeLists.txt (no cross compiling, just run it) and post the output. Here it gives: $ /opt/cmake-2.6.1-Linux-i386/bin/cmake . -- x length: 2 -- y length: 1 -- Configuring done -- Generating done -- Build files have been written to: /home/alex/src/tests/listtest Alex CMAKE_MINIMUM_REQUIRED(VERSION 2.6) SET(X_CMAKE_C_COMPILER "c:/progra~1/dignus/cc.bat" "-fasciiout") LIST(LENGTH X_CMAKE_C_COMPILER X_CMAKE_C_COMPILER_LIST_LENGTH) MESSAGE(STATUS "x length: ${X_CMAKE_C_COMPILER_LIST_LENGTH}") SET(Y_CMAKE_C_COMPILER "c:/progra~1/dignus/cc.bat -fasciiout") LIST(LENGTH Y_CMAKE_C_COMPILER Y_CMAKE_C_COMPILER_LIST_LENGTH) MESSAGE(STATUS "y length: ${Y_CMAKE_C_COMPILER_LIST_LENGTH}") ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
I added the last line in the following block in CMakeDetermineCCompiler.cmake (insertion after line 69): LIST(LENGTH CMAKE_C_COMPILER _CMAKE_C_COMPILER_LIST_LENGTH) IF("${_CMAKE_C_COMPILER_LIST_LENGTH}" EQUAL 2) LIST(GET CMAKE_C_COMPILER 1 CMAKE_C_COMPILER_ARG1) LIST(GET CMAKE_C_COMPILER 0 CMAKE_C_COMPILER) ENDIF("${_CMAKE_C_COMPILER_LIST_LENGTH}" EQUAL 2) MESSAGE(STATUS "${CMAKE_C_COMPILER_ARG1}!") And when I run it, I get only the exclamation point. So I don't think CMAKE_C_COMPILER is being set right. In fact, I changed the MESSAGE to: MESSAGE(STATUS "${CMAKE_C_COMPILER_ARG1}! length is !${_CMAKE_C_COMPILER_LIST_LENGTH}! compiler !${CMAKE_C_COMPILER}!") and no matter whether I set the variable to two tokens, two tokens in one set of double quotes, or two tokens in two sets of double quotes, I get the same output: -- ! length is !1! compiler !c:/progra~1/dignus/cc.bat! So ARG1 is always null, which makes sense since length is always 1. Interesting that even with two tokens in one set of double quotes, the CMAKE_C_COMPILER variable is still set to just the first token. ...phsiii -Original Message- From: Alexander Neundorf [mailto:[EMAIL PROTECTED] Sent: Wednesday, August 06, 2008 4:30 PM To: Phil Smith Cc: cmake@cmake.org Subject: Re: [CMake] FW: cmake newbie questions On Wednesday 06 August 2008, Phil Smith wrote: > No errors, no CMakeError.log -- just null values for the SIZEOF_LONG_LONG > et al. > > It sets CMAKE_C_COMPILER_ARG1 in CMakeDetermineCCompiler.cmake -- but > inside: IF(NOT CMAKE_C_COMPILER) > > ...so it doesn't do it if you explicitly specify a C compiler, a la: > SET(CMAKE_C_COMPILER "c:/progra~1/dignus/cc.bat -fasciiout") > > At least, that's how I read it. After some fumbling, I put a MESSAGE > before and inside that IF block, and only the one before gets triggered. That's how it continues after the ELSE(): ELSE(NOT CMAKE_C_COMPILER) # we only get here if CMAKE_C_COMPILER was specified using -D or a pre-made CMakeCache.txt # (e.g. via ctest) or set in CMAKE_TOOLCHAIN_FILE # if CMAKE_C_COMPILER is a list of length 2, use the first item as # CMAKE_C_COMPILER and the 2nd one as CMAKE_C_COMPILER_ARG1 LIST(LENGTH CMAKE_C_COMPILER _CMAKE_C_COMPILER_LIST_LENGTH) IF("${_CMAKE_C_COMPILER_LIST_LENGTH}" EQUAL 2) LIST(GET CMAKE_C_COMPILER 1 CMAKE_C_COMPILER_ARG1) LIST(GET CMAKE_C_COMPILER 0 CMAKE_C_COMPILER) ENDIF("${_CMAKE_C_COMPILER_LIST_LENGTH}" EQUAL 2) So set CMAKE_C_COMPILER to SET(CMAKE_C_COMPILER "c:/progra~1/dignus/cc.bat" "-fasciiout") and then CMAKE_C_COMPILER_ARG1 should be set there. Doesn't that work ? Alex ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
On Wednesday 06 August 2008, Phil Smith wrote: > No errors, no CMakeError.log -- just null values for the SIZEOF_LONG_LONG > et al. > > It sets CMAKE_C_COMPILER_ARG1 in CMakeDetermineCCompiler.cmake -- but > inside: IF(NOT CMAKE_C_COMPILER) > > ...so it doesn't do it if you explicitly specify a C compiler, a la: > SET(CMAKE_C_COMPILER "c:/progra~1/dignus/cc.bat -fasciiout") > > At least, that's how I read it. After some fumbling, I put a MESSAGE > before and inside that IF block, and only the one before gets triggered. That's how it continues after the ELSE(): ELSE(NOT CMAKE_C_COMPILER) # we only get here if CMAKE_C_COMPILER was specified using -D or a pre-made CMakeCache.txt # (e.g. via ctest) or set in CMAKE_TOOLCHAIN_FILE # if CMAKE_C_COMPILER is a list of length 2, use the first item as # CMAKE_C_COMPILER and the 2nd one as CMAKE_C_COMPILER_ARG1 LIST(LENGTH CMAKE_C_COMPILER _CMAKE_C_COMPILER_LIST_LENGTH) IF("${_CMAKE_C_COMPILER_LIST_LENGTH}" EQUAL 2) LIST(GET CMAKE_C_COMPILER 1 CMAKE_C_COMPILER_ARG1) LIST(GET CMAKE_C_COMPILER 0 CMAKE_C_COMPILER) ENDIF("${_CMAKE_C_COMPILER_LIST_LENGTH}" EQUAL 2) So set CMAKE_C_COMPILER to SET(CMAKE_C_COMPILER "c:/progra~1/dignus/cc.bat" "-fasciiout") and then CMAKE_C_COMPILER_ARG1 should be set there. Doesn't that work ? Alex ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
No errors, no CMakeError.log -- just null values for the SIZEOF_LONG_LONG et al. It sets CMAKE_C_COMPILER_ARG1 in CMakeDetermineCCompiler.cmake -- but inside: IF(NOT CMAKE_C_COMPILER) ...so it doesn't do it if you explicitly specify a C compiler, a la: SET(CMAKE_C_COMPILER "c:/progra~1/dignus/cc.bat -fasciiout") At least, that's how I read it. After some fumbling, I put a MESSAGE before and inside that IF block, and only the one before gets triggered. Related note: It sure would be nice if --debug-trycompile copied the compiler output to CMakeError.log. I've been forced to put a FILE(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log "Compiler output:\n${OUTPUT}\n") in CheckTypeSize.cmake so I can figure out what's failing (not with this, since it's just not passing the flag, but with other failures before). ...phsiii -Original Message- From: Alexander Neundorf [mailto:[EMAIL PROTECTED] Sent: Tuesday, August 05, 2008 5:30 PM To: Phil Smith Cc: cmake@cmake.org Subject: Re: [CMake] FW: cmake newbie questions On Tuesday 05 August 2008, Phil Smith wrote: > Nope, that didn't do it. I tried it with and without double quotes around > the value: no -fascii was passed in either case. >From a clean build tree, right ? It should work. If it doesn't, search for CMAKE_C_COMPILER_ARG1 and check using MESSAGE(STATUS ...) what happens. What errors do you get ? Printed and from CMakeFiles/CMakeError.log ? > However, I'm tentatively > declaring victory (very tentatively -- I've had it working before, but for > the wrong reasons, such as NOT doing a linkedit and having it happen to > find the "magic string" in the object -- but that's not safe, it could be > broken across 80-byte records). > > I notice that it's creating what looks like it might be a duplicate set of > directories: > > CMakeFiles\CMakeTmp\CMakeFiles\cmTryCompileExec.dir > > Does it really mean to do that, or is it intending to have just > CMakeFiles\cmTryCompileExec.dir > ? It works, so perhaps machs nicht, ??? "Es macht nichts" ? The directories are ok as you see them. Alex ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
On Tuesday 05 August 2008, Phil Smith wrote: > Nope, that didn't do it. I tried it with and without double quotes around > the value: no -fascii was passed in either case. >From a clean build tree, right ? It should work. If it doesn't, search for CMAKE_C_COMPILER_ARG1 and check using MESSAGE(STATUS ...) what happens. What errors do you get ? Printed and from CMakeFiles/CMakeError.log ? > However, I'm tentatively > declaring victory (very tentatively -- I've had it working before, but for > the wrong reasons, such as NOT doing a linkedit and having it happen to > find the "magic string" in the object -- but that's not safe, it could be > broken across 80-byte records). > > I notice that it's creating what looks like it might be a duplicate set of > directories: > > CMakeFiles\CMakeTmp\CMakeFiles\cmTryCompileExec.dir > > Does it really mean to do that, or is it intending to have just > CMakeFiles\cmTryCompileExec.dir > ? It works, so perhaps machs nicht, ??? "Es macht nichts" ? The directories are ok as you see them. Alex ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
Nope, that didn't do it. I tried it with and without double quotes around the value: no -fascii was passed in either case. However, I'm tentatively declaring victory (very tentatively -- I've had it working before, but for the wrong reasons, such as NOT doing a linkedit and having it happen to find the "magic string" in the object -- but that's not safe, it could be broken across 80-byte records). I notice that it's creating what looks like it might be a duplicate set of directories: CMakeFiles\CMakeTmp\CMakeFiles\cmTryCompileExec.dir Does it really mean to do that, or is it intending to have just CMakeFiles\cmTryCompileExec.dir ? It works, so perhaps machs nicht, but it looked odd to me. ...phsiii -Original Message- From: Alexander Neundorf [mailto:[EMAIL PROTECTED] Sent: Tuesday, August 05, 2008 3:49 PM To: Phil Smith Cc: cmake@cmake.org Subject: Re: [CMake] FW: cmake newbie questions On Tuesday 05 August 2008, Phil Smith wrote: > I'm not sure, but when I look at the -fascii-ized version of > CheckTypeSizeC.o using my text editor on Windows, I find: > INFO:sizeof[8] > as I'd expect. > > Well, actually I know one answer: the square brackets are a problematic > character, and depend on the codepage. I haven't really looked at the code > otherwise; since -fascii exists, it would seem to me to be the simpler fix. > To get it to work, I added: > >IF(ZOS) > SET(MACRO_CHECK_TYPE_SIZE_FLAGS > "${MACRO_CHECK_TYPE_SIZE_FLAGS} -fasciiout") >ENDIF(ZOS) Try that in your toolchain file: SET(CMAKE_C_COMPILERc:/progra~1/dignus/cc.bat -fasciiout) SET(CMAKE_CXX_COMPILER c:/progra~1/dignus/cxx.bat -fasciiout) Modules/CMakeDetermineC[XX]Compiler.cmake checks whether there is an additional argument given and this should be used then, at least for the first test where it tries to build a basic executable. Alex ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
On Tuesday 05 August 2008, Phil Smith wrote: > I'm not sure, but when I look at the -fascii-ized version of > CheckTypeSizeC.o using my text editor on Windows, I find: > INFO:sizeof[8] > as I'd expect. > > Well, actually I know one answer: the square brackets are a problematic > character, and depend on the codepage. I haven't really looked at the code > otherwise; since -fascii exists, it would seem to me to be the simpler fix. > To get it to work, I added: > >IF(ZOS) > SET(MACRO_CHECK_TYPE_SIZE_FLAGS > "${MACRO_CHECK_TYPE_SIZE_FLAGS} -fasciiout") >ENDIF(ZOS) Try that in your toolchain file: SET(CMAKE_C_COMPILERc:/progra~1/dignus/cc.bat -fasciiout) SET(CMAKE_CXX_COMPILER c:/progra~1/dignus/cxx.bat -fasciiout) Modules/CMakeDetermineC[XX]Compiler.cmake checks whether there is an additional argument given and this should be used then, at least for the first test where it tries to build a basic executable. Alex ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
I'm not sure, but when I look at the -fascii-ized version of CheckTypeSizeC.o using my text editor on Windows, I find: INFO:sizeof[8] as I'd expect. Well, actually I know one answer: the square brackets are a problematic character, and depend on the codepage. I haven't really looked at the code otherwise; since -fascii exists, it would seem to me to be the simpler fix. To get it to work, I added: IF(ZOS) SET(MACRO_CHECK_TYPE_SIZE_FLAGS "${MACRO_CHECK_TYPE_SIZE_FLAGS} -fasciiout") ENDIF(ZOS) around line 60 of CheckTypeSize.cmake. Admittedly this is only going to work with Dignus; OTOH, any *other* z/OS cross-compiler will need some other magic, plus it's Really Unlikely that anyone else is going to create such a cross-compiler, so it "feels" safe(ish). Or I suppose a z/OS-specific variable containing special options could exist, defaulting to -fascii. ...phsiii -Original Message- From: Alexander Neundorf [mailto:[EMAIL PROTECTED] Sent: Monday, August 04, 2008 5:50 PM To: cmake@cmake.org Cc: Phil Smith Subject: Re: [CMake] FW: cmake newbie questions On Friday 01 August 2008, Phil Smith wrote: > Sure, here are two files: > ctsc.fascii -- CheckTypeSizeC.c compiled with the Dignus -fascii option > ctsc.nofascii -- CheckTypeSizeC.c compiled without the Dignus -fascii > option The file indeed looks different than all object files I have ever seen. I tried to "translate" it using the encoding given here: http://en.wikipedia.org/wiki/EBCDIC but that doesn't seem to work. I get "info_sizeof" instead of "INFO:sizeof" (note the casing the colon which became an underscore). Why does that happen ? And according to that table '0' is 0xF0, and the other digits follow. So why doesn't '0' + (SIZE% 10) work to get the correct digit ? And why are the square brackets missing completely ? Alex ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
On Friday 01 August 2008, Phil Smith wrote: > >Did you set the CMAKE_EXECUTABLE_SUFFIX appropriately for z/OS ? > > If by 'executable' you mean 'linked object', i.e., a .EXE if this was > Windows, then I *think* I have: in zosport.cmake is: > > SET(CMAKE_LINKER "linkit.bat") > SET(CMAKE_EXECUTABLE_SUFFIX "OUT") > > However, my linkit.bat starts with: > > @echo Running linkit.bat: %1 %2 %3 %4 %5 %6 %7 %8 %9 >> \temp\ll.txt > > and that file doesn't get created. So, it appears to me that there's no > CMAKE_LINKER being called. > > Obviously I'm missing something(s) here... Do you set CMAKE_CXX_LINK_EXECUTABLE and CMAKE_C_LINK_EXECUTABLE ? Alex ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
On Friday 01 August 2008, Phil Smith wrote: > Sure, here are two files: > ctsc.fascii -- CheckTypeSizeC.c compiled with the Dignus -fascii option > ctsc.nofascii -- CheckTypeSizeC.c compiled without the Dignus -fascii > option The file indeed looks different than all object files I have ever seen. I tried to "translate" it using the encoding given here: http://en.wikipedia.org/wiki/EBCDIC but that doesn't seem to work. I get "info_sizeof" instead of "INFO:sizeof" (note the casing the colon which became an underscore). Why does that happen ? And according to that table '0' is 0xF0, and the other digits follow. So why doesn't '0' + (SIZE% 10) work to get the correct digit ? And why are the square brackets missing completely ? Alex ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
I seem to have cmake working with the Dignus cross-compiler for z/OS. Not 100% sure yet; a colleague is attempting to replicate my success on his machine. But I wanted Bill and Alexander (especially) to know, since it's due to their kind assistance that I've gotten this far. If/when I confirm, I'll post my documentation on how I made it work. Then you can all laugh at me (or continue laughing, perhaps). :-) ...phsiii -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Phil Smith Sent: Thursday, July 31, 2008 7:40 PM To: [EMAIL PROTECTED] Cc: cmake@cmake.org Subject: Re: [CMake] FW: cmake newbie questions ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
>Did you set the CMAKE_EXECUTABLE_SUFFIX appropriately for z/OS ? If by 'executable' you mean 'linked object', i.e., a .EXE if this was Windows, then I *think* I have: in zosport.cmake is: SET(CMAKE_LINKER "linkit.bat") SET(CMAKE_EXECUTABLE_SUFFIX "OUT") However, my linkit.bat starts with: @echo Running linkit.bat: %1 %2 %3 %4 %5 %6 %7 %8 %9 >> \temp\ll.txt and that file doesn't get created. So, it appears to me that there's no CMAKE_LINKER being called. Obviously I'm missing something(s) here... ...phsiii ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
Sure, here are two files: ctsc.fascii -- CheckTypeSizeC.c compiled with the Dignus -fascii option ctsc.nofascii -- CheckTypeSizeC.c compiled without the Dignus -fascii option So TRY_COMPILE not only compiles, but linkedits? That wasn't at all intuitive. -Original Message- From: Alexander Neundorf [mailto:[EMAIL PROTECTED] Sent: Thursday, July 31, 2008 1:49 PM To: Phil Smith Cc: cmake@cmake.org Subject: Re: [CMake] FW: cmake newbie questions On Thursday 31 July 2008, Phil Smith wrote: > There are executables with z/OS, but they're linkedited and certainly won't > run on Windows *at all*. > > Since I've never had to understand the format of an object file on Windows, > I'm not sure how to answer the second question. Here's a screenshot of > what the CheckTypeSizeC object file looks like after it's been transferred > to an EBCDIC system (unprintable characters rendered as blanks): > > XSD ;@CRT0 > 0001 XSD [EMAIL PROTECTED] > 0002 XSD ^@checkty > 0003 XSDmain > 0004 XSD ^info_sizeof > 0005 TXT ;mainDCCî Ç > 0006 TXT°Ö} ì\} ì{} ì^{ \\Çí\{ å ^ > °ó K õì0{ åØ{ 0 å0{ 0007 TXT ø ^ 0 P } } ì}} ì{} ì^{ > í{^ ì\} q } þ&0} & } ì0} ì00 0008 TXT yå00 > 0009 TXT ^ñ+ã| ËÑ:Á?Ã$ > ) 0010 RLD > ø0011 END >1DASM018005082130012 I'd still be interested in the original file. Can you please send it to me ? > Note that the "info_sizeof" in this case isn't even followed by a legible > length, because the rest of the eyecatcher was still generated in ASCII. > But if I force the -fasciiout flag, I see the "info_sizeof[8]" in the > object. > > Hmm, I hacked CheckTypeSize.cmake to force the -fasciiout flag, and > verified that it's passing it, but it still fails the same way. The error > is a bit funky: > > file STRINGS file "C:/Documents and > Settings/Voltage/svn/Toolkit/trunk/vtk-core/CMakeFiles/CheckTypeSize.bin" > cannot be read. > > It isn't at all clear to me where a ".bin" file would come from. I'd expect > a .o or something? What does this error really mean? I can't seem to find > anything on it. That's the code from CheckTypeSize.cmake: TRY_COMPILE(HAVE_${VARIABLE} ${CMAKE_BINARY_DIR} "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckTypeSizeC.c" COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_TYPE_SIZE_FLAGS} "${CHECK_TYPE_SIZE_ADD_LIBRARIES}" "${CHECK_TYPE_SIZE_ADD_INCLUDES}" OUTPUT_VARIABLE OUTPUT COPY_FILE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CheckTypeSize.bin" ) This means TRY_COMPILE() copies the executable (well, the file which would be an executable on other systems) to the file CheckTypeSize.bin and then (tries to) extract the strings from it: IF(HAVE_${VARIABLE}) FILE(STRINGS "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CheckTypeSize.bin" CMAKE_CHECKTYPESIZE_STRINGS LIMIT_COUNT 2 REGEX "INFO:sizeof") This command e.g. also recognizes if the file is an Intel hex file and handles it accordingly. Did you set the CMAKE_EXECUTABLE_SUFFIX appropriately for z/OS ? Alex ctsc.fascii Description: ctsc.fascii ctsc.nofascii Description: ctsc.nofascii ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
On Thursday 31 July 2008, Phil Smith wrote: > There are executables with z/OS, but they're linkedited and certainly won't > run on Windows *at all*. > > Since I've never had to understand the format of an object file on Windows, > I'm not sure how to answer the second question. Here's a screenshot of > what the CheckTypeSizeC object file looks like after it's been transferred > to an EBCDIC system (unprintable characters rendered as blanks): > > XSD ;@CRT0 > 0001 XSD [EMAIL PROTECTED] > > 0002 XSD ^@checkty > 0003 XSDmain > 0004 XSD ^info_sizeof > 0005 TXT ;mainDCCî Ç > 0006 TXT°Ö} ì\} ì{} ì^{ \\Çí\{ å ^ > °ó K õì0{ åØ{ 0 å0{ 0007 TXT ø ^ 0 P } } ì}} ì{} ì^{ > í{^ ì\} q } þ&0} & } ì0} ì00 0008 TXT yå00 > 0009 TXT ^ñ+ã| ËÑ:Á?Ã$ > ) 0010 RLD > ø0011 END >1DASM018005082130012 I'd still be interested in the original file. Can you please send it to me ? > Note that the "info_sizeof" in this case isn't even followed by a legible > length, because the rest of the eyecatcher was still generated in ASCII. > But if I force the -fasciiout flag, I see the "info_sizeof[8]" in the > object. > > Hmm, I hacked CheckTypeSize.cmake to force the -fasciiout flag, and > verified that it's passing it, but it still fails the same way. The error > is a bit funky: > > file STRINGS file "C:/Documents and > Settings/Voltage/svn/Toolkit/trunk/vtk-core/CMakeFiles/CheckTypeSize.bin" > cannot be read. > > It isn't at all clear to me where a ".bin" file would come from. I'd expect > a .o or something? What does this error really mean? I can't seem to find > anything on it. That's the code from CheckTypeSize.cmake: TRY_COMPILE(HAVE_${VARIABLE} ${CMAKE_BINARY_DIR} "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckTypeSizeC.c" COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_TYPE_SIZE_FLAGS} "${CHECK_TYPE_SIZE_ADD_LIBRARIES}" "${CHECK_TYPE_SIZE_ADD_INCLUDES}" OUTPUT_VARIABLE OUTPUT COPY_FILE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CheckTypeSize.bin" ) This means TRY_COMPILE() copies the executable (well, the file which would be an executable on other systems) to the file CheckTypeSize.bin and then (tries to) extract the strings from it: IF(HAVE_${VARIABLE}) FILE(STRINGS "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CheckTypeSize.bin" CMAKE_CHECKTYPESIZE_STRINGS LIMIT_COUNT 2 REGEX "INFO:sizeof") This command e.g. also recognizes if the file is an Intel hex file and handles it accordingly. Did you set the CMAKE_EXECUTABLE_SUFFIX appropriately for z/OS ? Alex ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
There are executables with z/OS, but they're linkedited and certainly won't run on Windows *at all*. Since I've never had to understand the format of an object file on Windows, I'm not sure how to answer the second question. Here's a screenshot of what the CheckTypeSizeC object file looks like after it's been transferred to an EBCDIC system (unprintable characters rendered as blanks): XSD ;@CRT0 0001 XSD [EMAIL PROTECTED] 0002 XSD ^@checkty0003 XSDmain0004 XSD ^info_sizeof 0005 TXT ;mainDCCî Ç0006 TXT°Ö} ì\} ì{} ì^{ \\Çí\{ å ^ °ó K õì0{ åØ{ 0 å0{ 0007 TXT ø ^ 0 P } } ì}} ì{} ì^{ í{^ ì\} q } þ&0} & } ì0} ì00 0008 TXT yå00 0009 TXT ^ñ+ã| ËÑ:Á?Ã$ ) 0010 RLD ø0011 END1DASM018005082130012 Note that the "info_sizeof" in this case isn't even followed by a legible length, because the rest of the eyecatcher was still generated in ASCII. But if I force the -fasciiout flag, I see the "info_sizeof[8]" in the object. Hmm, I hacked CheckTypeSize.cmake to force the -fasciiout flag, and verified that it's passing it, but it still fails the same way. The error is a bit funky: file STRINGS file "C:/Documents and Settings/Voltage/svn/Toolkit/trunk/vtk-core/CMakeFiles/CheckTypeSize.bin" cannot be read. It isn't at all clear to me where a ".bin" file would come from. I'd expect a .o or something? What does this error really mean? I can't seem to find anything on it. ...phsiii -Original Message- From: Alexander Neundorf [mailto:[EMAIL PROTECTED] Sent: Thursday, July 31, 2008 12:40 PM To: Phil Smith Cc: cmake@cmake.org Subject: Re: [CMake] FW: cmake newbie questions On Thursday 31 July 2008, Phil Smith wrote: > When you say "the executable", I assume you mean the object code? Note > that this is being compiled for a System z mainframe, so the object won't > look much like anything you've seen before. I can send it, but is that > going to help? I can't tell without having it seen. So, are there no "executables" with z/OS ? In which way does the object file look different than anything I've ever seen ? Is it easy to detect that the file is EBCDIC ? Then we could add the detection to cmake, then it would just work (this is already done e.g. for Intel hex files). Alex ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
On Thursday 31 July 2008, Phil Smith wrote: > When you say "the executable", I assume you mean the object code? Note > that this is being compiled for a System z mainframe, so the object won't > look much like anything you've seen before. I can send it, but is that > going to help? I can't tell without having it seen. So, are there no "executables" with z/OS ? In which way does the object file look different than anything I've ever seen ? Is it easy to detect that the file is EBCDIC ? Then we could add the detection to cmake, then it would just work (this is already done e.g. for Intel hex files). Alex ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
And of course, as soon as I sent that, I realized the __SYSC__ not being recognized is ALSO due to the ASCII/EBCDIC issue. So I'd say that if there's a good way to tell cmake "For all your try_compiles, use this flag", it should be A Good Thing. ...phsiii -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Phil Smith Sent: Thursday, July 31, 2008 11:24 AM To: [EMAIL PROTECTED]; cmake@cmake.org Subject: Re: [CMake] FW: cmake newbie questions When you say "the executable", I assume you mean the object code? Note that this is being compiled for a System z mainframe, so the object won't look much like anything you've seen before. I can send it, but is that going to help? I now understand the second problem. The issue is that System z is an EBCDIC machine, so the literal generated by the C compile is, by default, EBCDIC. So the regexp looking for "INFO:sizeof" doesn't find it. Fortunately, the compiler has an option, -fasciiout, that forces such literals to ASCII. I've confirmed this by manually compiling the CheckTypeSizeC.c file. So: how do I tell cmake that *just for the configuration part*, it needs to add this option to the things it compiles? (Or maybe just in ChecktypeSizeC.cmake?) ...phsiii -Original Message- From: Alexander Neundorf [mailto:[EMAIL PROTECTED] Sent: Wednesday, July 30, 2008 1:48 PM To: cmake@cmake.org Cc: Phil Smith Subject: Re: [CMake] FW: cmake newbie questions On Wednesday 30 July 2008, Phil Smith wrote: > But then it complains that there's no CMakeLists.txt in the directory. > Anyway, I wasn't clear: the same person isn't likely to be doing z/OS and > Windows on the same machine. But since the same CMakeLists.txt is to be > used, I didn't want to hard-code anything in there. I've changed to -G -- > somehow I missed that before (I did look, honest!). > > The Dignus C compiler defines __SYSC__ to 1, so I added: > > #elif defined(__SYSC__) > # define COMPILER_ID "Dignus" > > to CMakeCCompilerId.c.in, but it made no difference. It should. It has also to be done in CMakeCXXCompilerId.cpp.in. Please try to compiler the file CMakeCCompilerId.c.in manually (and edit it before that appropriately, I think you can just remove the last line with the CMAKE_C_COMPILER_ID_PLATFORM_CONTENT. If it builds, please send me the executable. Alex > So I added: > > INCLUDE (CMakeForceCompiler) > CMAKE_FORCE_C_COMPILER (cc.bat Dignus) > CMAKE_FORCE_CXX_COMPILER (cxx.bat Dignus) > > to my toolchain file, and that fixes both the whines about the C compiler > ID and the copy errors (I'm sure of this because if I comment those 3 lines > out again, both the whines and the copy errors are back). > > I then looked at the various platform files, and concluded that at this > point, all I knew to try was: > > INCLUDE(Platform/UnixPaths) > (in ZOS.cmake). > > With those changes, it looks like it's working: > > -- > del CMakeCache.txt > zcmake > -- Looking for sys/types.h > -- Looking for sys/types.h - not found > -- Looking for stdint.h > -- Looking for stdint.h - not found > -- Looking for stddef.h > -- Looking for stddef.h - not found > -- Check size of unsigned long long > -- Check size of unsigned long long - failed > -- Check size of unsigned long > -- Check size of unsigned long - failed > -- Check size of unsigned int > -- Check size of unsigned int - failed > -- Check size of unsigned short > -- Check size of unsigned short - failed > -- Check size of long long > -- Check size of long long - failed > -- Configuring done > -- Generating done > -- Build files have been written to: C:/Documents and > Settings/Voltage/svn/Toolkit/trunk/vtk-core -- > > Now, I'm sort of inclined to declare victory for now. But should I? No, not really. I suspect they are all the same error. CMake tries to find a string in the created executable, and I'd say it just doesn't find it (in all cases). What format do these executables have ? Alex ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
When you say "the executable", I assume you mean the object code? Note that this is being compiled for a System z mainframe, so the object won't look much like anything you've seen before. I can send it, but is that going to help? I now understand the second problem. The issue is that System z is an EBCDIC machine, so the literal generated by the C compile is, by default, EBCDIC. So the regexp looking for "INFO:sizeof" doesn't find it. Fortunately, the compiler has an option, -fasciiout, that forces such literals to ASCII. I've confirmed this by manually compiling the CheckTypeSizeC.c file. So: how do I tell cmake that *just for the configuration part*, it needs to add this option to the things it compiles? (Or maybe just in ChecktypeSizeC.cmake?) ...phsiii -Original Message- From: Alexander Neundorf [mailto:[EMAIL PROTECTED] Sent: Wednesday, July 30, 2008 1:48 PM To: cmake@cmake.org Cc: Phil Smith Subject: Re: [CMake] FW: cmake newbie questions On Wednesday 30 July 2008, Phil Smith wrote: > But then it complains that there's no CMakeLists.txt in the directory. > Anyway, I wasn't clear: the same person isn't likely to be doing z/OS and > Windows on the same machine. But since the same CMakeLists.txt is to be > used, I didn't want to hard-code anything in there. I've changed to -G -- > somehow I missed that before (I did look, honest!). > > The Dignus C compiler defines __SYSC__ to 1, so I added: > > #elif defined(__SYSC__) > # define COMPILER_ID "Dignus" > > to CMakeCCompilerId.c.in, but it made no difference. It should. It has also to be done in CMakeCXXCompilerId.cpp.in. Please try to compiler the file CMakeCCompilerId.c.in manually (and edit it before that appropriately, I think you can just remove the last line with the CMAKE_C_COMPILER_ID_PLATFORM_CONTENT. If it builds, please send me the executable. Alex > So I added: > > INCLUDE (CMakeForceCompiler) > CMAKE_FORCE_C_COMPILER (cc.bat Dignus) > CMAKE_FORCE_CXX_COMPILER (cxx.bat Dignus) > > to my toolchain file, and that fixes both the whines about the C compiler > ID and the copy errors (I'm sure of this because if I comment those 3 lines > out again, both the whines and the copy errors are back). > > I then looked at the various platform files, and concluded that at this > point, all I knew to try was: > > INCLUDE(Platform/UnixPaths) > (in ZOS.cmake). > > With those changes, it looks like it's working: > > -- > del CMakeCache.txt > zcmake > -- Looking for sys/types.h > -- Looking for sys/types.h - not found > -- Looking for stdint.h > -- Looking for stdint.h - not found > -- Looking for stddef.h > -- Looking for stddef.h - not found > -- Check size of unsigned long long > -- Check size of unsigned long long - failed > -- Check size of unsigned long > -- Check size of unsigned long - failed > -- Check size of unsigned int > -- Check size of unsigned int - failed > -- Check size of unsigned short > -- Check size of unsigned short - failed > -- Check size of long long > -- Check size of long long - failed > -- Configuring done > -- Generating done > -- Build files have been written to: C:/Documents and > Settings/Voltage/svn/Toolkit/trunk/vtk-core -- > > Now, I'm sort of inclined to declare victory for now. But should I? No, not really. I suspect they are all the same error. CMake tries to find a string in the created executable, and I'd say it just doesn't find it (in all cases). What format do these executables have ? Alex ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
On Wednesday 30 July 2008, Phil Smith wrote: > But then it complains that there's no CMakeLists.txt in the directory. > Anyway, I wasn't clear: the same person isn't likely to be doing z/OS and > Windows on the same machine. But since the same CMakeLists.txt is to be > used, I didn't want to hard-code anything in there. I've changed to -G -- > somehow I missed that before (I did look, honest!). > > The Dignus C compiler defines __SYSC__ to 1, so I added: > > #elif defined(__SYSC__) > # define COMPILER_ID "Dignus" > > to CMakeCCompilerId.c.in, but it made no difference. It should. It has also to be done in CMakeCXXCompilerId.cpp.in. Please try to compiler the file CMakeCCompilerId.c.in manually (and edit it before that appropriately, I think you can just remove the last line with the CMAKE_C_COMPILER_ID_PLATFORM_CONTENT. If it builds, please send me the executable. Alex > So I added: > > INCLUDE (CMakeForceCompiler) > CMAKE_FORCE_C_COMPILER (cc.bat Dignus) > CMAKE_FORCE_CXX_COMPILER (cxx.bat Dignus) > > to my toolchain file, and that fixes both the whines about the C compiler > ID and the copy errors (I'm sure of this because if I comment those 3 lines > out again, both the whines and the copy errors are back). > > I then looked at the various platform files, and concluded that at this > point, all I knew to try was: > > INCLUDE(Platform/UnixPaths) > (in ZOS.cmake). > > With those changes, it looks like it's working: > > -- > del CMakeCache.txt > zcmake > -- Looking for sys/types.h > -- Looking for sys/types.h - not found > -- Looking for stdint.h > -- Looking for stdint.h - not found > -- Looking for stddef.h > -- Looking for stddef.h - not found > -- Check size of unsigned long long > -- Check size of unsigned long long - failed > -- Check size of unsigned long > -- Check size of unsigned long - failed > -- Check size of unsigned int > -- Check size of unsigned int - failed > -- Check size of unsigned short > -- Check size of unsigned short - failed > -- Check size of long long > -- Check size of long long - failed > -- Configuring done > -- Generating done > -- Build files have been written to: C:/Documents and > Settings/Voltage/svn/Toolkit/trunk/vtk-core -- > > Now, I'm sort of inclined to declare victory for now. But should I? No, not really. I suspect they are all the same error. CMake tries to find a string in the created executable, and I'd say it just doesn't find it (in all cases). What format do these executables have ? Alex ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
I found cmakeerror.log, which helped me get past the FAILED errors. But now I'm back to the "Could not COPY FILE" errors: -- zcmake.bat -- Looking for sys/types.h -- Looking for sys/types.h - found -- Looking for stdint.h -- Looking for stdint.h - found -- Looking for stddef.h -- Looking for stddef.h - not found -- Check size of unsigned long long CMake Error: Could not COPY_FILE CMake Error at C:/Program Files/CMake 2.6/share/cmake-2.6/Modules/CheckTypeSize.cmake:77 (FILE): file STRINGS file "C:/Documents and Settings/Voltage/svn/Toolkit/trunk/vtk-core/CMakeFiles/CheckTypeSize.bin" cannot be read. Call Stack (most recent call first): CMakeLists.txt:118 (check_type_size) -- Check size of unsigned long long - done -- Check size of unsigned long CMake Error: Could not COPY_FILE CMake Error at C:/Program Files/CMake 2.6/share/cmake-2.6/Modules/CheckTypeSize.cmake:77 (FILE): file STRINGS file "C:/Documents and Settings/Voltage/svn/Toolkit/trunk/vtk-core/CMakeFiles/CheckTypeSize.bin" cannot be read. Call Stack (most recent call first): CMakeLists.txt:119 (check_type_size) -- Check size of unsigned long - done -- Check size of unsigned int CMake Error: Could not COPY_FILE CMake Error at C:/Program Files/CMake 2.6/share/cmake-2.6/Modules/CheckTypeSize.cmake:77 (FILE): file STRINGS file "C:/Documents and Settings/Voltage/svn/Toolkit/trunk/vtk-core/CMakeFiles/CheckTypeSize.bin" cannot be read. Call Stack (most recent call first): CMakeLists.txt:120 (check_type_size) -- Check size of unsigned int - done -- Check size of unsigned short CMake Error: Could not COPY_FILE CMake Error at C:/Program Files/CMake 2.6/share/cmake-2.6/Modules/CheckTypeSize.cmake:77 (FILE): file STRINGS file "C:/Documents and Settings/Voltage/svn/Toolkit/trunk/vtk-core/CMakeFiles/CheckTypeSize.bin" cannot be read. Call Stack (most recent call first): CMakeLists.txt:121 (check_type_size) -- Check size of unsigned short - done -- Check size of long long CMake Error: Could not COPY_FILE CMake Error at C:/Program Files/CMake 2.6/share/cmake-2.6/Modules/CheckTypeSize.cmake:77 (FILE): file STRINGS file "C:/Documents and Settings/Voltage/svn/Toolkit/trunk/vtk-core/CMakeFiles/CheckTypeSize.bin" cannot be read. Call Stack (most recent call first): CMakeLists.txt:122 (check_type_size) -- Check size of long long - done -- Configuring done -- And I have NO clue that those mean. ...phsiii (fumbling towards (?) ecstasy...) -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Phil Smith Sent: Wednesday, July 30, 2008 3:02 PM To: Bill Hoffman Cc: Cmake Mailing List Subject: Re: [CMake] FW: cmake newbie questions >Failing on check size of is not a good thing, and I would track that >down if I were you... Any clues how to do that? I see this in CMakeCache.txt: HAVE_SIZEOF_LONG_LONG:INTERNAL=FALSE HAVE_SIZEOF_UNSIGNED_INT:INTERNAL=FALSE HAVE_SIZEOF_UNSIGNED_LONG:INTERNAL=FALSE HAVE_SIZEOF_UNSIGNED_LONG_LONG:INTERNAL=FALSE HAVE_SIZEOF_UNSIGNED_SHORT:INTERNAL=FALSE //Result of CHECK_TYPE_SIZE SIZEOF_LONG_LONG:INTERNAL= //Result of CHECK_TYPE_SIZE SIZEOF_UNSIGNED_INT:INTERNAL= //Result of CHECK_TYPE_SIZE SIZEOF_UNSIGNED_LONG:INTERNAL= //Result of CHECK_TYPE_SIZE SIZEOF_UNSIGNED_LONG_LONG:INTERNAL= //Result of CHECK_TYPE_SIZE SIZEOF_UNSIGNED_SHORT:INTERNAL= ...but that's about it. -Original Message- From: Bill Hoffman [mailto:[EMAIL PROTECTED] Sent: Wednesday, July 30, 2008 2:04 PM To: Phil Smith Cc: Cmake Mailing List Subject: Re: [CMake] FW: cmake newbie questions Phil Smith wrote: > But then it complains that there's no CMakeLists.txt in the > directory. Anyway, I wasn't clear: the same person isn't likely to be doing z/OS and Windows on the same machine. But since the same CMakeLists.txt is to be used, I didn't want to hard-code anything in there. I've changed to -G -- somehow I missed that before (I did look, honest!). > You really want out of source builds. You have to give the path to the source tree. First make sure the source tree you are working on has not had cmake run on it (no CMakeCache.txt, or other generated files). Then, you do this: cmake -G"Unix Makefiles" ../path/to/your/source Note, the ../path/to/your/source. That is important. > > Now, I'm sort of inclined to declare victory for now. But should I? Are those "failed" messages significant? I was brought up not to ignore errors without understanding them! Failing on check size of is not a good thing, and I would track that down if I were you... -Bill ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
>Failing on check size of is not a good thing, and I would track that >down if I were you... Any clues how to do that? I see this in CMakeCache.txt: HAVE_SIZEOF_LONG_LONG:INTERNAL=FALSE HAVE_SIZEOF_UNSIGNED_INT:INTERNAL=FALSE HAVE_SIZEOF_UNSIGNED_LONG:INTERNAL=FALSE HAVE_SIZEOF_UNSIGNED_LONG_LONG:INTERNAL=FALSE HAVE_SIZEOF_UNSIGNED_SHORT:INTERNAL=FALSE //Result of CHECK_TYPE_SIZE SIZEOF_LONG_LONG:INTERNAL= //Result of CHECK_TYPE_SIZE SIZEOF_UNSIGNED_INT:INTERNAL= //Result of CHECK_TYPE_SIZE SIZEOF_UNSIGNED_LONG:INTERNAL= //Result of CHECK_TYPE_SIZE SIZEOF_UNSIGNED_LONG_LONG:INTERNAL= //Result of CHECK_TYPE_SIZE SIZEOF_UNSIGNED_SHORT:INTERNAL= ...but that's about it. -Original Message- From: Bill Hoffman [mailto:[EMAIL PROTECTED] Sent: Wednesday, July 30, 2008 2:04 PM To: Phil Smith Cc: Cmake Mailing List Subject: Re: [CMake] FW: cmake newbie questions Phil Smith wrote: > But then it complains that there's no CMakeLists.txt in the > directory. Anyway, I wasn't clear: the same person isn't likely to be doing z/OS and Windows on the same machine. But since the same CMakeLists.txt is to be used, I didn't want to hard-code anything in there. I've changed to -G -- somehow I missed that before (I did look, honest!). > You really want out of source builds. You have to give the path to the source tree. First make sure the source tree you are working on has not had cmake run on it (no CMakeCache.txt, or other generated files). Then, you do this: cmake -G"Unix Makefiles" ../path/to/your/source Note, the ../path/to/your/source. That is important. > > Now, I'm sort of inclined to declare victory for now. But should I? Are those "failed" messages significant? I was brought up not to ignore errors without understanding them! Failing on check size of is not a good thing, and I would track that down if I were you... -Bill ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
Phil Smith wrote: But then it complains that there's no CMakeLists.txt in the directory. Anyway, I wasn't clear: the same person isn't likely to be doing z/OS and Windows on the same machine. But since the same CMakeLists.txt is to be used, I didn't want to hard-code anything in there. I've changed to -G -- somehow I missed that before (I did look, honest!). You really want out of source builds. You have to give the path to the source tree. First make sure the source tree you are working on has not had cmake run on it (no CMakeCache.txt, or other generated files). Then, you do this: cmake -G"Unix Makefiles" ../path/to/your/source Note, the ../path/to/your/source. That is important. Now, I'm sort of inclined to declare victory for now. But should I? Are those "failed" messages significant? I was brought up not to ignore errors without understanding them! Failing on check size of is not a good thing, and I would track that down if I were you... -Bill ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
But then it complains that there's no CMakeLists.txt in the directory. Anyway, I wasn't clear: the same person isn't likely to be doing z/OS and Windows on the same machine. But since the same CMakeLists.txt is to be used, I didn't want to hard-code anything in there. I've changed to -G -- somehow I missed that before (I did look, honest!). The Dignus C compiler defines __SYSC__ to 1, so I added: #elif defined(__SYSC__) # define COMPILER_ID "Dignus" to CMakeCCompilerId.c.in, but it made no difference. So I added: INCLUDE (CMakeForceCompiler) CMAKE_FORCE_C_COMPILER (cc.bat Dignus) CMAKE_FORCE_CXX_COMPILER (cxx.bat Dignus) to my toolchain file, and that fixes both the whines about the C compiler ID and the copy errors (I'm sure of this because if I comment those 3 lines out again, both the whines and the copy errors are back). I then looked at the various platform files, and concluded that at this point, all I knew to try was: INCLUDE(Platform/UnixPaths) (in ZOS.cmake). With those changes, it looks like it's working: -- del CMakeCache.txt zcmake -- Looking for sys/types.h -- Looking for sys/types.h - not found -- Looking for stdint.h -- Looking for stdint.h - not found -- Looking for stddef.h -- Looking for stddef.h - not found -- Check size of unsigned long long -- Check size of unsigned long long - failed -- Check size of unsigned long -- Check size of unsigned long - failed -- Check size of unsigned int -- Check size of unsigned int - failed -- Check size of unsigned short -- Check size of unsigned short - failed -- Check size of long long -- Check size of long long - failed -- Configuring done -- Generating done -- Build files have been written to: C:/Documents and Settings/Voltage/svn/Toolkit/trunk/vtk-core -- Now, I'm sort of inclined to declare victory for now. But should I? Are those "failed" messages significant? I was brought up not to ignore errors without understanding them! -Original Message- From: Bill Hoffman [mailto:[EMAIL PROTECTED] Sent: Wednesday, July 30, 2008 12:15 PM To: Phil Smith Cc: Bill Hoffman; Cmake Mailing List Subject: Re: [CMake] FW: cmake newbie questions Phil Smith wrote: >OK, next issue. I'm following (or trying to) the cross-compiler page. Since the same source tree is to be used to generate Win32 and z/OS, I think I want to tell it "This is a z/OS run" using a flag. I thus created zcmake.bat: > > cmake -DCMAKE_TOOLCHAIN_FILE:string="zos.cmake" -DCMAKE_GENERATOR:internal="Unix Makefiles" > > The reason for the second -D is because otherwise it seemed to assume > Visual Studio no matter what. And since Visual Studio *is* correct when building Win32, I don't want to change the CMakeLists.txt. You should be using out of source builds. mkdir win32 cd win32 cmake -DCMAKE_TOOLCHAIN_FILE:string="../myproject/win32.cmake" -G"Unix Makefiles" make cd .. mkdir zOS cd zOS cmake -DCMAKE_TOOLCHAIN_FILE:string="../myproject/zos.cmake" -G"Unix Makefiles" make -Bill ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
Phil Smith wrote: OK, next issue. I'm following (or trying to) the cross-compiler page. Since the same source tree is to be used to generate Win32 and z/OS, I think I want to tell it "This is a z/OS run" using a flag. I thus created zcmake.bat: cmake -DCMAKE_TOOLCHAIN_FILE:string="zos.cmake" -DCMAKE_GENERATOR:internal="Unix Makefiles" The reason for the second -D is because otherwise it seemed to assume Visual Studio no matter what. And since Visual Studio *is* correct when building Win32, I don't want to change the CMakeLists.txt. You should be using out of source builds. mkdir win32 cd win32 cmake -DCMAKE_TOOLCHAIN_FILE:string="../myproject/win32.cmake" -G"Unix Makefiles" make cd .. mkdir zOS cd zOS cmake -DCMAKE_TOOLCHAIN_FILE:string="../myproject/zos.cmake" -G"Unix Makefiles" make -Bill ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
Hi Phil, On Wednesday 30 July 2008, Phil Smith wrote: ... > 2) The messages: > -- The C compiler identification is unknown > -- The CXX compiler identification is unknown >...seem to be generated because CMakeCXXCompilerId.cpp.in doesn't know > about Dignus. Is there a nice way to override that? I guess I *could* just > document that "you'll get this message"... Yes, there is, see Modules/CMakeForceCompiler.cmake. But the better option is to make the compiler known to cmake. Please have a look at Modules/CMakeCCompilerId.c.in . Is there a similar test we can use for the Dignus compiler ? > 3) System is unknown to cmake, create: > Platform/ZOS to use this system, please send your config file to > [EMAIL PROTECTED] so it can be added to cmake The name of the operating system is now "ZOS", so CMake looks in Modules/Platform/ for a file ZOS.cmake and doesn't find it. So you have to create one. I don't know much about z/OS. E.g FreeBSD.cmake is very small, maybe you can start from that if it's more or less similar. Alex ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
r config file to [EMAIL PROTECTED] .org so it can be added to cmake CMake Error: Could not COPY_FILE CMake Error at C:/Program Files/CMake 2.6/share/cmake-2.6/Modules/CheckTypeSize. cmake:77 (FILE): file STRINGS file "C:/Documents and Settings/Voltage/svn/Toolkit/trunk/vtk-core/CMakeFiles/CheckTypeSize.bin" cannot be read. Call Stack (most recent call first): CMakeLists.txt:120 (check_type_size) -- Check size of unsigned int - done -- Check size of unsigned short System is unknown to cmake, create: Platform/ZOS to use this system, please send your config file to [EMAIL PROTECTED] .org so it can be added to cmake CMake Error: Could not COPY_FILE CMake Error at C:/Program Files/CMake 2.6/share/cmake-2.6/Modules/CheckTypeSize. cmake:77 (FILE): file STRINGS file "C:/Documents and Settings/Voltage/svn/Toolkit/trunk/vtk-core/CMakeFiles/CheckTypeSize.bin" cannot be read. Call Stack (most recent call first): CMakeLists.txt:121 (check_type_size) -- Check size of unsigned short - done -- Check size of long long System is unknown to cmake, create: Platform/ZOS to use this system, please send your config file to [EMAIL PROTECTED] .org so it can be added to cmake CMake Error: Could not COPY_FILE CMake Error at C:/Program Files/CMake 2.6/share/cmake-2.6/Modules/CheckTypeSize. cmake:77 (FILE): file STRINGS file "C:/Documents and Settings/Voltage/svn/Toolkit/trunk/vtk-core/CMakeFiles/CheckTypeSize.bin" cannot be read. Call Stack (most recent call first): CMakeLists.txt:122 (check_type_size) -- Check size of long long - done -- Configuring done - Three issues: 1) Obviously I'm back to having implicit paths, some of which get expanded to contain embedded blanks. I would like to understand how to overcome this, although one answer, of course, is to reinstall cmake in a directory that *doesn't* contain blanks. The various "CMAKE_x_PATH" variables that are documented aren't obviously the answer, which doesn't meant they aren't *actually* the answer. 2) The messages: -- The C compiler identification is unknown -- The CXX compiler identification is unknown ...seem to be generated because CMakeCXXCompilerId.cpp.in doesn't know about Dignus. Is there a nice way to override that? I guess I *could* just document that "you'll get this message"... 3) System is unknown to cmake, create: Platform/ZOS to use this system, please send your config file to [EMAIL PROTECTED] so it can be added to cmake I kind of grok this in principle, but "create Platform/ZOS" doesn't mean anything to me, and I don't see it in the Wiki, the book, or Googling for what seem like the plausible strings. Here's the especially interesting bit: after all that complaining, if I rerun zcmake, I get: - System is unknown to cmake, create: Platform/ZOS to use this system, please send your config file to [EMAIL PROTECTED] .org so it can be added to cmake You CMakeCache.txt file was copied to CopyOfCMakeCache.txt. Please send that fil e to [EMAIL PROTECTED] -- Configuring done -- Generating done -- Build files have been written to: C:/Documents and Settings/Voltage/svn/Toolk it/trunk/vtk-core - That *looks* like it worked?!?! ...phsiii (two forward, one back) -Original Message- From: Bill Hoffman [mailto:[EMAIL PROTECTED] Sent: Wednesday, July 30, 2008 10:25 AM To: Mike Jackson Cc: Phil Smith; Cmake Mailing List Subject: Re: [CMake] FW: cmake newbie questions Mike Jackson wrote: > You are going to have to look through the CMake files and determine > where the "TEST_BIG_ENDIAN(variable)" is located. Then you will need to > put in some sort of conditional statement that says if you are compiling > for z/OS then set "variable" to "true". > > This really sounds like a cross compiler. In which case you should look here: http://www.cmake.org/Wiki/CMake_Cross_Compiling -Bill ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
On Wednesday 30 July 2008, Mike Jackson wrote: > What is actually going on is that CMake is actually compiling and > _running_ a small application to determine what endian type the > machine is. I am guessing that the z/OS executable will not actually > _run_ on your host system so it will give an error. This was the case for cmake <= 2.4, but is not the case anymore for 2.6 and above. A small executable is built and the byte order of a special string inside it is checked. Please have a look at Modules/TestEndianess.c.in to see how it works. If you don't find the problem, please send the created binary directly to me. Alex ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
It is, and I found my way there, and I got it to work hard-coded; now I'm trying to do it "right" using the cross-compiler support. And I'll document it, and put it on the Wiki (and provide it to the Dignus folks, who have asked for it already). I doubt that I've reached the end of my questions, but in any case, thanks 10**6 for all the help so far! ...phsiii -Original Message- From: Bill Hoffman [mailto:[EMAIL PROTECTED] Sent: Wednesday, July 30, 2008 10:25 AM To: Mike Jackson Cc: Phil Smith; Cmake Mailing List Subject: Re: [CMake] FW: cmake newbie questions Mike Jackson wrote: > You are going to have to look through the CMake files and determine > where the "TEST_BIG_ENDIAN(variable)" is located. Then you will need to > put in some sort of conditional statement that says if you are compiling > for z/OS then set "variable" to "true". > > This really sounds like a cross compiler. In which case you should look here: http://www.cmake.org/Wiki/CMake_Cross_Compiling -Bill ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
Mike Jackson wrote: You are going to have to look through the CMake files and determine where the "TEST_BIG_ENDIAN(variable)" is located. Then you will need to put in some sort of conditional statement that says if you are compiling for z/OS then set "variable" to "true". This really sounds like a cross compiler. In which case you should look here: http://www.cmake.org/Wiki/CMake_Cross_Compiling -Bill ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
You are going to have to look through the CMake files and determine where the "TEST_BIG_ENDIAN(variable)" is located. Then you will need to put in some sort of conditional statement that says if you are compiling for z/OS then set "variable" to "true". -- Mike Jackson Senior Research Engineer Innovative Management & Technology Services On Jul 29, 2008, at 10:01 PM, Phil Smith wrote: Thanks; "the variable" -- what's it called? Yes, it's ALWAYS big endian. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Mike Jackson Sent: Tuesday, July 29, 2008 6:15 PM To: Cmake Mailing List Subject: Re: [CMake] FW: cmake newbie questions What is actually going on is that CMake is actually compiling and _running_ a small application to determine what endian type the machine is. I am guessing that the z/OS executable will not actually _run_ on your host system so it will give an error. If you know FOR SURE that z/OS will ALWAYS be big endian then you can probably manually set the variable yourself and be just fine. -- Mike Jackson Senior Research Engineer Innovative Management & Technology Services On Jul 29, 2008, at 8:10 PM, Phil Smith wrote: OK, more progress (I think). Now I get: --- cmake . -- Check if the system is big endian -- Searching 16 bit integer CMake Error at C:/Program Files/CMake 2.6/share/cmake-2.6/Modules/ TestBigEndian. cmake:31 (MESSAGE): no suitable type found Call Stack (most recent call first): CMakeLists.txt:117 (test_big_endian) CMake Warning (dev) in CMakeLists.txt: No cmake_minimum_required command is present. A line of code such as cmake_minimum_required(VERSION 2.6) should be added at the top of the file. The version specified may be lower if you wish to support older CMake versions for this project. For more information run "cmake --help-policy CMP". This warning is for project developers. Use -Wno-dev to suppress it. -- Configuring done --- So...I can figure out how to suppress the warning. But the error suggests to me that it can't decide whether z/OS is big endian or little endian (it's big endian). How do I tell it? I think we're close! -Original Message- From: Bill Hoffman [mailto:[EMAIL PROTECTED] Sent: Monday, July 28, 2008 8:10 AM To: Phil Smith Cc: cmake@cmake.org Subject: Re: [CMake] FW: cmake newbie questions Phil Smith wrote: OK, I've gotten the compiler happy, I think, but cmake still whines. It's calling my BAT file that invokes the actual compiler; but it says "No rule to make target `/MAKE'. Stop."?! C:\Documents and Settings\Voltage\svn\Toolkit\trunk\vtk-core>cmake . -- Check for working C compiler: C:/Program Files/Dignus/cc.bat -- Check for working C compiler: C:/Program Files/Dignus/cc.bat -- broken CMake Error at C:/Program Files/CMake 2.6/share/cmake-2.6/Modules/ CMakeTestCComp iler.cmake:32 (MESSAGE): The C compiler "C:/Program Files/Dignus/cc.bat" is not able to compile a simple test program. It fails with the following output: Change Dir: C:/Documents and Settings/Voltage/svn/Toolkit/trunk/ vtk-core/CMak eFiles/CMakeTmp Run Build Command:C:\PROGRA~1\cygwin\bin\make.exe CMAKE_TRY_COMPILE.dsw /MAKE "cmTryCompileExec - Debug" /BUILD You are using the visual studio generator or it would not be creating a dsw.Use the "Unix Makefiles" generator instead. -Bill ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
Thanks; "the variable" -- what's it called? Yes, it's ALWAYS big endian. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Mike Jackson Sent: Tuesday, July 29, 2008 6:15 PM To: Cmake Mailing List Subject: Re: [CMake] FW: cmake newbie questions What is actually going on is that CMake is actually compiling and _running_ a small application to determine what endian type the machine is. I am guessing that the z/OS executable will not actually _run_ on your host system so it will give an error. If you know FOR SURE that z/OS will ALWAYS be big endian then you can probably manually set the variable yourself and be just fine. -- Mike Jackson Senior Research Engineer Innovative Management & Technology Services On Jul 29, 2008, at 8:10 PM, Phil Smith wrote: > OK, more progress (I think). Now I get: > > --- > cmake . > -- Check if the system is big endian > -- Searching 16 bit integer > CMake Error at C:/Program Files/CMake 2.6/share/cmake-2.6/Modules/ > TestBigEndian. > cmake:31 (MESSAGE): > no suitable type found > Call Stack (most recent call first): > CMakeLists.txt:117 (test_big_endian) > > CMake Warning (dev) in CMakeLists.txt: > No cmake_minimum_required command is present. A line of code > such as > > cmake_minimum_required(VERSION 2.6) > > should be added at the top of the file. The version specified > may be lower > if you wish to support older CMake versions for this project. > For more > information run "cmake --help-policy CMP". > This warning is for project developers. Use -Wno-dev to suppress it. > > -- Configuring done > --- > So...I can figure out how to suppress the warning. But the error > suggests to me that it can't decide whether z/OS is big endian or > little endian (it's big endian). How do I tell it? > > I think we're close! > > > > > > > > -----Original Message- > From: Bill Hoffman [mailto:[EMAIL PROTECTED] > Sent: Monday, July 28, 2008 8:10 AM > To: Phil Smith > Cc: cmake@cmake.org > Subject: Re: [CMake] FW: cmake newbie questions > > Phil Smith wrote: >> OK, I've gotten the compiler happy, I think, but cmake still >> whines. It's calling my BAT file that invokes the actual compiler; >> but it says "No rule to make target `/MAKE'. Stop."?! >> >> C:\Documents and Settings\Voltage\svn\Toolkit\trunk\vtk-core>cmake . >> -- Check for working C compiler: C:/Program Files/Dignus/cc.bat >> -- Check for working C compiler: C:/Program Files/Dignus/cc.bat -- >> broken >> CMake Error at C:/Program Files/CMake 2.6/share/cmake-2.6/Modules/ >> CMakeTestCComp >> iler.cmake:32 (MESSAGE): >> The C compiler "C:/Program Files/Dignus/cc.bat" is not able to >> compile a >> simple test program. >> >> It fails with the following output: >> >>Change Dir: C:/Documents and Settings/Voltage/svn/Toolkit/trunk/ >> vtk-core/CMak >> eFiles/CMakeTmp >> >> Run Build Command:C:\PROGRA~1\cygwin\bin\make.exe >> CMAKE_TRY_COMPILE.dsw >> /MAKE "cmTryCompileExec - Debug" /BUILD > > > You are using the visual studio generator or it would not be > creating a > dsw.Use the "Unix Makefiles" generator instead. > > -Bill > ___ > CMake mailing list > CMake@cmake.org > http://www.cmake.org/mailman/listinfo/cmake > ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
What is actually going on is that CMake is actually compiling and _running_ a small application to determine what endian type the machine is. I am guessing that the z/OS executable will not actually _run_ on your host system so it will give an error. If you know FOR SURE that z/OS will ALWAYS be big endian then you can probably manually set the variable yourself and be just fine. -- Mike Jackson Senior Research Engineer Innovative Management & Technology Services On Jul 29, 2008, at 8:10 PM, Phil Smith wrote: OK, more progress (I think). Now I get: --- cmake . -- Check if the system is big endian -- Searching 16 bit integer CMake Error at C:/Program Files/CMake 2.6/share/cmake-2.6/Modules/ TestBigEndian. cmake:31 (MESSAGE): no suitable type found Call Stack (most recent call first): CMakeLists.txt:117 (test_big_endian) CMake Warning (dev) in CMakeLists.txt: No cmake_minimum_required command is present. A line of code such as cmake_minimum_required(VERSION 2.6) should be added at the top of the file. The version specified may be lower if you wish to support older CMake versions for this project. For more information run "cmake --help-policy CMP". This warning is for project developers. Use -Wno-dev to suppress it. -- Configuring done --- So...I can figure out how to suppress the warning. But the error suggests to me that it can't decide whether z/OS is big endian or little endian (it's big endian). How do I tell it? I think we're close! -Original Message- From: Bill Hoffman [mailto:[EMAIL PROTECTED] Sent: Monday, July 28, 2008 8:10 AM To: Phil Smith Cc: cmake@cmake.org Subject: Re: [CMake] FW: cmake newbie questions Phil Smith wrote: OK, I've gotten the compiler happy, I think, but cmake still whines. It's calling my BAT file that invokes the actual compiler; but it says "No rule to make target `/MAKE'. Stop."?! C:\Documents and Settings\Voltage\svn\Toolkit\trunk\vtk-core>cmake . -- Check for working C compiler: C:/Program Files/Dignus/cc.bat -- Check for working C compiler: C:/Program Files/Dignus/cc.bat -- broken CMake Error at C:/Program Files/CMake 2.6/share/cmake-2.6/Modules/ CMakeTestCComp iler.cmake:32 (MESSAGE): The C compiler "C:/Program Files/Dignus/cc.bat" is not able to compile a simple test program. It fails with the following output: Change Dir: C:/Documents and Settings/Voltage/svn/Toolkit/trunk/ vtk-core/CMak eFiles/CMakeTmp Run Build Command:C:\PROGRA~1\cygwin\bin\make.exe CMAKE_TRY_COMPILE.dsw /MAKE "cmTryCompileExec - Debug" /BUILD You are using the visual studio generator or it would not be creating a dsw.Use the "Unix Makefiles" generator instead. -Bill ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
OK, more progress (I think). Now I get: --- cmake . -- Check if the system is big endian -- Searching 16 bit integer CMake Error at C:/Program Files/CMake 2.6/share/cmake-2.6/Modules/TestBigEndian. cmake:31 (MESSAGE): no suitable type found Call Stack (most recent call first): CMakeLists.txt:117 (test_big_endian) CMake Warning (dev) in CMakeLists.txt: No cmake_minimum_required command is present. A line of code such as cmake_minimum_required(VERSION 2.6) should be added at the top of the file. The version specified may be lower if you wish to support older CMake versions for this project. For more information run "cmake --help-policy CMP". This warning is for project developers. Use -Wno-dev to suppress it. -- Configuring done --- So...I can figure out how to suppress the warning. But the error suggests to me that it can't decide whether z/OS is big endian or little endian (it's big endian). How do I tell it? I think we're close! -Original Message- From: Bill Hoffman [mailto:[EMAIL PROTECTED] Sent: Monday, July 28, 2008 8:10 AM To: Phil Smith Cc: cmake@cmake.org Subject: Re: [CMake] FW: cmake newbie questions Phil Smith wrote: > OK, I've gotten the compiler happy, I think, but cmake still whines. It's > calling my BAT file that invokes the actual compiler; but it says "No rule to > make target `/MAKE'. Stop."?! > > C:\Documents and Settings\Voltage\svn\Toolkit\trunk\vtk-core>cmake . > -- Check for working C compiler: C:/Program Files/Dignus/cc.bat > -- Check for working C compiler: C:/Program Files/Dignus/cc.bat -- broken > CMake Error at C:/Program Files/CMake > 2.6/share/cmake-2.6/Modules/CMakeTestCComp > iler.cmake:32 (MESSAGE): > The C compiler "C:/Program Files/Dignus/cc.bat" is not able to compile a > simple test program. > > It fails with the following output: > >Change Dir: C:/Documents and > Settings/Voltage/svn/Toolkit/trunk/vtk-core/CMak > eFiles/CMakeTmp > > Run Build Command:C:\PROGRA~1\cygwin\bin\make.exe CMAKE_TRY_COMPILE.dsw > /MAKE "cmTryCompileExec - Debug" /BUILD You are using the visual studio generator or it would not be creating a dsw.Use the "Unix Makefiles" generator instead. -Bill ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
> You are using the visual studio generator or it would not be creating a dsw. >Use the "Unix Makefiles" generator instead. > My guess is that he is trying to use both the visual studio generator to make a visual studio project to edit the source code in and then run the make file generator to create a make file and use that to build the project. John ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
Phil Smith wrote: OK, I've gotten the compiler happy, I think, but cmake still whines. It's calling my BAT file that invokes the actual compiler; but it says "No rule to make target `/MAKE'. Stop."?! C:\Documents and Settings\Voltage\svn\Toolkit\trunk\vtk-core>cmake . -- Check for working C compiler: C:/Program Files/Dignus/cc.bat -- Check for working C compiler: C:/Program Files/Dignus/cc.bat -- broken CMake Error at C:/Program Files/CMake 2.6/share/cmake-2.6/Modules/CMakeTestCComp iler.cmake:32 (MESSAGE): The C compiler "C:/Program Files/Dignus/cc.bat" is not able to compile a simple test program. It fails with the following output: Change Dir: C:/Documents and Settings/Voltage/svn/Toolkit/trunk/vtk-core/CMak eFiles/CMakeTmp Run Build Command:C:\PROGRA~1\cygwin\bin\make.exe CMAKE_TRY_COMPILE.dsw /MAKE "cmTryCompileExec - Debug" /BUILD You are using the visual studio generator or it would not be creating a dsw.Use the "Unix Makefiles" generator instead. -Bill ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
OK, I've gotten the compiler happy, I think, but cmake still whines. It's calling my BAT file that invokes the actual compiler; but it says "No rule to make target `/MAKE'. Stop."?! C:\Documents and Settings\Voltage\svn\Toolkit\trunk\vtk-core>cmake . -- Check for working C compiler: C:/Program Files/Dignus/cc.bat -- Check for working C compiler: C:/Program Files/Dignus/cc.bat -- broken CMake Error at C:/Program Files/CMake 2.6/share/cmake-2.6/Modules/CMakeTestCComp iler.cmake:32 (MESSAGE): The C compiler "C:/Program Files/Dignus/cc.bat" is not able to compile a simple test program. It fails with the following output: Change Dir: C:/Documents and Settings/Voltage/svn/Toolkit/trunk/vtk-core/CMak eFiles/CMakeTmp Run Build Command:C:\PROGRA~1\cygwin\bin\make.exe CMAKE_TRY_COMPILE.dsw /MAKE "cmTryCompileExec - Debug" /BUILD make: Nothing to be done for `CMAKE_TRY_COMPILE.dsw'. make: *** No rule to make target `/MAKE'. Stop. CMake will not be able to correctly generate this project. Call Stack (most recent call first): CMakeLists.txt:16 (project) -- Configuring done C:\Documents and Settings\Voltage\svn\Toolkit\trunk\vtk-core> ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
Phil Smith wrote: C:\Program Files\GnuWin32\bin>make --version GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This program built for i386-pc-mingw32 You should try a different one. Also, you can debug if you run cmake with --debug-trycompile. That will leave the CMakeTmp directory with the makefile that does not work. You can run make in that directory, and try to figure out what is wrong. -Bill ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
C:\Program Files\GnuWin32\bin>make --version GNU Make 3.81 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. This program built for i386-pc-mingw32 -Original Message- From: Bill Hoffman [mailto:[EMAIL PROTECTED] Sent: Wednesday, July 23, 2008 10:56 PM To: Phil Smith Cc: cmake@cmake.org Subject: Re: [CMake] FW: cmake newbie questions Phil Smith wrote: > Ah. I'm using GNU make. Will try that tomorrow (I'm on East coast, and it's > bedtime)! Thanks. > I see that: > C:/PROGRA~1/GnuWin32/bin/make.exe What version of gmake is this? make --version -Bill ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
Phil Smith wrote: Ah. I'm using GNU make. Will try that tomorrow (I'm on East coast, and it's bedtime)! Thanks. I see that: > C:/PROGRA~1/GnuWin32/bin/make.exe What version of gmake is this? make --version -Bill ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
Ah. I'm using GNU make. Will try that tomorrow (I'm on East coast, and it's bedtime)! Thanks. -Original Message- From: Bill Hoffman [mailto:[EMAIL PROTECTED] Sent: Wednesday, July 23, 2008 10:40 PM To: Phil Smith Cc: cmake@cmake.org Subject: Re: [CMake] FW: cmake newbie questions Phil Smith wrote: > Um, right. Cut&paste misfire, hit SEND instead of PASTE. The error: > > --- > CMake Error at C:/Program Files/CMake > 2.6/share/cmake-2.6/Modules/CMakeTestCCompiler.cmake:32 (MESSAGE): > The C compiler "C:/Program Files/Dignus/dcc.exe" is not able to compile a > simple test program. > > It fails with the following output: > >Change Dir: c:/SD/CMakeFiles/CMakeTmp > > Run Build Command:C:/PROGRA~1/GnuWin32/bin/make.exe "cmTryCompileExec/fast" > > C:/PROGRA~1/GnuWin32/bin/make.exe -f > CMakeFiles/cmTryCompileExec.dir/build.make > CMakeFiles/cmTryCompileExec.dir/build > > make.exe[1]: Entering directory `c:/SD/CMakeFiles/CMakeTmp' > > "C:/Program Files/CMake 2.6/bin/cmake.exe" -E cmake_progress_report > C:/SD/CMakeFiles/CMakeTmp/CMakeFiles 1 > > Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.obj > > cd C:/SD/CMakeFiles/CMakeTmp && "C:/Program Files/Dignus/dcc.exe" -o > CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.obj -c > C:/SD/CMakeFiles/CMakeTmp/testCCompiler.c > > The system cannot find the path specified. > > make.exe[1]: *** [CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.obj] > Error 1 > > make.exe[1]: Leaving directory `c:/SD/CMakeFiles/CMakeTmp' > > make.exe: *** [cmTryCompileExec/fast] Error 2 > > CMake will not be able to correctly generate this project. > Call Stack (most recent call first): > CMakeLists.txt:16 (project) > > (Press Cancel to suppress any further messages.) > --- I think it does not like the make you are using. Do you have cygwin installed? If so, you might want to try this make: http://www.cmake.org/files/cygwin/make.exe Just put that on top of the normal cygwin make, or just in the bin directory of cygwin. There are some other places to get make, but it looks to me like you are using one that does not like quoted paths. Also, note cmake does not know anything about dcc, so you might have to create some platform files for cmake. -Bill ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
Phil Smith wrote: Um, right. Cut&paste misfire, hit SEND instead of PASTE. The error: --- CMake Error at C:/Program Files/CMake 2.6/share/cmake-2.6/Modules/CMakeTestCCompiler.cmake:32 (MESSAGE): The C compiler "C:/Program Files/Dignus/dcc.exe" is not able to compile a simple test program. It fails with the following output: Change Dir: c:/SD/CMakeFiles/CMakeTmp Run Build Command:C:/PROGRA~1/GnuWin32/bin/make.exe "cmTryCompileExec/fast" C:/PROGRA~1/GnuWin32/bin/make.exe -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build make.exe[1]: Entering directory `c:/SD/CMakeFiles/CMakeTmp' "C:/Program Files/CMake 2.6/bin/cmake.exe" -E cmake_progress_report C:/SD/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.obj cd C:/SD/CMakeFiles/CMakeTmp && "C:/Program Files/Dignus/dcc.exe" -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.obj -c C:/SD/CMakeFiles/CMakeTmp/testCCompiler.c The system cannot find the path specified. make.exe[1]: *** [CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.obj] Error 1 make.exe[1]: Leaving directory `c:/SD/CMakeFiles/CMakeTmp' make.exe: *** [cmTryCompileExec/fast] Error 2 CMake will not be able to correctly generate this project. Call Stack (most recent call first): CMakeLists.txt:16 (project) (Press Cancel to suppress any further messages.) --- I think it does not like the make you are using. Do you have cygwin installed? If so, you might want to try this make: http://www.cmake.org/files/cygwin/make.exe Just put that on top of the normal cygwin make, or just in the bin directory of cygwin. There are some other places to get make, but it looks to me like you are using one that does not like quoted paths. Also, note cmake does not know anything about dcc, so you might have to create some platform files for cmake. -Bill ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
Um, right. Cut&paste misfire, hit SEND instead of PASTE. The error: --- CMake Error at C:/Program Files/CMake 2.6/share/cmake-2.6/Modules/CMakeTestCCompiler.cmake:32 (MESSAGE): The C compiler "C:/Program Files/Dignus/dcc.exe" is not able to compile a simple test program. It fails with the following output: Change Dir: c:/SD/CMakeFiles/CMakeTmp Run Build Command:C:/PROGRA~1/GnuWin32/bin/make.exe "cmTryCompileExec/fast" C:/PROGRA~1/GnuWin32/bin/make.exe -f CMakeFiles/cmTryCompileExec.dir/build.make CMakeFiles/cmTryCompileExec.dir/build make.exe[1]: Entering directory `c:/SD/CMakeFiles/CMakeTmp' "C:/Program Files/CMake 2.6/bin/cmake.exe" -E cmake_progress_report C:/SD/CMakeFiles/CMakeTmp/CMakeFiles 1 Building C object CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.obj cd C:/SD/CMakeFiles/CMakeTmp && "C:/Program Files/Dignus/dcc.exe" -o CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.obj -c C:/SD/CMakeFiles/CMakeTmp/testCCompiler.c The system cannot find the path specified. make.exe[1]: *** [CMakeFiles/cmTryCompileExec.dir/testCCompiler.c.obj] Error 1 make.exe[1]: Leaving directory `c:/SD/CMakeFiles/CMakeTmp' make.exe: *** [cmTryCompileExec/fast] Error 2 CMake will not be able to correctly generate this project. Call Stack (most recent call first): CMakeLists.txt:16 (project) (Press Cancel to suppress any further messages.) --- -Original Message- From: Bill Hoffman [mailto:[EMAIL PROTECTED] Sent: Wednesday, July 23, 2008 10:26 PM To: Phil Smith Cc: cmake@cmake.org Subject: Re: [CMake] FW: cmake newbie questions Phil Smith wrote: > Well, that certainly changed the error: > And the error is? -Bill ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
Phil Smith wrote: Well, that certainly changed the error: And the error is? -Bill ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
Well, that certainly changed the error: -Original Message- From: Bill Hoffman [mailto:[EMAIL PROTECTED] Sent: Wednesday, July 23, 2008 10:01 PM To: Phil Smith Cc: cmake@cmake.org Subject: Re: [CMake] FW: cmake newbie questions Phil Smith wrote: > Is my problem so vague that nobody even has a suggestion? If so, are there > things I can try to answer that might help? > > Thanks... > > -Original Message- > From: Phil Smith > Sent: Tuesday, July 22, 2008 4:03 PM > To: 'cmake@cmake.org' > Subject: cmake newbie questions > > Disclaimer: I'm new to cmake, and mostly new to make, for that matter (I come > from one of those Other Platforms that don't use make). I'm trying to use a > different C compiler (the Dignus cross-compiler for z/OS) to compile an > existing product on Windows XP. I've installed cmake and GNU make, as well as > the Dignus stuff, and added make and the Dignus stuff to the path. > > The Dignus C compiler executable is dcc.exe, in c:\program files\dignus\. > GNU make is make.exe, in c:\program files\GnuWin32\bin. > The Dignus linker is plink.exe, also in c:\program files\dignus\. > My C source is in an svn directory tree; call it c:\Voltage (it's much longer > than that, but). > The C source uses cmake on Linux and on Windows (with Visual Studio .NET > 2003) successfully, but of course that isn't what I'm trying to use. > > I've been reading and tinkering with cmake, and it *seems* like it's flexible > enough that this should work. But I'm missing (at least) something > fundamental in my understanding. > > If I fire up the cmake GUI, it's very unhappy, which makes sense. But I seem > to be able to flog it into agreeing that it's doing Unix makefile format (as > opposed to defaulting to one of the Visual whatever formats). > > If I go to the top of my svn tree (the first level that has a CMakeLists.txt > in it) and run cmake -i, it fails: > > > Please wait while cmake processes CMakeLists.txt files > > CMake Error at C:/Program Files/CMake > 2.6/share/cmake-2.6/Modules/CMakeTestCCompiler.cmake:32 (MESSAGE): > The C compiler "C:/Program Files/Dignus/dcc.exe" is not able to compile a > simple test program. > > It fails with the following output: > >Change Dir: C:/Voltage/Toolkit/trunk/vtk-core/CMakeFiles/CMakeTmp > > Run Build Command:C:\PROGRA~1\GnuWin32\bin\make.exe CMAKE_TRY_COMPILE.dsw > /MAKE "cmTryCompileExec - Debug" /BUILD > > make: Nothing to be done for `CMAKE_TRY_COMPILE.dsw'. > > make: *** No rule to make target `/MAKE'. Stop. > > CMake will not be able to correctly generate this project. > Call Stack (most recent call first): > CMakeLists.txt:16 (project) > > > As noted, I know I'm missing something very basic here. Can anyone point me > in the right direction? Thanks...! You should try the nmake or unix makefiles generator, the vs IDE stuff will not work with different compilers. From a shell that has Dignus C compiler setup and in your path, set CC=dcc.exe, run cmake, (cmake-gui or CMakeSetup, or just cmake). See if that helps. -Bill -- Bill Hoffman Kitware, Inc. 28 Corporate Drive Clifton Park, NY 12065 [EMAIL PROTECTED] http://www.kitware.com 518-371-3971 (phone and fax) ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
On Wed, Jul 23, 2008 at 10:01 PM, Phil Smith <[EMAIL PROTECTED]> wrote: > Thanks...that's a good suggestion; I think I've done it, but I'm at that > point where I *think* I've done everything, and may have gone in circles. > > How do I tell it "It's a make build" without using the GUI? There must be > some variable to set, but it's not listed on the website. > Look for CMAKE_GENERATOR in CMakeCache.txt John ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
Re: [CMake] FW: cmake newbie questions
Phil Smith wrote: Is my problem so vague that nobody even has a suggestion? If so, are there things I can try to answer that might help? Thanks... -Original Message- From: Phil Smith Sent: Tuesday, July 22, 2008 4:03 PM To: 'cmake@cmake.org' Subject: cmake newbie questions Disclaimer: I'm new to cmake, and mostly new to make, for that matter (I come from one of those Other Platforms that don't use make). I'm trying to use a different C compiler (the Dignus cross-compiler for z/OS) to compile an existing product on Windows XP. I've installed cmake and GNU make, as well as the Dignus stuff, and added make and the Dignus stuff to the path. The Dignus C compiler executable is dcc.exe, in c:\program files\dignus\. GNU make is make.exe, in c:\program files\GnuWin32\bin. The Dignus linker is plink.exe, also in c:\program files\dignus\. My C source is in an svn directory tree; call it c:\Voltage (it's much longer than that, but). The C source uses cmake on Linux and on Windows (with Visual Studio .NET 2003) successfully, but of course that isn't what I'm trying to use. I've been reading and tinkering with cmake, and it *seems* like it's flexible enough that this should work. But I'm missing (at least) something fundamental in my understanding. If I fire up the cmake GUI, it's very unhappy, which makes sense. But I seem to be able to flog it into agreeing that it's doing Unix makefile format (as opposed to defaulting to one of the Visual whatever formats). If I go to the top of my svn tree (the first level that has a CMakeLists.txt in it) and run cmake -i, it fails: Please wait while cmake processes CMakeLists.txt files CMake Error at C:/Program Files/CMake 2.6/share/cmake-2.6/Modules/CMakeTestCCompiler.cmake:32 (MESSAGE): The C compiler "C:/Program Files/Dignus/dcc.exe" is not able to compile a simple test program. It fails with the following output: Change Dir: C:/Voltage/Toolkit/trunk/vtk-core/CMakeFiles/CMakeTmp Run Build Command:C:\PROGRA~1\GnuWin32\bin\make.exe CMAKE_TRY_COMPILE.dsw /MAKE "cmTryCompileExec - Debug" /BUILD make: Nothing to be done for `CMAKE_TRY_COMPILE.dsw'. make: *** No rule to make target `/MAKE'. Stop. CMake will not be able to correctly generate this project. Call Stack (most recent call first): CMakeLists.txt:16 (project) As noted, I know I'm missing something very basic here. Can anyone point me in the right direction? Thanks...! You should try the nmake or unix makefiles generator, the vs IDE stuff will not work with different compilers. From a shell that has Dignus C compiler setup and in your path, set CC=dcc.exe, run cmake, (cmake-gui or CMakeSetup, or just cmake). See if that helps. -Bill -- Bill Hoffman Kitware, Inc. 28 Corporate Drive Clifton Park, NY 12065 [EMAIL PROTECTED] http://www.kitware.com 518-371-3971 (phone and fax) ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake
[CMake] FW: cmake newbie questions
Is my problem so vague that nobody even has a suggestion? If so, are there things I can try to answer that might help? Thanks... -Original Message- From: Phil Smith Sent: Tuesday, July 22, 2008 4:03 PM To: 'cmake@cmake.org' Subject: cmake newbie questions Disclaimer: I'm new to cmake, and mostly new to make, for that matter (I come from one of those Other Platforms that don't use make). I'm trying to use a different C compiler (the Dignus cross-compiler for z/OS) to compile an existing product on Windows XP. I've installed cmake and GNU make, as well as the Dignus stuff, and added make and the Dignus stuff to the path. The Dignus C compiler executable is dcc.exe, in c:\program files\dignus\. GNU make is make.exe, in c:\program files\GnuWin32\bin. The Dignus linker is plink.exe, also in c:\program files\dignus\. My C source is in an svn directory tree; call it c:\Voltage (it's much longer than that, but). The C source uses cmake on Linux and on Windows (with Visual Studio .NET 2003) successfully, but of course that isn't what I'm trying to use. I've been reading and tinkering with cmake, and it *seems* like it's flexible enough that this should work. But I'm missing (at least) something fundamental in my understanding. If I fire up the cmake GUI, it's very unhappy, which makes sense. But I seem to be able to flog it into agreeing that it's doing Unix makefile format (as opposed to defaulting to one of the Visual whatever formats). If I go to the top of my svn tree (the first level that has a CMakeLists.txt in it) and run cmake -i, it fails: Please wait while cmake processes CMakeLists.txt files CMake Error at C:/Program Files/CMake 2.6/share/cmake-2.6/Modules/CMakeTestCCompiler.cmake:32 (MESSAGE): The C compiler "C:/Program Files/Dignus/dcc.exe" is not able to compile a simple test program. It fails with the following output: Change Dir: C:/Voltage/Toolkit/trunk/vtk-core/CMakeFiles/CMakeTmp Run Build Command:C:\PROGRA~1\GnuWin32\bin\make.exe CMAKE_TRY_COMPILE.dsw /MAKE "cmTryCompileExec - Debug" /BUILD make: Nothing to be done for `CMAKE_TRY_COMPILE.dsw'. make: *** No rule to make target `/MAKE'. Stop. CMake will not be able to correctly generate this project. Call Stack (most recent call first): CMakeLists.txt:16 (project) As noted, I know I'm missing something very basic here. Can anyone point me in the right direction? Thanks...! -- ...phsiii Phil Smith III ___ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake