Build customization

Post Reply
chantrip
Posts: 42
Joined: Fri Jul 08, 2011 9:32 am

Build customization

Post 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

jtlindgren
Posts: 778
Joined: Tue Dec 04, 2012 3:53 pm
Location: INRIA Rennes, FRANCE

Re: Build customization

Post 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

don_matti
Posts: 7
Joined: Mon Feb 11, 2013 9:15 pm

Re: Build customization

Post 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.
Attachments
cmd_1.jpg
cmd_1.jpg (132.93 KiB) Viewed 7016 times

don_matti
Posts: 7
Joined: Mon Feb 11, 2013 9:15 pm

Re: Build customization

Post by don_matti »

Post cannot have attached more than 3 screenshots ;p
Attachments
cmd_2.jpg
cmd_2.jpg (63.41 KiB) Viewed 7016 times
cmd_3.jpg
cmd_3.jpg (139.94 KiB) Viewed 7016 times
cmd_4.jpg
cmd_4.jpg (60.34 KiB) Viewed 7016 times

jtlindgren
Posts: 778
Joined: Tue Dec 04, 2012 3:53 pm
Location: INRIA Rennes, FRANCE

Re: Build customization

Post 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

don_matti
Posts: 7
Joined: Mon Feb 11, 2013 9:15 pm

Re: Build customization

Post 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?
Attachments
test.txt
cmd output
(155.38 KiB) Downloaded 324 times

jtlindgren
Posts: 778
Joined: Tue Dec 04, 2012 3:53 pm
Location: INRIA Rennes, FRANCE

Re: Build customization

Post 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

Post Reply