CMake for Windows?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
19 messages Options
Reply | Threaded
Open this post in threaded view
|

CMake for Windows?

Geoffroy Couprie
 
Hello,

I have been trying to adapt the Unix CMake files for the Windows port,
but I have difficulties understanding the sources layout. I understand
at least the difference between internal and external plugins, but
what is in vm/intplugins? It seems that CMake looks for sources in a
lot of directories, and that some of them are not used anymore. I have
these directory layouts:
platforms
 \-Cross
  \-plugins
   \-pluginA
    \-pluginB
  \-vm
 \-specificplatform
  \-plugins
   \-pluginA
   \-pluginB
  \-vm

And for the generated sources directory:
src
 \-pluginA
 \-pluginB
 \-vm

Is that the definitive sources layout?

Also, if you're interested in using CMake for Windows, should I
assemble Unix and Windows instructions in the same files?

Best regards,

Geoffroy Couprie
Reply | Threaded
Open this post in threaded view
|

Re: CMake for Windows?

melkyades
 
>I have been trying to adapt the Unix CMake files for the Windows port,

nice!!

If I am correct, when you generate sources with VMMaker you get something like this:

\-src
      \-plugins <- external plugins
            \-pluginA
            \-pluginB
      \-vm <- interpreter, gc, etc.
            \intplugins  <- internal plugings. Inside vm dir makes sense because
                                 they'll be statically linked to the VM.
                  \-pluginC
                  \-pluginD

This is all generated from Slang. You may have some other part of some plugins in Cross/plugins if they have code directly written in C.


Regards,
            Javier.


On Tue, Apr 13, 2010 at 12:58 PM, Geoffroy Couprie <[hidden email]> wrote:

Hello,

I have been trying to adapt the Unix CMake files for the Windows port,
but I have difficulties understanding the sources layout. I understand
at least the difference between internal and external plugins, but
what is in vm/intplugins? It seems that CMake looks for sources in a
lot of directories, and that some of them are not used anymore. I have
these directory layouts:
platforms
 \-Cross
 \-plugins
  \-pluginA
   \-pluginB
 \-vm
 \-specificplatform
 \-plugins
  \-pluginA
  \-pluginB
 \-vm

And for the generated sources directory:
src
 \-pluginA
 \-pluginB
 \-vm

Is that the definitive sources layout?

Also, if you're interested in using CMake for Windows, should I
assemble Unix and Windows instructions in the same files?

Best regards,

Geoffroy Couprie



--
Javier Pimás
Ciudad de Buenos Aires
Reply | Threaded
Open this post in threaded view
|

Re: CMake for Windows?

Igor Stasenko

On 13 April 2010 19:21, Javier Pimás <[hidden email]> wrote:

>
>>I have been trying to adapt the Unix CMake files for the Windows port,
>
> nice!!
>
> If I am correct, when you generate sources with VMMaker you get something like this:
>
> \-src
>       \-plugins <- external plugins
>             \-pluginA
>             \-pluginB
>       \-vm <- interpreter, gc, etc.
>             \intplugins  <- internal plugings. Inside vm dir makes sense because
>                                  they'll be statically linked to the VM.
>                   \-pluginC
>                   \-pluginD
>
Nope. My VMMaker producing following layout:

\src
  \vm
  \pluginA
  ...
  \pluginX
  plugins.int
  plugins.ext

> This is all generated from Slang. You may have some other part of some plugins in Cross/plugins if they have code directly written in C.
>
>
> Regards,
>             Javier.
>
>
> On Tue, Apr 13, 2010 at 12:58 PM, Geoffroy Couprie <[hidden email]> wrote:
>>
>> Hello,
>>
>> I have been trying to adapt the Unix CMake files for the Windows port,
>> but I have difficulties understanding the sources layout. I understand
>> at least the difference between internal and external plugins, but
>> what is in vm/intplugins? It seems that CMake looks for sources in a
>> lot of directories, and that some of them are not used anymore. I have
>> these directory layouts:
>> platforms
>>  \-Cross
>>  \-plugins
>>   \-pluginA
>>    \-pluginB
>>  \-vm
>>  \-specificplatform
>>  \-plugins
>>   \-pluginA
>>   \-pluginB
>>  \-vm
>>
>> And for the generated sources directory:
>> src
>>  \-pluginA
>>  \-pluginB
>>  \-vm
>>
>> Is that the definitive sources layout?
>>
>> Also, if you're interested in using CMake for Windows, should I
>> assemble Unix and Windows instructions in the same files?
>>
>> Best regards,
>>
>> Geoffroy Couprie
>
>
>
> --
> Javier Pimás
> Ciudad de Buenos Aires
>
>



--
Best regards,
Igor Stasenko AKA sig.
Reply | Threaded
Open this post in threaded view
|

Re: CMake for Windows?

melkyades
 
Maybe it's different in unix and windows. That's the layout I have in unix with recent squeak and pharo images. Are you generating for unix or windows? because CMake is currently used for unix (and mac I think).

Regards,
            Javier.

On Tue, Apr 13, 2010 at 2:55 PM, Igor Stasenko <[hidden email]> wrote:

On 13 April 2010 19:21, Javier Pimás <[hidden email]> wrote:
>
>>I have been trying to adapt the Unix CMake files for the Windows port,
>
> nice!!
>
> If I am correct, when you generate sources with VMMaker you get something like this:
>
> \-src
>       \-plugins <- external plugins
>             \-pluginA
>             \-pluginB
>       \-vm <- interpreter, gc, etc.
>             \intplugins  <- internal plugings. Inside vm dir makes sense because
>                                  they'll be statically linked to the VM.
>                   \-pluginC
>                   \-pluginD
>
Nope. My VMMaker producing following layout:

\src
 \vm
 \pluginA
 ...
 \pluginX
 plugins.int
 plugins.ext

> This is all generated from Slang. You may have some other part of some plugins in Cross/plugins if they have code directly written in C.
>
>
> Regards,
>             Javier.
>
>
> On Tue, Apr 13, 2010 at 12:58 PM, Geoffroy Couprie <[hidden email]> wrote:
>>
>> Hello,
>>
>> I have been trying to adapt the Unix CMake files for the Windows port,
>> but I have difficulties understanding the sources layout. I understand
>> at least the difference between internal and external plugins, but
>> what is in vm/intplugins? It seems that CMake looks for sources in a
>> lot of directories, and that some of them are not used anymore. I have
>> these directory layouts:
>> platforms
>>  \-Cross
>>  \-plugins
>>   \-pluginA
>>    \-pluginB
>>  \-vm
>>  \-specificplatform
>>  \-plugins
>>   \-pluginA
>>   \-pluginB
>>  \-vm
>>
>> And for the generated sources directory:
>> src
>>  \-pluginA
>>  \-pluginB
>>  \-vm
>>
>> Is that the definitive sources layout?
>>
>> Also, if you're interested in using CMake for Windows, should I
>> assemble Unix and Windows instructions in the same files?
>>
>> Best regards,
>>
>> Geoffroy Couprie
>
>
>
> --
> Javier Pimás
> Ciudad de Buenos Aires
>
>



--
Best regards,
Igor Stasenko AKA sig.



--
Javier Pimás
Ciudad de Buenos Aires
Reply | Threaded
Open this post in threaded view
|

Re: CMake for Windows?

Geoffroy Couprie

On Tue, Apr 13, 2010 at 8:44 PM, Javier Pimás
<[hidden email]> wrote:
>
> Maybe it's different in unix and windows. That's the layout I have in unix with recent squeak and pharo images. Are you generating for unix or windows? because CMake is currently used for unix (and mac I think).
>

It depends on the platform. Windows has vm/ pluginA/ pluginB/, Unix
has vm/ plugins/, and MacOS has vm/intplugins/.

Best regards,

Geoffroy
Reply | Threaded
Open this post in threaded view
|

Re: CMake for Windows?

Geoffroy Couprie
 
Hello,

You'll find my work on the CMake files at
http://eleves.ec-lille.fr/~couprieg/divers/patches.zip

I put a CMakeLists.txt file just under the platforms/ directory, along
with the cmake/ directory. These files are based on the unix ones. I
modified them to change the source directory depending on the
platform. I also modified the configure file accordingly, but i
commented the code using subversion for my convenience during
development (feel free to change it back).

These CMake files are not perfect, it's just the beginning. First, I
want to make sure that the unix port still builds with my file, and
then, I'll go on with the config.cmake and build.cmake files for the
plugins, and I'll clean CMakeLists.txt  a bit.

Feel free to comment, but note that I'm beginning with CMake, and that
I don't write bash code very often. And please, try it with the unix
port. I don't want to break everything :)

Anyway, it works for me here (I can build a VM on Windows with the
File, Security, LargeIntegers and MiscPrimitive plugins using
MSYS+MinGW).

Best regards,

Geoffroy
Reply | Threaded
Open this post in threaded view
|

Re: CMake for Windows?

stephane ducasse-2
 
excellent news!
Thanks Geoffroy.

On Apr 17, 2010, at 1:23 AM, Geoffroy Couprie wrote:

>
> Hello,
>
> You'll find my work on the CMake files at
> http://eleves.ec-lille.fr/~couprieg/divers/patches.zip
>
> I put a CMakeLists.txt file just under the platforms/ directory, along
> with the cmake/ directory. These files are based on the unix ones. I
> modified them to change the source directory depending on the
> platform. I also modified the configure file accordingly, but i
> commented the code using subversion for my convenience during
> development (feel free to change it back).
>
> These CMake files are not perfect, it's just the beginning. First, I
> want to make sure that the unix port still builds with my file, and
> then, I'll go on with the config.cmake and build.cmake files for the
> plugins, and I'll clean CMakeLists.txt  a bit.
>
> Feel free to comment, but note that I'm beginning with CMake, and that
> I don't write bash code very often. And please, try it with the unix
> port. I don't want to break everything :)
>
> Anyway, it works for me here (I can build a VM on Windows with the
> File, Security, LargeIntegers and MiscPrimitive plugins using
> MSYS+MinGW).
>
> Best regards,
>
> Geoffroy

Reply | Threaded
Open this post in threaded view
|

Re: CMake for Windows?

Geoffroy Couprie
In reply to this post by Geoffroy Couprie

Ping!

I know everyone is busy, but could someone test these CMake files? I
can't install a VM to build unix Squeak right now, but I'll do it in
the future.

I just want to know if it's still possible to create unix squeak with
these files :)

On Sat, Apr 17, 2010 at 1:23 AM, Geoffroy Couprie <[hidden email]> wrote:

> Hello,
>
> You'll find my work on the CMake files at
> http://eleves.ec-lille.fr/~couprieg/divers/patches.zip
>
> I put a CMakeLists.txt file just under the platforms/ directory, along
> with the cmake/ directory. These files are based on the unix ones. I
> modified them to change the source directory depending on the
> platform. I also modified the configure file accordingly, but i
> commented the code using subversion for my convenience during
> development (feel free to change it back).
>
> These CMake files are not perfect, it's just the beginning. First, I
> want to make sure that the unix port still builds with my file, and
> then, I'll go on with the config.cmake and build.cmake files for the
> plugins, and I'll clean CMakeLists.txt  a bit.
>
> Feel free to comment, but note that I'm beginning with CMake, and that
> I don't write bash code very often. And please, try it with the unix
> port. I don't want to break everything :)
>
> Anyway, it works for me here (I can build a VM on Windows with the
> File, Security, LargeIntegers and MiscPrimitive plugins using
> MSYS+MinGW).
>
> Best regards,
>
> Geoffroy
>
Reply | Threaded
Open this post in threaded view
|

Re: CMake for Windows?

laurent laffont
 
On linux, configure fails:

-- Configuring done
CMake Error in CMakeLists.txt:
  Cannot find source file "aio.c".  Tried extensions .c .C .c++ .cc .cpp .cxx
  .m .M .mm .h .hh .h++ .hm .hpp .hxx .in .txx

aio.c is in .unix/vm/aio.c

Cheers,

Laurent Laffont


On Thu, Apr 22, 2010 at 7:23 AM, Geoffroy Couprie <[hidden email]> wrote:

Ping!

I know everyone is busy, but could someone test these CMake files? I
can't install a VM to build unix Squeak right now, but I'll do it in
the future.

I just want to know if it's still possible to create unix squeak with
these files :)

On Sat, Apr 17, 2010 at 1:23 AM, Geoffroy Couprie <[hidden email]> wrote:
> Hello,
>
> You'll find my work on the CMake files at
> http://eleves.ec-lille.fr/~couprieg/divers/patches.zip
>
> I put a CMakeLists.txt file just under the platforms/ directory, along
> with the cmake/ directory. These files are based on the unix ones. I
> modified them to change the source directory depending on the
> platform. I also modified the configure file accordingly, but i
> commented the code using subversion for my convenience during
> development (feel free to change it back).
>
> These CMake files are not perfect, it's just the beginning. First, I
> want to make sure that the unix port still builds with my file, and
> then, I'll go on with the config.cmake and build.cmake files for the
> plugins, and I'll clean CMakeLists.txt  a bit.
>
> Feel free to comment, but note that I'm beginning with CMake, and that
> I don't write bash code very often. And please, try it with the unix
> port. I don't want to break everything :)
>
> Anyway, it works for me here (I can build a VM on Windows with the
> File, Security, LargeIntegers and MiscPrimitive plugins using
> MSYS+MinGW).
>
> Best regards,
>
> Geoffroy
>

Reply | Threaded
Open this post in threaded view
|

Re: CMake for Windows?

Geoffroy Couprie

Hello,

On Thu, Apr 22, 2010 at 7:56 AM, laurent laffont
<[hidden email]> wrote:
>
> On linux, configure fails:
> -- Configuring done
> CMake Error in CMakeLists.txt:
>   Cannot find source file "aio.c".  Tried extensions .c .C .c++ .cc .cpp .cxx
>   .m .M .mm .h .hh .h++ .hm .hpp .hxx .in .txx
> aio.c is in .unix/vm/aio.c

Thank you for your answer! It is fixed in the new set of files:
http://eleves.ec-lille.fr/~couprieg/divers/changes-08-05-10.tar.gz

With these new files, I can now build the unix and win32 VM, from a
linux host. The unix VM works, but the win32 one needs a few other
changes to build, that I'll send with other patches.

A few notes:
-to build, you have to delete config.h from platforms/win32/vm, as it
is now generated by cmake
-for unix, use 'platforms/cmake/configure --src=<generated source
relative path> --version=4.0.2 --generator="Unix Makefiles" '
-for win32, use 'CC=i586-mingw32msvc-gcc CXX=i586-mingw32msvc-g++
platforms/cmake/configure --src=<generated source relative path>
--version=4.0.2 --host=i586-mingw32msvc --generator="Unix Makefiles" '

These files are not yet ready to be included in the sources, they
still need some cleaning. But now, it works well :)

For the ones that were talking about setting up a squeak buildbot,
this will be useful!

Again, please test it, and feel free to comment.

Best regards,

Geoffroy
Reply | Threaded
Open this post in threaded view
|

Re: CMake for Windows?

David T. Lewis
 
On Sat, May 08, 2010 at 04:14:47PM +0200, Geoffroy Couprie wrote:

>
> Hello,
>
> On Thu, Apr 22, 2010 at 7:56 AM, laurent laffont
> <[hidden email]> wrote:
> >
> > On linux, configure fails:
> > -- Configuring done
> > CMake Error in CMakeLists.txt:
> > ????Cannot find source file "aio.c". ??Tried extensions .c .C .c++ .cc .cpp .cxx
> > ????.m .M .mm .h .hh .h++ .hm .hpp .hxx .in .txx
> > aio.c is in??.unix/vm/aio.c
>
> Thank you for your answer! It is fixed in the new set of files:
> http://eleves.ec-lille.fr/~couprieg/divers/changes-08-05-10.tar.gz
>
> With these new files, I can now build the unix and win32 VM, from a
> linux host. The unix VM works, but the win32 one needs a few other
> changes to build, that I'll send with other patches.
>
> A few notes:
> -to build, you have to delete config.h from platforms/win32/vm, as it
> is now generated by cmake
> -for unix, use 'platforms/cmake/configure --src=<generated source
> relative path> --version=4.0.2 --generator="Unix Makefiles" '
> -for win32, use 'CC=i586-mingw32msvc-gcc CXX=i586-mingw32msvc-g++
> platforms/cmake/configure --src=<generated source relative path>
> --version=4.0.2 --host=i586-mingw32msvc --generator="Unix Makefiles" '
>
> These files are not yet ready to be included in the sources, they
> still need some cleaning. But now, it works well :)
>
> For the ones that were talking about setting up a squeak buildbot,
> this will be useful!
>
> Again, please test it, and feel free to comment.

Geoffroy,

I have not tried your CMake build yet (sorry), but building a range
of Windows and Unix VMs on a single build host sounds like a very
useful thing. Well done! I'm curious what others think of the idea.

Dave

Reply | Threaded
Open this post in threaded view
|

Re: CMake for Windows?

stephane ducasse-2
In reply to this post by Geoffroy Couprie

Thanks Geoffroy this is cool to see people helping on that part!

Stef

On May 8, 2010, at 4:14 PM, Geoffroy Couprie wrote:

>
> Hello,
>
> On Thu, Apr 22, 2010 at 7:56 AM, laurent laffont
> <[hidden email]> wrote:
>>
>> On linux, configure fails:
>> -- Configuring done
>> CMake Error in CMakeLists.txt:
>>   Cannot find source file "aio.c".  Tried extensions .c .C .c++ .cc .cpp .cxx
>>   .m .M .mm .h .hh .h++ .hm .hpp .hxx .in .txx
>> aio.c is in .unix/vm/aio.c
>
> Thank you for your answer! It is fixed in the new set of files:
> http://eleves.ec-lille.fr/~couprieg/divers/changes-08-05-10.tar.gz
>
> With these new files, I can now build the unix and win32 VM, from a
> linux host. The unix VM works, but the win32 one needs a few other
> changes to build, that I'll send with other patches.
>
> A few notes:
> -to build, you have to delete config.h from platforms/win32/vm, as it
> is now generated by cmake
> -for unix, use 'platforms/cmake/configure --src=<generated source
> relative path> --version=4.0.2 --generator="Unix Makefiles" '
> -for win32, use 'CC=i586-mingw32msvc-gcc CXX=i586-mingw32msvc-g++
> platforms/cmake/configure --src=<generated source relative path>
> --version=4.0.2 --host=i586-mingw32msvc --generator="Unix Makefiles" '
>
> These files are not yet ready to be included in the sources, they
> still need some cleaning. But now, it works well :)
>
> For the ones that were talking about setting up a squeak buildbot,
> this will be useful!
>
> Again, please test it, and feel free to comment.
>
> Best regards,
>
> Geoffroy

Reply | Threaded
Open this post in threaded view
|

Re: CMake for Windows?

Igor Stasenko
In reply to this post by David T. Lewis
 
On 8 May 2010 18:21, David T. Lewis <[hidden email]> wrote:

>
> On Sat, May 08, 2010 at 04:14:47PM +0200, Geoffroy Couprie wrote:
>>
>> Hello,
>>
>> On Thu, Apr 22, 2010 at 7:56 AM, laurent laffont
>> <[hidden email]> wrote:
>> >
>> > On linux, configure fails:
>> > -- Configuring done
>> > CMake Error in CMakeLists.txt:
>> > ????Cannot find source file "aio.c". ??Tried extensions .c .C .c++ .cc .cpp .cxx
>> > ????.m .M .mm .h .hh .h++ .hm .hpp .hxx .in .txx
>> > aio.c is in??.unix/vm/aio.c
>>
>> Thank you for your answer! It is fixed in the new set of files:
>> http://eleves.ec-lille.fr/~couprieg/divers/changes-08-05-10.tar.gz
>>
>> With these new files, I can now build the unix and win32 VM, from a
>> linux host. The unix VM works, but the win32 one needs a few other
>> changes to build, that I'll send with other patches.
>>
>> A few notes:
>> -to build, you have to delete config.h from platforms/win32/vm, as it
>> is now generated by cmake
>> -for unix, use 'platforms/cmake/configure --src=<generated source
>> relative path> --version=4.0.2 --generator="Unix Makefiles" '
>> -for win32, use 'CC=i586-mingw32msvc-gcc CXX=i586-mingw32msvc-g++
>> platforms/cmake/configure --src=<generated source relative path>
>> --version=4.0.2 --host=i586-mingw32msvc --generator="Unix Makefiles" '
>>
>> These files are not yet ready to be included in the sources, they
>> still need some cleaning. But now, it works well :)
>>
>> For the ones that were talking about setting up a squeak buildbot,
>> this will be useful!
>>
>> Again, please test it, and feel free to comment.
>
> Geoffroy,
>
> I have not tried your CMake build yet (sorry), but building a range
> of Windows and Unix VMs on a single build host sounds like a very
> useful thing. Well done! I'm curious what others think of the idea.
>

I think its a good idea of having a least common denominator for building VMs.

> Dave
>
>



--
Best regards,
Igor Stasenko AKA sig.
Reply | Threaded
Open this post in threaded view
|

Re: CMake for Windows?

Geoffroy Couprie
 
Hello,

On Sat, May 8, 2010 at 6:50 PM, Igor Stasenko <[hidden email]> wrote:

>
> On 8 May 2010 18:21, David T. Lewis <[hidden email]> wrote:
>>
>> Geoffroy,
>>
>> I have not tried your CMake build yet (sorry), but building a range
>> of Windows and Unix VMs on a single build host sounds like a very
>> useful thing. Well done! I'm curious what others think of the idea.
>>
>
> I think its a good idea of having a least common denominator for building VMs.
>

Then, I'll continue to fix my CMake scripts :)

Can I send my patches for the rest of the sources right now? I'm not
using the same compiler version for the win32 VM (I have gcc 4.2.1
here), and it doesn't build out of the box. On the bright side, I
think I can remove a lot of code from the VM, because MinGW fixed a
lot of their headers since gcc 3.4.

Also, now DirectDraw and DirectInput headers and import lib (from
DirectX 8) are provided by MinGW. Any good reason to keep the Squeak
Win32 tools package, now that it's obsolete?

What are the supported Windows versions? I could clean up some code if
I remove parts specific to win95 and win2000.

Best regards,

Geoffroy
Reply | Threaded
Open this post in threaded view
|

Re: CMake for Windows?

stephane ducasse-2

Thanks Geoffroy.
I hope that your energy will be used by VM maintainers.

Stef

> Hello,
>
> On Sat, May 8, 2010 at 6:50 PM, Igor Stasenko <[hidden email]> wrote:
>>
>> On 8 May 2010 18:21, David T. Lewis <[hidden email]> wrote:
>>>
>>> Geoffroy,
>>>
>>> I have not tried your CMake build yet (sorry), but building a range
>>> of Windows and Unix VMs on a single build host sounds like a very
>>> useful thing. Well done! I'm curious what others think of the idea.
>>>
>>
>> I think its a good idea of having a least common denominator for building VMs.
>>
>
> Then, I'll continue to fix my CMake scripts :)
>
> Can I send my patches for the rest of the sources right now? I'm not
> using the same compiler version for the win32 VM (I have gcc 4.2.1
> here), and it doesn't build out of the box. On the bright side, I
> think I can remove a lot of code from the VM, because MinGW fixed a
> lot of their headers since gcc 3.4.
>
> Also, now DirectDraw and DirectInput headers and import lib (from
> DirectX 8) are provided by MinGW. Any good reason to keep the Squeak
> Win32 tools package, now that it's obsolete?
>
> What are the supported Windows versions? I could clean up some code if
> I remove parts specific to win95 and win2000.
>
> Best regards,
>
> Geoffroy

Reply | Threaded
Open this post in threaded view
|

Re: CMake for Windows?

Geoffroy Couprie
 
Hello,

Here is the latest set of files for CMake:
http://eleves.ec-lille.fr/~couprieg/divers/changes-16-05-10.tar.gz
(you have to remove platforms/win32/vm/config.h to make it build)

I tried to remove the dependency on the Squeak-win2-tools package. The
Direct3D code still uses a lot of DirectX 7 structures, and the recent
MinGW toolchain provides DirectX 8, so the B3DAccelerator plugin
doesn't build right now. If it's ok, I'll send other patches to make
it work with the new version. Otherwise, it's possible to modify
config.cmake for B3DAccelerator to use DirectX 7.

Could these patches be included now? The Unix VM builds without any
problem, so it can become the main way to build it (just replace
platforms/unix/cmake/configure by platforms/cmake/configure in the
tutorials). There may still be some problems with the Windows build,
but I'll send more patches once these are pushed in the svn :)

Best regards,

Geoffroy
Reply | Threaded
Open this post in threaded view
|

Re: CMake for Windows?

David T. Lewis
 
On Sun, May 16, 2010 at 11:15:50PM +0200, Geoffroy Couprie wrote:

>  
> Hello,
>
> Here is the latest set of files for CMake:
> http://eleves.ec-lille.fr/~couprieg/divers/changes-16-05-10.tar.gz
> (you have to remove platforms/win32/vm/config.h to make it build)
>
> I tried to remove the dependency on the Squeak-win2-tools package. The
> Direct3D code still uses a lot of DirectX 7 structures, and the recent
> MinGW toolchain provides DirectX 8, so the B3DAccelerator plugin
> doesn't build right now. If it's ok, I'll send other patches to make
> it work with the new version. Otherwise, it's possible to modify
> config.cmake for B3DAccelerator to use DirectX 7.
>
> Could these patches be included now? The Unix VM builds without any
> problem, so it can become the main way to build it (just replace
> platforms/unix/cmake/configure by platforms/cmake/configure in the
> tutorials). There may still be some problems with the Windows build,
> but I'll send more patches once these are pushed in the svn :)

Hi Geoffroy,

Thanks for your work on this. I think that Ian and Andreas will need
to respond with respect to inclusion in the platforms sources. Ian
originated the CMake work and is responsible for anything that might
be included in the unix tree. Andreas is responsible for the Windows
VM and build process, and I don't know if he has a view concerning
use of CMake.

Dave

Reply | Threaded
Open this post in threaded view
|

Re: CMake for Windows?

Mariano Martinez Peck
In reply to this post by Geoffroy Couprie
 


On Sun, May 16, 2010 at 11:15 PM, Geoffroy Couprie <[hidden email]> wrote:

Hello,

Here is the latest set of files for CMake:
http://eleves.ec-lille.fr/~couprieg/divers/changes-16-05-10.tar.gz
(you have to remove platforms/win32/vm/config.h to make it build)

I tried to remove the dependency on the Squeak-win2-tools package. The
Direct3D code still uses a lot of DirectX 7 structures, and the recent
MinGW toolchain provides DirectX 8, so the B3DAccelerator plugin
doesn't build right now. If it's ok, I'll send other patches to make
it work with the new version. Otherwise, it's possible to modify
config.cmake for B3DAccelerator to use DirectX 7.

Could these patches be included now? The Unix VM builds without any
problem, so it can become the main way to build it (just replace
platforms/unix/cmake/configure by platforms/cmake/configure in the
tutorials). There may still be some problems with the Windows build,
but I'll send more patches once these are pushed in the svn :)


Hi Geoffroy. This is cool work. I cannot help you in the details of how to commit that in SVN as I have no idea. Listen to David.

Now...I have a couple of ideas:

1) regardless that, it would be really really cool if you can document all this in the pharo collaborative book. As you can see there is already a chapter for VM

http://book.pharo-project.org/book/Virtual-Machine/

and the windows part is empty: http://book.pharo-project.org/book/Virtual-Machine/Building/BuildVMOnWindows/

So...we can write the two possibilities to compile in Windows: the standard one and this new one using CMake.
You can start writing the one of CMake :)
If you want, please just let us know and we create a user for you.

2) In addition, I think it would be a good idea to have a Git for scripts for the VM. If Squeak VM developers like them, they can also include it in the svn.

Laurent Laffont already has a git repository with scripts like easy_squeakvm or something like that. So, you may want to commit your code there too.

3) What about integrating like easy_squeakvm  with this ?  or do a easy_squeakvm  version of CMake for winwows ?  I would love to do for example:

./easy_squeakvm.sh --os=Windows  or ./easy_squeakvm.sh --os=Unix  

4) Would be  really great to have a Screencast about how to compile windows with CMake :)

Cheers and continue pushing.

Mariano

 
Best regards,

Geoffroy

Reply | Threaded
Open this post in threaded view
|

Re: CMake for Windows?

laurent laffont
 
easy_squeakvm here http://github.com/lolgzs/easy_squeakvm.

It's github so you can fork it easily (I would love squeakvm sources on github :). Don't hesitate to ask for write access.

Cheers,

Laurent Laffont

http://pharocasts.blogspot.com/
http://magaloma.blogspot.com/


On Mon, May 17, 2010 at 5:37 PM, Mariano Martinez Peck <[hidden email]> wrote:


On Sun, May 16, 2010 at 11:15 PM, Geoffroy Couprie <[hidden email]> wrote:

Hello,

Here is the latest set of files for CMake:
http://eleves.ec-lille.fr/~couprieg/divers/changes-16-05-10.tar.gz
(you have to remove platforms/win32/vm/config.h to make it build)

I tried to remove the dependency on the Squeak-win2-tools package. The
Direct3D code still uses a lot of DirectX 7 structures, and the recent
MinGW toolchain provides DirectX 8, so the B3DAccelerator plugin
doesn't build right now. If it's ok, I'll send other patches to make
it work with the new version. Otherwise, it's possible to modify
config.cmake for B3DAccelerator to use DirectX 7.

Could these patches be included now? The Unix VM builds without any
problem, so it can become the main way to build it (just replace
platforms/unix/cmake/configure by platforms/cmake/configure in the
tutorials). There may still be some problems with the Windows build,
but I'll send more patches once these are pushed in the svn :)


Hi Geoffroy. This is cool work. I cannot help you in the details of how to commit that in SVN as I have no idea. Listen to David.

Now...I have a couple of ideas:

1) regardless that, it would be really really cool if you can document all this in the pharo collaborative book. As you can see there is already a chapter for VM

http://book.pharo-project.org/book/Virtual-Machine/

and the windows part is empty: http://book.pharo-project.org/book/Virtual-Machine/Building/BuildVMOnWindows/

So...we can write the two possibilities to compile in Windows: the standard one and this new one using CMake.
You can start writing the one of CMake :)
If you want, please just let us know and we create a user for you.

2) In addition, I think it would be a good idea to have a Git for scripts for the VM. If Squeak VM developers like them, they can also include it in the svn.

Laurent Laffont already has a git repository with scripts like easy_squeakvm or something like that. So, you may want to commit your code there too.

3) What about integrating like easy_squeakvm  with this ?  or do a easy_squeakvm  version of CMake for winwows ?  I would love to do for example:

./easy_squeakvm.sh --os=Windows  or ./easy_squeakvm.sh --os=Unix  

4) Would be  really great to have a Screencast about how to compile windows with CMake :)

Cheers and continue pushing.

Mariano

 
Best regards,

Geoffroy