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.

zos.cmake contains (comments removed):

SET(CMAKE_SYSTEM_NAME ZOS)
SET(CMAKE_C_COMPILER   "cc.bat")
SET(CMAKE_CXX_COMPILER "cxx.bat")

"zcmake ." produces these errors:

---------------------
C:\Documents and Settings\Voltage\svn\Toolkit\trunk\vtk-core>zcmake
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
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
-- Check for working C compiler: c:/progra~1/dignus/cc.bat
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
-- Check for working C compiler: c:/progra~1/dignus/cc.bat -- works
-- Detecting C compiler ABI info
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
-- Detecting C compiler ABI info - done
CMake Error at C:/Program Files/CMake 2.6/share/cmake-2.6/Modules/CMakeDetermine
CompilerABI.cmake:23 (FILE):
  file STRINGS file "C:/Documents and
  Settings/Voltage/svn/Toolkit/trunk/vtk-core/CMakeFiles/CMakeDetermineCompilerA
BI_C.bin"
  cannot be read.
Call Stack (most recent call first):
  C:/Program Files/CMake 2.6/share/cmake-2.6/Modules/CMakeTestCCompiler.cmake:51
 (CMAKE_DETERMINE_COMPILER_ABI)
  CMakeLists.txt:16 (project)

-- Check for working CXX compiler: c:/progra~1/dignus/cxx.bat
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
-- Check for working CXX compiler: c:/progra~1/dignus/cxx.bat -- works
-- Detecting CXX compiler ABI info
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
-- Detecting CXX compiler ABI info - done
CMake Error at C:/Program Files/CMake 2.6/share/cmake-2.6/Modules/CMakeDetermine
CompilerABI.cmake:23 (FILE):
  file STRINGS file "C:/Documents and
  Settings/Voltage/svn/Toolkit/trunk/vtk-core/CMakeFiles/CMakeDetermineCompilerA
BI_CXX.bin"
  cannot be read.
Call Stack (most recent call first):
  C:/Program Files/CMake 2.6/share/cmake-2.6/Modules/CMakeTestCXXCompiler.cmake:
44 (CMAKE_DETERMINE_COMPILER_ABI)
  CMakeLists.txt:16 (project)

-- Looking for sys/types.h
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
-- Looking for sys/types.h - found
-- Looking for stdint.h
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
-- Looking for stdint.h - found
-- Looking for stddef.h
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
-- Looking for stddef.h - not found
-- Check size of unsigned 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:118 (check_type_size)

-- Check size of unsigned long long - done
-- Check size of unsigned 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:119 (check_type_size)

-- Check size of unsigned long - done
-- Check size of unsigned int
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: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_xxxxx_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
[email protected]
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to