This commit is contained in:
Attila Body 2025-05-26 10:22:03 +02:00
parent 0c66ff89b3
commit 9b8308eb4a
Signed by: abody
GPG key ID: BD0C6214E68FB5CF
11 changed files with 121 additions and 0 deletions

17
libs/lib1/CMakeLists.txt Normal file
View file

@ -0,0 +1,17 @@
# Defines a static library target named 'lib1' from its source file.
add_library(lib1 STATIC src/lib1.c)
# Specifies include directories that are part of lib1's public interface.
# - PUBLIC: Means that targets linking to lib1 (like cmake_tutorialApp) will
# inherit this include path. This allows them to find lib1.h.
# ${CMAKE_CURRENT_SOURCE_DIR} refers to the current directory where this CMakeLists.txt resides.
target_include_directories(lib1 PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/inc
)
# Links lib1 to lib2 and lib3.
# - PRIVATE: Indicates that lib1's implementation depends on lib2 and lib3,
# but targets linking to lib1 do NOT need to know about lib2 or lib3.
# CMake automatically propagates the PUBLIC/INTERFACE include directories from lib2 and lib3
# to lib1, so explicit include directories for them are not needed here.
target_link_libraries(lib1 PRIVATE lib2 lib3)