私はこのようなトップレベルのCMakeListsを得た:複数の共有ライブラリ用に1つのヘッダファイルをエクスポートするにはどうすればよいですか?
cmake_minimum_required(VERSION 3.6.2)
project(Template)
set(CMAKE_LINK_DEPENDS_NO_SHARED ON)
add_subdirectory(external/libA)
add_subdirectory(external/libB)
add_subdirectory(external/libC)
add_subdirectory(apps/app1)
add_subdirectory(apps/app2)
それは3つの共有ライブラリ{libA, libB, libC}
と、これらのライブラリを使用する実行ファイル{app1, app2}
のカップルを持っている単純なプロジェクトです。私の質問は次である
、私はcmakeのは、カスタムヘッダーをコード化し、以下のようなもので、シンボルをエクスポートする.defsでめちゃくちゃのhazzleを通過避けるために、いくつかのヘルパーを提供します見てきました:
include (GenerateExportHeader)
GENERATE_EXPORT_HEADER(libA
BASE_NAME libA
EXPORT_MACRO_NAME SHARED_EXPORT
EXPORT_FILE_NAME shared_EXPORTS.h
STATIC_DEFINE SHARED_EXPORTS_BUILT_AS_STATIC)
私の質問上記のスニペットをすべての共有ライブラリに使用できますか?もしそうなら、私はそれをどのようにどこに置くべきですか?