Am Sonntag Februar 19 2006 22:30 schrieb Prakash Punnoor: > Hi, > > I am using these files to get nasm support: > http://www.cmake.org/pipermail/cmake/2005-November/007478.html > > This works for compilation, but recently I wanted to make a test using > TRY_COMPILE like this: > > # check nasm visibility support > SET(SOURCE "global _foo:function hidden") > FILE(WRITE "${CMAKE_BINARY_DIR}/CMakeTmp/src.nasm" "${SOURCE}") > > TRY_COMPILE(NASM_HAS_VISIBILITY > ${CMAKE_BINARY_DIR} > ${CMAKE_BINARY_DIR}/CMakeTmp/src.nasm > CMAKE_FLAGS > OUTPUT_VARIABLE OUTPUT) > > But I get: > > CMake Error: CMAKE_ASM_COMPILER not set, after EnableLanguage > CMake Error: Internal CMake error, TryCompile configure of cmake failed > > What have I forgotton? I notice that despite the line > > CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/admin/CMakeModules/CMakeASMCompiler.cmak >e.in ${CMAKE_BINARY_DIR}/CMakeFiles/CMakeASMCompiler.cmake IMMEDIATE @ONLY) > > in CMakeDetermineASMCompiler.cmake the file doesn't get created (at least I > don't find it). But if I leave out that line, CMake errors. I don't know > whether this is related to above problem. > > > I am using cmake version 2.2-patch 3.
OK, I found one fault of myself and one possible bug in CMake: - I forgot an CMakeTestASMCompiler.cmake file. I added it containing this line: SET(CMAKE_ASM_COMPILER_WORKS 1 CACHE INTERNAL "") - I needed to add the variable CMAKE_ASM_LINK_EXECUTABLE in CMakeASMInformation.cmake. (It contaisn the same as the compile objects line, so it is just faking.) If I now try above code, the CONFIGURE_FILE command actually creates the wanted file in CMakeFiles, but I get this: CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly. Missing variable is: CMAKE_ASM_COMPILE_OBJECT CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly. Missing variable is: CMAKE_ASM_LINK_EXECUTABLE CMake Error: Internal CMake error, TryCompile generation of cmake failed But, if I copy my 4 files for nasm integration from my project module dir into CMAKE_ROOT (and adjusting the path in the CONFIGURE_FILE command) it works! So this seems to be a bug in cmake. Currently I am using the cvs version and experience above. (cmake version 2.3-20060223) Now another question: nasm cannot link code, so what should I write into CMAKE_ASM_LINK_EXECUTABLE? It should use the default c/c++/whatever linker. Why does TRY_COMPILE not only compile but also try to link the code? Actually compilng only would be enough to run most tests and would also be a bit faster if you avoid linking. This is now a major problem for me. I really don't want to work-around all this troubles.... Cheers, -- (°= =°) //\ Prakash Punnoor /\\ V_/ \_V _______________________________________________ CMake mailing list [email protected] http://www.cmake.org/mailman/listinfo/cmake
