[Top][All Lists]

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

Re: [Chicken-users] CMake testing

From: Patrick Brannan
Subject: Re: [Chicken-users] CMake testing
Date: Sat, 22 Oct 2005 21:32:12 -0500

Sorry for the double email, Brandon. I sent the first copy of this to you instead of the group. Anyway, here is the email again, sent to the group this time.

I did develop this with the Microsoft free tools. In fact I did it on two machines, one of which never had Visual C++ installed.

I was negligent in the documentation I sent with the cmake files. I left out the fact that I always created a command prompt by running a batch file to set up my build environment. The batch file is set up exactly in accordance with the instructions in vctk-install.txt. Here it is:

========start console.bat===========

set LIB=C:\Program Files\Microsoft Platform SDK\Lib;C:\Program Files\Microsoft Visual C++ Toolkit 2003\lib\

set INCLUDE=C:\Program Files\Microsoft Platform SDK\Include;C:\Program Files\Microsoft Visual C++ Toolkit 2003\include

set PATH=C:\Program Files\Microsoft Platform SDK\Bin;C:\Program Files\Microsoft Platform SDK\Bin\WinNT;C:\Program Files\Microsoft Visual C++ Toolkit 2003\bin;C:\WINDOWS\Microsoft
.NET\Framework\v1.1.4322;C:\Program Files\Microsoft Platform SDK\Bin\win64;C:\WINDOWS\SYSTEM32\

set CHICKEN_HOME=C:\working\scheme\chicken-2.2
set CHICKEN_REPOSITORY=C:\working\scheme\repository
========end console.bat============

If you have the free c++ environment set up as described in vctk-install.txt then you should be able to run CMake after generating a command prompt with the batch file above. Of course if you don't have things where they are expected things will probably not work too well.

My biggest disappointment in using CMake is that I could not find a way to build two targets with the same source files using different defines without resorting to including a generated config file. So to build static and dynamic versions of chicken you would have to run CMake twice. Maybe someone smarter than me can solve this problem.

I posted a message to the CMake list and received no response. Probably because to them it is a dumb question. I'm certainly no heavyweight c/c++ developer.


On 10/22/05, Brandon J. Van Every <address@hidden> wrote:
Graham Fawcett wrote:

>Running `cmake -G "NMake Makefiles"` didn't Just Work. I used
>cmakesetup.exe, which is a GUI for writing a configuration cache.
>Before running this, I had to add the MSVC toolchain to my PATH. I
>don't normally have them on PATH; and without them, cmakesetup
>wouldn't work properly. IOW, you cannot just run cmakesetup from the
>Start..Programs menu unless you have your tools on the PATH. Note that
>`cmake -G "NMake Makefiles"` did not work even when my tools were on
>the path.
I used the Chicken 2.2 tarball as a guinea pig, just adding
CMakeLists.txt to it and no other actions.  When I use my fully licensed
retail version of VC++ 7.1, 'cmake -G "NMake Makefiles"' generates its
output without a hitch.  When I use the free VC++ Toolkit, I get a bunch
of errors.  So, the problem is surely that the retail compiler has all
sorts of tools and paths configured properly, and the free version
doesn't.  Probably there is more work to get a valid build environment
going with the free version.  I did run the appropriate vcvars32.bat
with the free version, but that isn't enough to solve the problem.  I
bet I don't have the Platform SDK set up properly to work with the free
version; for instance, I don't see any includes or paths for it in the
envioronment.  Also beware of the 'csi' shadowing gotcha, as the
Platform SDK has its own csi.exe apparently.

>After that, cmakesetup ran fine. I had to specify
>binaries in the source directory. Trying to specify a different output
>directory seemed to cause problems; it looked like the cache was
>written to the build directory rather than the source directory when I
>tried this.
I haven't tried this yet.  I haven't gone up the learning curve of
cmake's theory of operation.  Sorry I'm just way too tired from the
physically demanding work of signature gathering.  Yes I am lame.  I'm
only good at getting people interested in better build systems.  :-)
I'll make more stabs as time and energy allow.

Brandon J. Van Every
    (cruise (director (of SeaFunc)
            '(Seattle Functional Programmers)))

Chicken-users mailing list

reply via email to

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