Hello!<br><br>I am learning to use CMake and I found it very easy to use, very and very good. But I don&#39;t understand why it uses full paths instead of relative paths when linking shared/dynamic libraries. I am currently making a program that is only compiled to a folder, but not installed to the system (on linux), much like a folder containing all the software in windows. It has the following structure (when compiled):<br>
<br>---- program &lt;-- Main folder of the project<br>-------- bin &lt;-- Executable and shared libraries of the executable<br>-------- data &lt;-- Stores data files and information for runtime<br>-------- plugins &lt;-- Stores shared libraries which (I want) can be added or removed after the compilation process which adds custom behaviour to the program.<br>
<br>The real problem is: I can&#39;t link these shared libraries from the folder /program/plugins to the application at the /program/bin folder. I want this to be organized. How can I link by that?<br><br>Other problem: the compilation has a lot of dependencies (qt, compiled boost libraries, opengl, between others), and this makes the compilation a bit difficult on Windows. So, I wanted to be able to zip the compiled folder (with all the needed libraries) and distribute the folder for the users. But when I move the program from one directory to another, it stops working. Is there any way, even hacky, to make CMake to use relative paths? Because all IDE&#39;s, other makes, allow doing this, so why CMake obligates us to use full paths? It would be so perfect by that...<br>
<br>There is any way or I will have to use a non-portable way of compiling?<br><br><br>Thanks for the help!<br><br>Renato<br>