I am creating a new project, using KDS to generate projectinfo.xml, and IAR workbench. KDS generates absolute paths for all the files it lists in projectinfo.xml, it would really be far more helpful to be able to generate project relative path names. In particular, using IAR workbench it would be good to be able to prefix the relative paths with $PROJ_DIR$. This is a shared project, and each developer is likely to have a different absolute path to their project.
This should not be configurable, instead this should be considered a major blocking bug and be fixed asap.
I have just began evaluating the possibility of using this IDE when I stumbled across this thread here and I can confirm that it will indeed put absolute paths into this file. This would cause all kinds of problems as soon any of my team members would checkout an existing project from the repository on his machine containing absolute paths that were once valid on a different machine but might not even exist anymore.
You guys from Freescale/NXP know what version control is and how software is built nowadays and what developers actually want and need, don't you? I hope you do.
This is a show stopper bug, I cannot even think about using this IDE until this is fixed.
The projectinfo.xml file is generated for other IDE's like IAR Embedded workbench so they can import the files. I don't put that file into the version control system as it is a generated/derived file, and therefore should not be put into a VCS system anyway, like not putting compiled object files into a version control system.
About VCS: That .xml file has been added more recently, so the following article does not cover it, but the following article still would apply to the other files: https://mcuoneclipse.com/2013/03/29/version-control-with-processor-expert-projects/
And that file gets re-generated if it is not present with the first checkout. At least in my environment I have not faced issues with that approach.
I hope this helps,
What about the subdir.mk files? They seems to be generated from that generated ProjectInfo.xml (specifically the ProseeorExpert.ld file)? I'm trying to create a build server for our firmware and the absolute paths in the .mk files make it impossible to have a smooth process without messing with files and string replacement, which is pretty hacky.
the .mk (including the subdir.mk) are generated by the Eclipse managed make system, and are not related to the ProjectInfo.xml at all. These make files are autogenerated by Eclipse. If you cannot use the full paths, then you probably want to use a normal make file project (you would have to make that make file), or write a script to remove the paths.
I hope this helps,
I see; hope someone fixes this some day! Whethere it's Eclipse or KDS or whoever needs to fix it to add relative paths, which is something so basic for build systems.
There is nothing to fix in my opinion, because this is the way how the Eclipse CDT managed make works. If you don't want to use these make files, then still you could write your own.
But you can re-generate the make files from a build server (e.g. check the project out from a VCS, then build it with Eclipse, see Building Projects with Eclipse from the Command Line | MCU on Eclipse ).
I hope this helps,
Joseph, my solution was to remove projectinfo.xml from source control and let KDS generated on every client. I also added it to ".gitignore"; however, the xml file was not the problem as Erich mentioned above. The problem is the .mk files containing obsolute paths instead of relative paths, which is a bug and an annoying one at that. It's a bug in Eclipse and not specific to KDS, but nevertheless, it is a bug and I hope someone will fix.
For building from the command line, I made a copy of the 'Release' folder and renamed it to 'build' and did a search and replace to correct the paths. When you want to build, go into the 'build' folder and type 'make -j 8 all' and that should work.
Hope this helps