Hi Trevor, On Monday 28 May 2007 13:24, Trevor Kellaway wrote: > Alex, > > > > Attached is an example set of scripts for adding tool chain support > > > for Freescale HC12 embedded 16-bit microcontroller. This is > > > > intended > > > > > as a demonstration to others for how to add additional tool chain > > > support (see the ReadMe.txt in the ZIP). > > > > Thanks for your efforts, this looks really good ! > > But before publishing this as tutorial, please wait until > > everything is tested a bit more and we found the final form > > for everything. > > No problem, when everything is stable I was intending to create a Wiki > page for this, with extracts from this example. > > > Some questions/notes: > > You are using HC12_CORE. I'm still wondering whether > > standardizing on CMAKE_SYSTEM_PROCESSOR (which already > > exists) would be a good idea to use for this. > > As Kishore said the problem is that for microcontrollers there is > normally a family and a specific processor. In this case "HC12" is the > family, the actual processor is a "MC9S12DP512". > > > Maybe the system type should be set to "Generic". Then cmake > > could automatically try to load ${CMAKE_SYSTEM_NAME}.cmake # > > does probably nothing ${CMAKE_SYSTEM_NAME}-${CMAKE_C_COMPILER}.cmake > > # "Generic-hc12.cmake", sets compiler rules and > > ${CMAKE_SYSTEM_NAME}-${CMAKE_C_COMPILER}-${CMAKE_SYSTEM_PROCES > > SOR}.cmake > > # sets the flags for the processor > > > > What do you think about this ? > > I don't see any difference between > "${CMAKE_SYSTEM_NAME}-${CMAKE_C_COMPILER}.cmake" and > "${CMAKE_SYSTEM_NAME}-${CMAKE_C_COMPILER}-${CMAKE_SYSTEM_PROCESSOR}.cmak > e" as they are both for the same family and use the same settings. > > ${CMAKE_C_COMPILER} isn't really "HC12", it is actually "chc12.exe", so > this could be misleading.
I checked in a change in cvs yesterday. Now cmake tries to load: Platform/CMAKE_SYSTEM.cmake Platform/CMAKE_SYSTEM-<COMPILER_BASENAME>.cmake Platform/CMAKE_SYSTEM-<COMPILER_BASENAME>-CMAKE_SYSTEM_PROCESSOR.cmake So if you set up CMAKE_MODULE_PATH to point to some directory where you have your cmake files, and if you set CMAKE_SYSTEM and CMAKE_SYSTEM_PROCESSOR accordingly, it should work (if you put them in a subdir "Platform"). I suggest the following: Generic.cmake // basically empty, will be added to cmake Generic-chc12.cmake // rules for this compiler, might be added to cmake Generic-chc12-MySpecificTargetHardware.cmake // everything for your target // hardware, in general no such file will be added to // cmake, since this is very user specific This might now already work if you simply specify CMAKE_SYSTEM, CMAKE_SYSTEM_PROCESSOR and CMAKE_C_COMPILER via -D from the command line (i.e. without toolchain file). Let me know how this works for you. Alex _______________________________________________ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake