How to set up library with cmake on github - github

I'm learning cmake using the tutorial.
Would it be fine to build up a library similar to the tutorial for distribution on github? In other words, distribute the library as a part of an example program repo? A user would clone the repo,cmake, then make to see that the library works. Then later copy the library folder to his own project and use the repo's CMakeList.txt as a starting point for his use of the library?
Cmake is a great tool and I want to use it in a way that's easy for other people to use my libraries when I make them.
Here's an example of what I'm looking to do.

Based on voting for my comment I propose using already existed project.

You may find these interesting:
http://www.cmake.org/cmake/help/v3.0/manual/cmake-buildsystem.7.html
http://www.cmake.org/cmake/help/v3.0/manual/cmake-packages.7.html
Of course, most of it applies to CMake 2.8.12 and .11.

Related

Can you "fork" a VS Code extension or make extensions work together?

I recently found out that VS Code has a beautiful Hex Editor extension made by Microsoft, but the problem is that it doesn't support adding tags / markers to HEX, which is a pretty common feature for such tools, and my workflow relies on using it. I haven't really found any info on this in the docs, but maybe I am just not that good at searching.
So my question is: is there a way to either make my own "fork" of the Microsoft extension or make a separate extension that adds the aforementioned feature to the editor provided by it?
Here is the Github repository for the extension. You can fork it like any open source project.
To edit the extension, you will need to install Node.js and npm on your computer, then run npm i and npm run watch from the root of the project.
Once you are done, you can do vsce package to package the extension and use it with VSCode.
Note that this extension is open source, meaning you can open a pull-request if you think other people might benefit from them.

How to generate Doxygen Documentation with Travis-CI

I have a project supported in Travis-CI. I want to generate the documentation using Doxygen but Im not sure how to make it. I already have a Doxyfile in the root of the Github project. How can I do it?
Thanks in advance for your help.
I don't know whether or not you are on a commercial plan for Travis-CI or are using it for free for a OSS project. In the later case be aware of their new pricing policy.
You didn't mention the OS for which you want to run doxygen, for some distributions an installation package is available.
To run doxygen you have to install doxygen (or build it on Travis, but this would be a bit of an overkill). After installing it you should be able to run doxygen right out of the box.

I want to know how to use Github in open source

I am a programming starter to try github for the first time.
https://github.com/froala/design-blocks
I completed the clone as described in the main link.
I have also completed the npm installation as described in the text and have successfully run it.
But if i simply want to use source code, do i not need to install the module using npm?
Why do I install the module using npm?..
How do I use the packages I installed using npm?
Even if I did a search on Google, there was no post for beginners like me.
I really appreciate your advice.

How can I make a FindMyPackage.cmake module fall back to downloading?

I have a simple CMake find module I've written, for a library of mine used by other projects. It's pretty simplistic, with its full text available here. Mainly there's one find_path() and one find_library(), and then some variables are set.
Now, I want CMake, when trying to find my package, to fall back on:
git-cloning or downloading the package/library from its GitHub repository,
Unpacking the archive, if it was a download
Building the package, either be using the running CMake itself somehow (the package has its own CMakeLists.txt), or by running an arbitrary shell command in the directory into which the packages was downloaded/cloned
The specifics of what happens post-download are less important to me than actually having a download fall-back.
How can I / how should I make this happen?
Notes:
Of course if the download/git clone fails, than finding the package has failed.
No need to worry about specific versions at the repo, although you can if you want to.

Using OpenCV with Matlab: mex does not find header files

I am trying to connect Matlab and OpenCV following this tutorial: http://xanthippi.ceid.upatras.gr/people/evangelidis/matlab_opencv/
Since I work on a Linux system I can't follow the instructions for the mexopts.bat file since the Linux equivalent (mexopts.sh) seems to be rather different and i find none of the options mentioned in the tutorial in the mexopts.sh file.
So I try to set the options in Matlab.
I downloaded the most recent OpenCV Version (2.4.8) and compiled it according to the instructions on their site (http://docs.opencv.org/2.4/doc/tutorials/introduction/linux_install/linux_install.html without the make install).
The structure of the OpenCV directory seems to be a problem, since there are multiple include directories and I was unsure which to specify.
[edit]:
there was a lot of pointless code here which has all been made superfluous as #Peter made me aware that I simply misunderstood how make/make install worked.
"Without the make install" is the problem. The include files and built libraries are scattered all over the source tree, as determined by the build system. make install collects all the headers that are appropriate for use by users of the library and puts them in one directory for including. It does the same with the libraries themselves. make install may also "strip" the libraries, which drastically reduces the size and improves the load time.
If you don't want the installation in a system directory, you can set the install path to be somewhere in your home directory.