I'm very new to Cmake
, and I'm trying to use it as an alternative to this approach, which did not work fine.
My structure is actually simple, I have:
App/src/
App/src/so1
App/src/so2
App/src/so3
And in each App/src/soN
folder, I have a .cpp
file, that shall be compiled into a shared object.
I know I must add a CMakeLists.txt
file in each folder listed above, but I'm really lost with the library linkage and inclusion.
For example, suppose there are the following files under App/src/so1
:
App/src/so1/so1.hpp
App/src/so1/so1.cpp
And the shared object so1.so
requires -I /some/dir/include
, and also needs to be linked to -L /some/other/dir/lib -l otherdirlib
. What are the appropriate directives for to make this using CMake
?
EDIT:
Use file and GLOB_RECURSE:
I advice you to rearrenge your files like this:
The CMakeLists.txt in app folder:
The CMakeLists.txt in each lib folder would be something like this(change the LIB_OUTPUT_NAME in each file accordingly):
Then in the main CMakeLists.txt:
More information on:
http://www.cmake.org/cmake/help/cmake2.6docs.html