chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] alternate build tools


From: Patrick Brannan
Subject: Re: [Chicken-users] alternate build tools
Date: Mon, 3 Oct 2005 22:55:29 -0500

Sigh. I sent a messed up CMakeLists.txt and I feel badly about it. I changed the name of the implib in the library target and did not adjust everything else. Natrually everything following the change broke.

Anyway, a new file is attached.

On 10/3/05, Patrick Brannan <address@hidden> wrote:
Maybe it's not so bad. I got it completing an entire build using the shared library on Windows. Now that I have dug into it a bit more, I think that the tool has merit, but is not documented well. I can list the following positive points:

1. You really can build something easily with CMake. The configuration language can be terse when compared to make.
2. The install for Windows worked as advertised. They even release binaries.
5. Creates build files for all sorts of systems.
6. You do not have to re-run cmake for minor cmake updates. Make or nmake will call cmake and update as needed.
7. The user base seems active based on their list traffic.

On the negative side:

1. Documentation is weak.
2. Setting properties on files and targets did not always do what I expected.
3. MinGw is not officially supported though apparently it works.
4. The CMake approach takes a little getting used to. I was expecting something like Maven or Ant for C but it is not like that at all. The CMake language is a mix of imperative and declarative.

As far as my previous complaints go, I hadn't researched enough for a couple of them. You can set the OUTPUT_FILE name for an executable target. This doesn't seem to work for library targets. You could work around this by configuring the build for shared or static.

CMake has a nice facility for configuration files that I have not used. It might make all the defines in my CMakeLists file go away.

Anyway, I have attached my CMakeLists.txt file for you to look at. Several parts could be optimized with some thought. For one thing, building all of the scm files at the end (csi, chicken-setup, etc) could be handled in a FOREACH loop. For another, we might use configurable files as includes to handle the defines.

To make the test work with chicken 2.2 first fix the winsock.h include bug in tcp, posix, and scheduler. Then run the following commands. (I assume you have the free MS tools installed as described in vctk-install.txt.

cmake -G "NMake MakeFiles" .
nmake

My CMakeCache is also attached. It is generated the first time you run CMake. You can set up compiler and linker flags in this file.

You could easily set up the cmake to prompt for install directories etc. It's not perfect, but I think it is workable and that it might actually save some time.


On 10/3/05, Alejandro Forero Cuervo < address@hidden> wrote:
> BTW I still can't see my own posts, which is a bit annoying.  I only
> see this behavior on this list.

I *think* that's likely caused by a Mailman configuration setting.  At
least, if memory serves me right, it does have one such setting.

I find that annoying as well. :/

Alejo.
http://azul.freaks-unidos.net/

---=(  Comunidad de Usuarios de Software Libre en Colombia  )=---
---=(   http://bachue.com/colibri )=--=( address@hidden  )=---


_______________________________________________
Chicken-users mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/chicken-users



Attachment: CMakeLists.txt
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]