View Issue Details Jump to Notes ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0012465CMakeCMakepublic2011-09-19 04:202012-05-09 15:26
ReporterMicha Renner 
Assigned ToAlex Neundorf 
PrioritynormalSeverityminorReproducibilityalways
StatusclosedResolutionduplicate 
PlatformWindowsOSWindows 8OS Version8
Product VersionCMake 2.8.5 
Target VersionCMake 2.8.7Fixed in VersionCMake 2.8.7 
Summary0012465: masm & msvc
Descriptionas requested (http://www.cmake.org/pipermail/cmake/2011-August/045960.html [^])



The script...



# Copy & paste from CMake Wiki

# Works only if CMake runs in the Visual Studio DOS Window

SET(MASMFound FALSE)

# test whether it is a x86 machine and masm is available

IF("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "x86")

        ENABLE_LANGUAGE(ASM_MASM)

        IF(CMAKE_ASM_MASM_COMPILER_WORKS)

                SET(MASMFound TRUE)

        ENDIF(CMAKE_ASM_MASM_COMPILER_WORKS)

ENDIF("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "x86")

# no assembler found

IF(NOT MASMFound)

        MESSAGE(STATUS NOT)

ENDIF(NOT MASMFound)



...still generates the message:

The ASM_MASM compiler identification is unknown <----------------------!

Found assembler: C:/Program Files/Microsoft Visual Studio

10.0/VC/bin/ml.exe



A subsequent...



ADD_EXECUTABLE(cTest CTest.c cAsm2.asm)



does not invoke the MASM



TagsNo tags attached.
Attached Fileszip file icon tm.zip [^] (40,011 bytes) 2011-09-19 04:20
? file icon CMakeDetermineASMCompiler.cmake [^] (8,631 bytes) 2011-10-06 12:02

 Relationships
duplicate of 0011536closedPatrick R. Gansterer Can't use assembler files with Visual Studio 10 generator 
related to 0012524closedAlex Neundorf CMake 2.8.6 Configure Error identifying assembler with VS2010 

  Notes
(0027531)
Alex Neundorf (developer)
2011-10-05 16:23

I need your help with that.
Does the MS assembler ml.exe have a command line argument so it just prints its name or version number and exits then ?

E.g. the GNU assembler as does this with --version:
$ as --version
GNU assembler (Linux/GNU Binutils) 2.21.51.0.6.20110118
Copyright 2011 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or later.
This program has absolutely no warranty.
This assembler was configured for a target of `i486-slackware-linux'.
$

Is there something similar for ml ?
What does e.g. "ml /?" print ?
Can you please post the output here ?

Thanks
Alex
(0027539)
Micha Renner (reporter)
2011-10-06 08:43

Does the MS assembler ml.exe have a command line argument so it just prints its name or version number and exits then ? No

c:\work-c\tm>ml

Microsoft (R) Macro Assembler Version 10.00.30319.01

Copyright (C) Microsoft Corporation. All rights reserved.



usage: ML [ options ] filelist [ /link linkoptions]

Run "ML /help" or "ML /?" for more info

The Microsoft logo with version information cannot be redirected: ml > tm.txt. so I assume for the logo the masm does not use stdout.

c:\work-c\tm>ml /?

Microsoft (R) Macro Assembler Version 10.00.30319.01

Copyright (C) Microsoft Corporation. All rights reserved. /?



        ML [ /options ] filelist [ /link linkoptions ]



/Bl<linker> Use alternate linker /safeseh Assert all exception

/c Assemble without linking handlers are declared

/Cp Preserve case of user identifiers /Sf Generate first pass listing

/Cu Map all identifiers to upper case /Sl<width> Set line width

/Cx Preserve case in publics, externs /Sn Suppress symbol-table listing

/coff generate COFF format object file /Sp<length> Set page length

/D<name>[=text] Define text macro /Ss<string> Set subtitle

/EP Output preprocessed listing to stdout /St<string> Set title

/F <hex> Set stack size (bytes) /Sx List false conditionals

/Fe<file> Name executable /Ta<file> Assemble non-.ASM file

/Fl[file] Generate listing /w Same as /W0 /WX

/Fm[file] Generate map /WX Treat warnings as errors

/Fo<file> Name object file /W<number> Set warning level

/Fr[file] Generate limited browser info /X Ignore INCLUDE environment path

/FR[file] Generate full browser info /Zd Add line number debug info

/G<c|d|z> Use Pascal, C, or Stdcall calls /Zf Make all symbols public

/I<name> Add include path /Zi Add symbolic debug info

/link <linker options and libraries> /Zm Enable MASM 5.10 compatibility

/nologo Suppress copyright message /Zp[n] Set structure alignment

/omf generate OMF format object file /Zs Perform syntax check only

/Sa Maximize source listing

/errorReport:<option> Report internal assembler errors to Microsoft

    none - do not send report

    prompt - prompt to immediately send report

    queue - at next admin logon, prompt to send report

    send - send report automatically

For an detailed description see here:
http://msdn.microsoft.com/de-de/library/s0ksfwcf.aspx [^]

Micha
(0027541)
Alex Neundorf (developer)
2011-10-06 12:02
edited on: 2011-10-06 12:04

Can you please try with the DetectMasmCompilerId branch on cmake stage ?
http://cmake.org/gitweb?p=stage/cmake.git [^]

Otherwise, you may simply replace the CMakeDetermineASMCompiler.cmake
from your installation with the one attached here, this should work too (at least for 2.8.6, not quire sure for 2.8.5).

Alex

(0027542)
Micha Renner (reporter)
2011-10-06 12:40

The result is:
The ASM_MASM compiler identification is MSVC

Found assembler: C:/Program Files/Microsoft Visual Studio 10.0/VC/bin/ml.exe

YES1C:/Program Files/Microsoft Visual Studio 10.0/VC/bin/ml.exe

Micha
(0027543)
Alex Neundorf (developer)
2011-10-06 13:38

Did you put the "YES1" there ?

Does it work for you now ?

Alex
(0027548)
Micha Renner (reporter)
2011-10-07 06:04
edited on: 2011-10-11 07:53

The YES is to test CMAKE_ASM_MASM_COMPILER_WORKS and CMAKE_ASM_MASM_COMPILER.

So the first part is solved, but
    ADD_EXECUTABLE(cTest CTest.c cAsm2.asm)
still does not start the MASM.

Micha

(0027564)
Alex Neundorf (developer)
2011-10-11 15:59

Are you using Makefiles or VisualStudio projects ?

Alex
(0027567)
Micha Renner (reporter)
2011-10-12 04:13

Only VisualStudio projects.

Micha
(0027573)
Alex Neundorf (developer)
2011-10-12 15:12

Ok.
Currently, assembler is only supported in the Makefile-based generators.
I don't have a Windows machine available, so I cannot really work on this.

You can have a look at Source/cmLocalVisualStudio7Generator.cxx, void cmLocalVisualStudio7Generator::AddHelperCommands(), and check what happens if you add a "lang.insert("ASM");" there.
Maybe it makes it work.

Alex
(0027603)
Alex Neundorf (developer)
2011-10-18 16:53

I'm closing this one, because 0011536 is actually the ticket for ASM support in the VisualStudio generators.
So, please check whether what I suggested, and post the reply not here but in 0011536.

Thanks
Alex
(0028024)
Micha Renner (reporter)
2011-12-21 03:28

What does "fixed in version" mean? If it means the problem is solved, then I disagree. The MASM is still not invoked in 2.8.7rc1
(0028028)
David Cole (manager)
2011-12-21 08:29

Alex closed this because it's a duplicate of the existing bug 0011536.

I set the "version" fields so that this bug shows up on the roadmap and change log pages.

It's "resolved" as a duplicate, but it's not really fixed yet.

Sorry for the confusion.

Monitor the other bug to be notified as changes are made that may be relevant to your interest.
(0029456)
David Cole (manager)
2012-05-09 15:26

Closing resolved issues that have not been updated in more than 4 months.

 Issue History
Date Modified Username Field Change
2011-09-19 04:20 Micha Renner New Issue
2011-09-19 04:20 Micha Renner File Added: tm.zip
2011-09-19 09:58 Brad King Assigned To => Alex Neundorf
2011-09-19 09:58 Brad King Status new => assigned
2011-10-05 16:23 Alex Neundorf Note Added: 0027531
2011-10-06 08:43 Micha Renner Note Added: 0027539
2011-10-06 12:02 Alex Neundorf Note Added: 0027541
2011-10-06 12:02 Alex Neundorf File Added: CMakeDetermineASMCompiler.cmake
2011-10-06 12:04 Alex Neundorf Note Edited: 0027541
2011-10-06 12:40 Micha Renner Note Added: 0027542
2011-10-06 13:38 Alex Neundorf Note Added: 0027543
2011-10-07 06:04 Micha Renner Note Added: 0027548
2011-10-11 07:53 Micha Renner Note Edited: 0027548
2011-10-11 15:59 Alex Neundorf Note Added: 0027564
2011-10-12 04:13 Micha Renner Note Added: 0027567
2011-10-12 15:12 Alex Neundorf Note Added: 0027573
2011-10-18 11:55 Brad King Relationship added related to 0012524
2011-10-18 16:47 Alex Neundorf Relationship added related to 0011536
2011-10-18 16:53 Alex Neundorf Note Added: 0027603
2011-10-18 16:53 Alex Neundorf Status assigned => closed
2011-10-18 16:53 Alex Neundorf Resolution open => fixed
2011-12-16 17:18 David Cole Fixed in Version => CMake 2.8.7
2011-12-16 17:18 David Cole Target Version => CMake 2.8.7
2011-12-21 03:28 Micha Renner Note Added: 0028024
2011-12-21 03:28 Micha Renner Status closed => feedback
2011-12-21 03:28 Micha Renner Resolution fixed => reopened
2011-12-21 08:29 David Cole Note Added: 0028028
2011-12-21 08:29 David Cole Relationship replaced duplicate of 0011536
2011-12-21 08:29 David Cole Status feedback => resolved
2011-12-21 08:29 David Cole Resolution reopened => duplicate
2012-05-09 15:26 David Cole Note Added: 0029456
2012-05-09 15:26 David Cole Status resolved => closed


Copyright © 2000 - 2018 MantisBT Team