[CMake] ASM support

Phil Smith phil at voltage.com
Thu Jan 29 17:00:41 EST 2009


You're too generous -- I looked yesterday :-(

Anyway, I've followed those instructions (I think) but it's not working. I'm using ASM_DIGNUS as the assembler name. The ASM_DIGNUS files I've added (shown below) are all in Modules\ (the page is a bit vague on where they should go).

CMakeASM_DIGNUSInformation.cmake:
------------------------
set(ASM_DIALECT _DIGNUS)
include(CMakeASMInformation.cmake)
set(ASM_DIALECT _DIGNUS)
SET(CMAKE_ASM_SOURCE_FILE_EXTENSIONS asm)
SET(CMAKE_ASM_OUTPUT_EXTENSION ".o" )
SET(CMAKE_ASM_COMPILE_OBJECT "<CMAKE_ASM_COMPILER> -o <OBJECT> <SOURCE>")
------------------------

CMakeDetermineASM_DIGNUSCompiler.cmake:
------------------------
set(ASM_DIALECT _DIGNUS)
set(CMAKE_ASM_DIGNUS_COMPILER "rexx.exe cc.rex")
include(CMakeASMInformation)
set(ASM_DIALECT _DIGNUS)
------------------------

CMakeTestASM_DIGNUSCompiler.cmake:
------------------------
set(ASM_DIALECT _DIGNUS)
include(CMakeASMInformation.cmake)
set(ASM_DIALECT _DIGNUS)
------------------------

zosport.cmake (in my build directory):
------------------------
# This is a CMake Toolchain file, required for cross-compiling using
# the Dignus cross-compilers on Windows, compiling for z/OS.

# Tell CMAKE the target system name
SET(CMAKE_SYSTEM_NAME "IBM_ZOS")

# Specify the cross-compilers
SET(CMAKE_C_COMPILER   "rexx.exe" "cc.rex dcc.exe")
SET(CMAKE_CXX_COMPILER "rexx.exe" "cc.rex dcxx.exe")
SET(CMAKE_ASM_DIGNUS_COMPILER "rexx.exe" "cc.rex dcxx.exe")

SET(CMAKE_C_CREATE_STATIC_LIBRARY "DAR -rv <TARGET> <OBJECTS>")

SET(CMAKE_CXX_LINK_EXECUTABLE "plink.exe \"-S$ENV{DIGNUS_PROGRAM}/objs_norent/&M\" <OBJECTS> -o <TARGET>")
SET(CMAKE_C_LINK_EXECUTABLE   "plink.exe \"-S$ENV{DIGNUS_PROGRAM}/objs_norent/&M\" <OBJECTS> -o <TARGET>")
------------------------

Here's the result of running CMake:
------------------------
-- The C compiler identification is unknown
-- Loaded CMakeASM_DIGNUSInformation - ASM_DIGNUS support is still experimental, please report issues
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_ASM_DIGNUS_COMPILER_ENV_VAR
CMake Error: Could not find cmake module file:C:/svn/Toolkit/trunk/ZFPE/CMakeFiles/CMakeASM_DIGNUSCompiler.cmake
-- Check for working C compiler: C:/Program Files/Regina/rexx.exe
-- Check for working C compiler: C:/Program Files/Regina/rexx.exe -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - failed
CMake Error at C:/Program Files/CMake 2.6/share/cmake-2.6/Modules/CMakeASM_DIGNUSInformation.cmake:2 (include):
  include could not find load file:

    CMakeASMInformation.cmake
Call Stack (most recent call first):
  CMakeLists.txt:7 (project)

CMake Error at C:/Program Files/CMake 2.6/share/cmake-2.6/Modules/CMakeTestASM_DIGNUSCompiler.cmake:2 (include):
  include could not find load file:

    CMakeASMInformation.cmake
Call Stack (most recent call first):
  CMakeLists.txt:7 (project)

CMake Error: your ASM_DIGNUS compiler: "rexx.exe cc.rex" was not found.   Please set CMAKE_ASM_DIGNUS_COMPILER to a valid compiler path or name.

-----Original Message-----
From: cmake-bounces at cmake.org [mailto:cmake-bounces at cmake.org] On Behalf Of Alexander Neundorf
Sent: Thursday, January 29, 2009 3:40 PM
To: cmake at cmake.org
Subject: Re: [CMake] ASM support

On Thursday 29 January 2009, Phil Smith wrote:
> Ok, I found http://www.cmake.org/Wiki/CMake/Assembler -- not sure how I
> missed it before.

It's only three weeks old or so.

Alex
_______________________________________________
CMake mailing list
CMake at cmake.org
http://www.cmake.org/mailman/listinfo/cmake


More information about the CMake mailing list