Le Sun, 09 Nov 2008 22:24:45 +0100, Óscar Fuentes <[EMAIL PROTECTED]> a écrit :
> While cross-compiling, I'm trying to avoid depending on previously > built executables, that is, the cross-compile build should create the > native utilities it needs. For this, I'm trying > > execute_process( > COMMAND ${CMAKE_COMMAND} -DCMAKE_BUILD_TYPE=Release > ${CMAKE_SOURCE_DIR} WORKING_DIRECTORY ${CX_NATIVE_TG_DIR} > ) > > where CX_NATIVE_TG_DIR is a new directory where the native build is > performed. Later, > > add_custom_command(OUTPUT ${LLVM_TABLEGEN} > COMMAND ${CMAKE_BUILD_TOOL} -C ${CX_NATIVE_TG_DIR}/utils/TableGen > COMMENT "Building native TableGen...") > add_custom_target(NativeTableGen DEPENDS ${LLVM_TABLEGEN}) > > The problem is in execute_process. The cmake process created by it is > taking variable values from the enclosing cmake, so it uses the same > compiler, configure variables, etc. What do you mean by "variables"? CMake one or Environment one? I would say that environment may be inherited but not CMake one? Is this the case? (I have no experience of cross-compiling with CMake). > How can this be avoided? I want the nested cmake to work as if the > enclosing cmake didn't existed. May be it would be possible to "reset" the cross-compile setup using appropriate CMAKE_TOOLCHAIN_FILE? Or you may reverse your scheme, Always run a "native" build for building native tool and make the native build invoke the Cross build using EXECUTE_PROCESS( COMMAND ${CMAKE_COMMAND} CMAKE_TOOLCHAIN_FILE= ... ) -- Erk _______________________________________________ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake