View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0014210 | CMake | CMake | public | 2013-06-09 14:47 | 2013-06-11 16:01 | ||||
Reporter | szx | ||||||||
Assigned To | Alex Neundorf | ||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||
Status | closed | Resolution | fixed | ||||||
Platform | OS | Windows 8 | OS Version | ||||||
Product Version | |||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0014210: CMAKE_ASM_NASM_COMPILER is set to "nasm;yasm" instead of a full path | ||||||||
Description | I have only yasm installed (no nasm) but CMake sets the CMAKE_ASM_NASM_COMPILER variable to "nasm;yasm" whereas in earlier versions (2.8.9?) it was set to the full path to the nasm/yasm compiler. | ||||||||
Steps To Reproduce | Test project: project(test) cmake_minimum_required(VERSION 2.8.11) enable_language(ASM_NASM) | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | ![]() ![]() | ||||||||
Relationships | |
Relationships |
Notes | |
(0033259) Alex Neundorf (developer) 2013-06-09 15:42 |
Does that happen on a fresh buildtree, or do you already have something in the cache (CMakeCache.txt) ? |
(0033260) szx (reporter) 2013-06-09 18:00 |
Yes, it's a fresh build. |
(0033261) Alex Neundorf (developer) 2013-06-09 18:17 |
Which generator are you using ? |
(0033262) szx (reporter) 2013-06-10 04:24 edited on: 2013-06-10 04:27 |
I tried MinGW Makefiles and Visual Studio 10/11, none of them worked. Here's the output from the MinGW one: The C compiler identification is GNU 4.8.0 The CXX compiler identification is GNU 4.8.0 Check for working C compiler: C:/mingw32/bin/gcc.exe Check for working C compiler: C:/mingw32/bin/gcc.exe -- works Detecting C compiler ABI info Detecting C compiler ABI info - done Check for working CXX compiler: C:/mingw32/bin/g++.exe Check for working CXX compiler: C:/mingw32/bin/g++.exe -- works Detecting CXX compiler ABI info Detecting CXX compiler ABI info - done The ASM_NASM compiler identification is unknown Found assembler: nasm;yasm CMake Error: your ASM_NASM compiler: "nasm;yasm" was not found. Please set CMAKE_ASM_NASM_COMPILER to a valid compiler path or name. Configuring incomplete, errors occurred! Interestingly, VS10 generator printed a weird error during configuration: The C compiler identification is MSVC 16.0.30319.1 The CXX compiler identification is MSVC 16.0.30319.1 Check for working C compiler using: Visual Studio 10 Check for working C compiler using: Visual Studio 10 -- works Detecting C compiler ABI info Detecting C compiler ABI info - done Check for working CXX compiler using: Visual Studio 10 Check for working CXX compiler using: Visual Studio 10 -- works Detecting CXX compiler ABI info Detecting CXX compiler ABI info - done CMake Error at C:/Program Files/CMake 2.8/share/cmake-2.8/Modules/CMakeDetermineASMCompiler.cmake:21 (if): if given arguments: "nasm" "yasm" "MATCHES" ".+" Unknown arguments specified Call Stack (most recent call first): C:/Program Files/CMake 2.8/share/cmake-2.8/Modules/CMakeDetermineASM_NASMCompiler.cmake:26 (include) CMakeLists.txt:3 (enable_language) CMake Error: Could not find cmake module file:C:/Users/szx/Desktop/test/build/CMakeFiles/2.8.11.1/CMakeASM_NASMCompiler.cmake Configuring incomplete, errors occurred! ^ Looks like the if() condition was passed the same string "nasm;yasm" and interpreted it as a list. |
(0033266) szx (reporter) 2013-06-10 11:00 |
Forgive my stupidness, it turns out I forgot to add yasm to the system PATH! Though I must admit the contents of the CMAKE_ASM_NASM_COMPILER variable are somewhat misleading. Shouldn't it be set to an empty string on error? |
(0033267) Alex Neundorf (developer) 2013-06-10 17:22 |
No, it's ok. The detect compiler function was changed in 2.8.10 and the assembler support was not modified accordingly. It seems instead of the _INIT variable the _LIST variable should be set. I'll post a patch later today. |
(0033268) Alex Neundorf (developer) 2013-06-10 18:30 |
Can you please put the two attached files in your cmake installation and see whether this makes it work better for you, both in the case that you have yasm in the PATH and that you don't have if it in the PATH ? Thanks Alex |
(0033271) szx (reporter) 2013-06-11 13:05 |
Now with the new files when yasm is not found CMAKE_ASM_NASM_COMPILER is set to CMAKE_ASM_NASM_COMPILER-NOTFOUND and I see "Didn't find assembler". When found it's set to the full path. |
(0033272) Alex Neundorf (developer) 2013-06-11 16:01 |
Merged into next, so it should be in the next release. |
Notes |
Issue History | |||
Date Modified | Username | Field | Change |
2013-06-09 14:47 | szx | New Issue | |
2013-06-09 15:04 | Alex Neundorf | Assigned To | => Alex Neundorf |
2013-06-09 15:04 | Alex Neundorf | Status | new => assigned |
2013-06-09 15:42 | Alex Neundorf | Note Added: 0033259 | |
2013-06-09 18:00 | szx | Note Added: 0033260 | |
2013-06-09 18:17 | Alex Neundorf | Note Added: 0033261 | |
2013-06-10 04:24 | szx | Note Added: 0033262 | |
2013-06-10 04:26 | szx | Note Added: 0033263 | |
2013-06-10 04:27 | szx | Note Deleted: 0033263 | |
2013-06-10 04:27 | szx | Note Edited: 0033262 | |
2013-06-10 11:00 | szx | Note Added: 0033266 | |
2013-06-10 17:22 | Alex Neundorf | Note Added: 0033267 | |
2013-06-10 18:28 | Alex Neundorf | File Added: CMakeDetermineASM_NASMCompiler.cmake | |
2013-06-10 18:28 | Alex Neundorf | File Added: CMakeDetermineASMCompiler.cmake | |
2013-06-10 18:30 | Alex Neundorf | Note Added: 0033268 | |
2013-06-11 13:05 | szx | Note Added: 0033271 | |
2013-06-11 16:01 | Alex Neundorf | Note Added: 0033272 | |
2013-06-11 16:01 | Alex Neundorf | Status | assigned => closed |
2013-06-11 16:01 | Alex Neundorf | Resolution | open => fixed |
Issue History |
Copyright © 2000 - 2018 MantisBT Team |