MantisBT - CMake |
View Issue Details |
|
ID | Project | Category | View Status | Date Submitted | Last Update |
0012465 | CMake | CMake | public | 2011-09-19 04:20 | 2012-05-09 15:26 |
|
Reporter | Micha Renner | |
Assigned To | Alex Neundorf | |
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | duplicate | |
Platform | Windows | OS | Windows 8 | OS Version | 8 |
Product Version | CMake 2.8.5 | |
Target Version | CMake 2.8.7 | Fixed in Version | CMake 2.8.7 | |
|
Summary | 0012465: masm & msvc |
Description | as 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
|
Steps To Reproduce | |
Additional Information | |
Tags | No tags attached. |
Relationships | duplicate of | 0011536 | closed | Patrick R. Gansterer | Can't use assembler files with Visual Studio 10 generator | related to | 0012524 | closed | Alex Neundorf | CMake 2.8.6 Configure Error identifying assembler with VS2010 |
|
Attached Files | tm.zip (40,011) 2011-09-19 04:20 https://public.kitware.com/Bug/file/4056/tm.zip
CMakeDetermineASMCompiler.cmake (8,631) 2011-10-06 12:02 https://public.kitware.com/Bug/file/4067/CMakeDetermineASMCompiler.cmake |
|
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 | bug_revision_view_page.php?bugnote_id=27541#r431 |
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 | bug_revision_view_page.php?bugnote_id=27548#r433 |
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 |
Notes |
|
(0027531)
|
Alex Neundorf
|
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
|
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
|
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
|
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
|
2011-10-06 13:38
|
|
Did you put the "YES1" there ?
Does it work for you now ?
Alex |
|
|
(0027548)
|
Micha Renner
|
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
|
2011-10-11 15:59
|
|
Are you using Makefiles or VisualStudio projects ?
Alex |
|
|
(0027567)
|
Micha Renner
|
2011-10-12 04:13
|
|
Only VisualStudio projects.
Micha |
|
|
(0027573)
|
Alex Neundorf
|
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
|
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
|
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
|
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
|
2012-05-09 15:26
|
|
Closing resolved issues that have not been updated in more than 4 months. |
|