码迷,mamicode.com
首页 > 其他好文 > 详细

cmake语法学习 - 01 Basic - D - shared - library

时间:2020-04-25 16:50:46      阅读:78      评论:0      收藏:0      [点我收藏+]

标签:new   cmake   director   The   basic   shared   lib   not   like   

cmake_minimum_required(VERSION 3.5)

project(hello_library)

############################################################
# Create a library
############################################################

#Generate the shared library from the library sources
add_library(hello_library SHARED 
    src/Hello.cpp
)
add_library(hello::library ALIAS hello_library)

target_include_directories(hello_library
    PUBLIC 
        ${PROJECT_SOURCE_DIR}/include
)

############################################################
# Create an executable
############################################################

# Add an executable with the above sources
add_executable(hello_binary
    src/main.cpp
)

# link the new hello_library target with the hello_binary target
target_link_libraries( hello_binary
    PRIVATE 
        hello::library
)

 

*

add_library(hello_library SHARED 
    src/Hello.cpp
)

- SHARED must be upper case, and mark to generate a shared library.

Please note that, SHARED, do not miss the D here.

 

 

*

 

add_library(hello::library ALIAS hello_library)

 

- ALIAS , upper case only, just like "typedef". 

hello::library is the same as hello_library now. They are 2 names of the same thing.

And please note that "hello::library" is just a name !!! NO namespace in CMake!!!!

 

 

*

target_link_libraries( hello_binary
    PRIVATE 
        hello::library
)

- PRIVATE marks the linked files only avaliable in this scope.

In other words, within this subproject or the folder where this CMakeList.txt is.

 

cmake语法学习 - 01 Basic - D - shared - library

标签:new   cmake   director   The   basic   shared   lib   not   like   

原文地址:https://www.cnblogs.com/alexYuin/p/12773428.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!