Alex, > So you are not only cross compiling, you are also using a > completely different toolchain. This means you have to write > a cmake file which sets all the required cmake variables for > this toolchain (like CMAKE_C_LINK_EXECUTABLE etc.). This > usually either goes into the SYSTEM-COMPILER.cmake or > SYSTEM.cmake file. The rules for the compiler can't go into > the toolchain file, because currently they will be > overwritten by CMakeGenericSystem.cmake and maybe in other > places. I could change it so that there it sets only if it is > not set yet, but it's not realistic do get this done for > *all* variables used somewhere in Modules/ . I have to check > whether that works if this is limited to the variables set in > CMakeGenericSystem.cmake . > > [...] > > Actually the CMAKE_TOOLCHAIN_FILE file doesn't do that much, > but I think requiring the user to give 4 or 5 parameters via > -D or by setting up the cache manually before would be not > user friendly.
Understood, this makes more sense (and is sort of how I'd split it out already). > > If I use the command line "CMake -G"NMake Makfiles" > > -DCMAKE_TOOLCHAIN_FILE:string=Toolchain-Freescale-HC12 > ..\..\source" > > and having set my PATH up to include a directory containing > > "Toolchain-Freescale-HC12.cmake" I was rather hoping CMake > would find > > this, but no. Trying > > "-DCMAKE_TOOLCHAIN_FILE:string=Toolchain-Freescale-HC12.cmake" also > > I didn't test it yet under Windows, but actually relative > paths should work. > Does prepending ".\" help ? I think you misunderstood me, the relative path to the source tree is fine, it is the search for the contents of CMAKE_TOOLCHAIN_FILE "Toolchain-Freescale-HC12" that only works with a full path. I want to create a directory with multiple Toolchain-*-* in it and not have to specify a full path on the CMake command line, and let CMake process it as if the file was in the CModule directory. So, what is the right way to add a new directory that CMake should search and treat like the CModule directory? > > -- Check for working C compiler: C:/Program Files/Freescale/CW for > > HC12 V4.5/prog/chc12.exe -- broken > > Is it this one ? It takes the standard style "-I", where in the CMake modules does the CModule directory include get generated? I couldn't find this. > Can you please post a command line how to invoke the compiler > and how to pass a include dir to it ? Let me try and have another go before posting anything. > Ok, so this is a very "embedded" compiler. In this case you > have to preset some more variables in the toolchain file, > like CMAKE_C_COMPILER_WORKS to TRUE. Understood, this is why I was setting these in my first attempt. - TrevK _______________________________________________ CMake mailing list [email protected] http://www.cmake.org/mailman/listinfo/cmake
