Page 1 of 1

Build customization

Posted: Fri Jan 02, 2015 9:52 am
by chantrip
Hi

I'm installing openvibe-0.18.0 on Windows7. Everything works fine so far until I want to customise the build process. From the information that I have, I need to use a command SET(SKIP_APPLICATIONS "1") so that the command win32-build will skip building this directory. However, there are several sub-directories inside the application directory and I am not sure I need to include all the sub-directories inside the application directory e.g. SET(SKIP_APPLICATIONS_EXAMPLES_OPENVIBE-TO-TCPIP "1"). It doesn't seem convenient if I have to go through all the sub-directories and type everything. In addition, when I tried SET(SKIP_MODULES_FS "1") the compiler shows error LNK1181 cannot open input file openvibe-module-fs.lib. Could you please list all sub-directories that I need to add in the CMakeLists.txt?

Thank you

-Jim

Re: Build customization

Posted: Mon Jan 05, 2015 9:10 am
by jtlindgren
Hi Jim,

this should work in a way that if you set a prefix, like SKIP_APPLICATIONS, then applications/ and everything under it will be skipped. You can also do more detailed skipping by just listing the individual parts to skip (and not only the prefix), such as SKIP_APPLICATIONS_EXAMPLES. If it doesn't work, we have a bug.

However, some components, such as almost everything under modules/ or toolkit/, is required for meaningful OpenViBE compilation.


Cheers,
Jussi

Re: Build customization

Posted: Fri Sep 25, 2015 1:17 pm
by don_matti
Hello Jussi,

I have got similar problem: building process takes far too long than expected (3-4 minutes, my goal is to reach time of about 1 minute).
Instead of building all folders and subfolders, it should only use catalog named: OpenViBE\contrib\plugins\server-drivers\crazy.
For achieving this task, I put these lines in the top cmake file (OpenViBE\CMakeLists.txt):

SET(SKIP_APPLICATIONS "1")
SET(SKIP_CMAKE-MODULES "1")
SET(SKIP_COMMON "1")
SET(SKIP_DEBIAN "1")
SET(SKIP_DEPENDENCIES "1")
SET(SKIP_DIST "1")
SET(SKIP_EXTERNALS "1")
SET(SKIP_KERNEL "1")
SET(SKIP_LOCAL-TMP "1")
SET(SKIP_MODULES "1")
SET(SKIP_OPENVIBE "1")
SET(SKIP_PLUGINS "1")
SET(SKIP_SCRIPTS "1")
SET(SKIP_TEST "1")
SET(SKIP_TOOLKIT "1")

In attachment, I also provide some screenshots from execution of script (win32-build.cmd).
Thanks in advance for reply.

Cheers,
Matt.

Re: Build customization

Posted: Fri Sep 25, 2015 1:19 pm
by don_matti
Post cannot have attached more than 3 screenshots ;p

Re: Build customization

Posted: Fri Sep 25, 2015 2:28 pm
by jtlindgren
I notice that some of the items on your list are not needed (it doesn't build anything in dependencies or local-tmp for example), but it doesn't hurt to have such extra tokens either.

Thanks for the heads-up. :)


Jussi

Re: Build customization

Posted: Sat Sep 26, 2015 2:49 pm
by don_matti
Another thing to mention here - I made redirecting output to file and analyzed data coming from batch file.
It consists of three parts:

1) configuring, which is generating files to folder called OpenViBE/local-tmp/nmake-Release,
2) building, all screenshots are previously posted by me,
3) installing, subfolders are created under folder named OpenViBE/dist.

Main time-consuming part is second one, taking around 2-3 minutes for me.
So, my question is, how to omit some of the targets, building only openvibe-acquisition-server, for instance?

Re: Build customization

Posted: Mon Sep 28, 2015 7:39 am
by jtlindgren
The acquisition server needs to buid at least all the components it depends on. Others you should be able to disable with the skip, although you cannot tell it to build-only-this. Also, I suppose you want to build in batch, but the Visual Studio IDE build is much faster, as its able to use multiple cores for compilation.

Btw, why do you want to rebuild the whole thing from scratch? If you make changes to a few files only - as in the usual development model - a new build should be relatively fast.


Cheers,
Jussi