Skip to main content

Public & Private

public 指定した設定は、その target を link した側にも伝搬するぽい。

例えば、ライブラリに対して include パスを設定するときに、 ライブラリのビルドのみで使う場合は PRIVATE 、 ライブラリのユーザーにも公開したい場合は PUBLIC とする。

# library

TARGET_INCLUDE_DIRECTORIES(SOME_LIB
PRIVATE
private_include_dir # user には不要
PUBLIC
public_include_dir # user の include path にも追加したい
)
# library user

TARGET_LINK_LIBRARIES(USER
SOME_LIB # public 設定を取り込むことができる
)