cybop-developers
[Top][All Lists]
Advanced

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

Re: [cybop-developers] CMake


From: Christian Heller
Subject: Re: [cybop-developers] CMake
Date: Mon, 06 Mar 2017 15:04:06 +0100
User-agent: KMail/4.14.1 (Linux/3.16.0-4-amd64; KDE/4.14.2; x86_64; ; )

Hi Enrico,

[..]
> So i will dig into CMake, CTest and CPack a little bit. I gathered already 
> some questions.

very good.

> I use CMake at the moment on my local computer and i have to say, that the 
> compiling time improved a lot.
> There is just one file I will commit. It contains all the information about 
> what to build and what to pack.
> All files which will be created by CMake are outside of the src-directory 
> create in a temp folder. So it will not pollute the src-directory at all.

Fine. Sounds good and my first test looks promising.

> >Just some wishes:
> >- it should work without errors before removing auto tools scripts
> It works for me on the mac after installing cmake, i will commit the files, 
> could you check if it works for you as well? A feedback is highly appreciated!

In principle, CMake works on my box.

I had to fix the CMake version in file "CMakeLists.txt" from 3.8.0 to
3.0.2, in order to be usable under current Debian stable.

I then received two compile errors which I could fix in CYBOI.
See the following email "CMake Errors".

Then, there is still a linker error to be fixed (missing XCB lib).
See the following email "CMake Errors".

One additional hint for you:

When packaging CYBOP for distribution with CPack, you may want to also
consider the files in directory: admin/ There are e.g. three man pages:
cyboi.1.gz
cybol.5.gz
cybop.7.gz
and a CYBOP icon in various sizes, that might get mentioned in CMake
or CPack and get included in distributable packages.

In directory "admin/", there is also the VERY old Makefile from 2006.
If you have a better idea where i.e. into which directory to put these
files (manpages, icons), then please tell me! So we could delete "admin/".

> >- it should be easier, at least not more complicated than autotools
> I’m absolutely not familiar with the autotools to be honest, but the cmake 
> configuration is in my opinion quite easy to understand.

You might have to complete the CMake configuration files with some
directories and files. Please see the following autotools files:
- configure.ac
- Makefile.am
- src/Makefile.am
- src/controller/Makefile.am

If I remember correctly, then some students of mine have used CMake
while working with the "Code::Blocks" IDE. If you like, try it out:
ide/codeblocks/CYBOI.cbp
And tell us what you think about it.

> >- put generated distributable packages or installers into "dist/“
> this was quite a bit complicate. the platform dependent package is 
> automatically deployed to dist now (.sh + tar.gz) just using cpack-command 
> (zip, deb-package and other opportunities are possible easily)

If other projects handle this differently or use another directory than
"dist/", so please tell me. Perhaps we can change this to be up-to-date.

> >- ask me back once more on any unclearities
> - at the moment the release package only contains the cyboi-binary. i guess 
> there belong more to the release.
> - copyright information and a lot of other configurations are possible 
> (https://cmake.org/Wiki/CMake:CPackConfiguration)
> - all directories or files which should be added needs to be set in the 
> configuration using the INSTALL command
> - please let me know how you would like to have the release and i will try to 
> adjust the configuration that it will suit your process

See the autotools files (configure.ac and Makefile.am) listed above.
For version CYBOI 0.19.0 to come, our aim should be to make CMake work
so that we have the same result as with the autotools.

More changes can be done in future releases.

> the following steps on the console needs to be done in the root-directory:
> 
> 1. cmake . # create makefiles
> 2. make # create cyboi binary
> 3. cpack # created release package

I followed these three commands, but due to the linker error was
hanging in step 2. Awaiting your changes for a new test on my side.

> If you are satisfied with CMake we can get ride of the 
> makefiles/autotool-scripts later on.

It looks promising. Let's see. It seems to be more slim than autotools.

If all works fine one day, we can delete the following:
autom4te.cache/
build-aux/
aclocal.m4
autogen.sh
config.log
config.status
configure
configure.ac
Makefile
Makefile.am
Makefile.in
src/Makefile
src/Makefile.am
src/Makefile.in
src/controller/Makefile
src/controller/Makefile.am
src/controller/Makefile.in
src/controller/.deps
src/controller/.libs

Best regards,
Christian





reply via email to

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