How to handle dependency between C++ CMake projects using Bamboo CI?

I have two C++ CMake projects A and B, where B depends on A and I'm using Atlassian's Bamboo as continuous integration software. Is there a good way to define the dependency between the two projects? maybe within Bamboo or maybe a CMake feature.

Ideally I'd like project A to be built regularly. Then some possible manual solutions are whenever B builds:

  1. point to the location where project A's .h and lib files are. This location has to be consistent so it works in development environments as well as in the CI system.
  2. every time project A builds generate the needed artifacts (headers and library files) and copy them to a predefined location. Though this looks more like continuously releasing.
  3. A maybe uglier approach would be to have Plan B fetching and building project A before building but this adds a lot of overhead to B separate from not being natively supported by the SCM Bamboo plugins that only look at one repository location.

Any ideas?

Answers


CMake can call CMake. Maybe you can use your solution 2, and call the compilation of the project_A (with CMake) from the CMake files of your project_B ?


Need Your Help

How to extract the strings between two special characters using Regular Expressions in C#

c# regex

I am totally new to regular expressions. And what I need to achieve is, I have a string variable containing the following string for example,

Errors while creating stored procedure in sql server

sql-server stored-procedures

Below errors appear when i am trying to create simple stored procedure in SQL Server