Giriş
Verilen kaynak kodları derler ve bir kütüphane çıkartır.
Header Only Library + Executable
Elimizde şöyle bir yapı olsun
Verilen kaynak kodları derler ve bir kütüphane çıkartır.
add_library(MyLib SHARED MyCode.cpp)
Library + Executable
Aynı anda hem kütüphane hem de executable derlemek için şöyle yaparız.
add_library(
${LIBRARY_NAME}
SHARED
${SRC_FILES}
${INCLUDE_FILES}
)
add_executable(
${EXECUTABLE_NAME}
main.cpp
)
target_link_libraries(
${LIBRARY_NAME}
sfml-main
sfml-system
sfml-window
)
target_link_libraries(
${EXECUTABLE_NAME}
${LIBRARY_NAME}
)
Elimizde şöyle bir yapı olsun
project
|
|-------> lib1
| |----> lib1.h
|
|-------> lib2
| |----> lib2.h
|
|-------> main.cc
lib1 header only olsun. lib2 de header only ve lib1'e bağımlı olsun. Bu sefer INTERFACE özelliğini kullanıırz. Şöyle yaparız.add_library(lib1 INTERFACE)
target_sources(lib1 INTERFACE lib1.h)
target_include_directories(lib1 INTERFACE
"${PROJECT_SOURCE_DIR}/lib1"
)
add_library(lib2 INTERFACE)
target_sources(lib2 INTERFACE lib2.h)
target_include_directories(lib2 INTERFACE
"${PROJECT_SOURCE_DIR}/lib2"
)
target_link_libraries(lib2 lib1)
add_executable(project main.cc)
target_link_libraries(project lib2)
Hiç yorum yok:
Yorum Gönder