CMake is a cross platform build utility. Its easy to use and configurable on all platforms - all it needs is a list of files in the code.
I see that currently your application generates GCC or g++ based make files, which is not a "platform compatible option" really. For example, I might just want to use the make files for MSVC itself. Or use mingw32 on different platform or Qt...
Also, there is a bug in the output.Please check the below
.PHONY: ConsoleTestApp
ConsoleTestApp: MusicNoteLib
cd $(MAKE) -f ConsoleTestApp.mak
Empty "cd" command and it turns out in the code the path computation is not working correctly. I changed the code and it started to generate "hard coded" path such as c:/path/to/makefile. For example,
.PHONY: ConsoleTestApp
ConsoleTestApp: MusicNoteLib
cd c:/path/to/makefile/ $(MAKE) -f ConsoleTestApp.mak
A more good option is to generate relative path. Such as..
.PHONY: ConsoleTestApp
ConsoleTestApp: MusicNoteLib
cd ../ $(MAKE) -f ConsoleTestApp.mak
This is more portable.
CMake addresses all these problems and very elegantly too. Dependencies are handled very neat.
1) I know what CMake is, also i know that CMake does not require only files list, also some CMake scripts creation and its internal language knowledge. If you just want to talk about CMake advantages it's not the place, since:
My tool were created especially for those users who use Windows-Linux cross-platform and do not skilled enough with LINUX makefile creation and/or someone who'd like to save its time and avoid manual LINUX makefile creation.
I have discussed this issue in my previous messages on this forum, you are welcome to read it there as well.
Moreover, if you are not one of those users i described above, you don't have to use my tool, it's too easy My tool has its own target audience, i will excuse you if you are not within it.
Hmmm.... What an arrogance !! All that I was asking is if you could make your application output CMake files also. You can say no if you do not want to. No need to defend it too much. As for the bugs:
Your code produced the below output. Do you see the empty "cd" command? What kind of usage you want me to read to correct it??? Don't tell me its by design now !!
cd $(MAKE) -f ConsoleTestApp.mak
And how about the below error while running your application? I am not the only one who got it - Some one else also reported it !! Any idea why you got that error ??
Unhandled Exception: System.Runtime.InteropServices.COMException (0x80040154): Retrieving the COM class factory for component with CLSID {FBBF3C66-2428-11D7-8BF6-00B0D03DAA06} failed due to the following error: 80040154.
at sln2mak.VcProjInfo..ctor(String vcProjFile, String outFile, String[] projDependencies)
at sln2mak.VcSlnInfo.iSendToParseVcprojFiles()
at sln2mak.VcSlnInfo.GenerateMakefile(Boolean parseVcproj)
at sln2mak.VcSlnInfo.GenerateMakefile()
at sln2mak.Parser.ParseSln(String projName, String slnFName)
at sln2mak.Program.Main(String[] args)
And who ever said that Linux people only use gcc or g++ ??
We are trying to help you improve your application, Maria. We are not here to fight with you. No need to say "don't use my tool if you don't want to". That's not the right attitude. If you don't want any one to use your tool, why did you put it in public site? You say you want only someone to use your tool and not others, then I say - let me help you make the tool acceptable for everyone by proposing more correct architecture and additional features. If you cannot implement the features, thats fine. But if you cannot accept the criticism itself, then you should not come into public.
Defending your application, does not make it correct. Accepting the feedback and trying to address it will make it correct.
I wanted to use your tool - but your tool did not work for me because of the above bugs !! I have absolutely no need to take time to write all this for you - but I am doing it wasting my time - do you know the reason? A simple hope that one day you might learn to accept the failures and address them correctly.
Hi Gopalakrishna, as you pointed out this application is not working at all. However this led me to your application -- CFuge. Wonderful Guru!!! Simple yet cool application. I wonder why you say that it is in Alpha stage yet! This is not the right forum to comment I know, but couldn't resist, its that good.
And Maria, what Gopalkrishna commented is very much true. I have seen your profile on linked-in. You are a professional and you must show professionalism especially when you are making yourself visible to the world. The effort behind the application is appreciable. We need such applications for the open source community. I wish it worked well and you responded positively to the shortcomings reported by its users. No hard feelings intended, only a friendly advice...
Glad to hear that you found CFugue to be good, Sharjith. Unfortunately, I cannot still mark it is as full release or at least beta - since much of the work is still in progress. I understand the initial release with few features (such as notes, chords and durations etc.) is working correctly - but there is some platform dependent code that need be fixed and there are few API interface changes that need be improved.
The idea was to make the release 1.0 available simultaneously on all platforms at the same time. But then may be you are right - may be I can try to be "less ambitious", so to say, and try to spread the design goals across multiple releases instead of one single "big bang" release. Let me see what I can do.