vcpkgでusageがない場合のCMakeLists.txtの書き方
Q&A
Closed
解決したいこと
vcpkgでインストールしたライブラリをCMakeLists.txtのfind_packageやtarget_link_librariesで指定するためのキーワードが分かりません。例えばfmtであれば、このURLにあるusageから分かります。fmtのusageファイルは以下の通りです。
The package fmt provides CMake targets:
find_package(fmt CONFIG REQUIRED)
target_link_libraries(main PRIVATE fmt::fmt)
# Or use the header-only version
find_package(fmt CONFIG REQUIRED)
target_link_libraries(main PRIVATE fmt::fmt-header-only)
しかし、例えばsqlite-modern-cppのライブラリをvcpkgによりインストールすると、vcpkgのディレクトリにあるportsディレクトリにsqlite-modern-cppディレクトリが生成されますが、ディレクトリ内はportfile.cmakeとvcpkg.jsonの2つのファイルだけで、usageファイルがありません。そのため、find_packageやtarget_link_librariesのキーワードが分かりません。
念のためportfile.cmakeとvcpkg.jsonの内容を記載します。私が調べた限り、この2つのファイルはCMakeLists.txt内のキーワードに関連しないと考えています。
# header only
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO SqliteModernCpp/sqlite_modern_cpp
REF 936cd0c86aacac87a3dab32906397944ae5f6c3d
SHA512 8ce1b7593fe77dcab297ab4cae0158b43d55b33c1823b2dc5bf22e5545d9781d675ba5ac82b81782f502b34d2335eee2c26167726746a61a0ad566b657d2faf0
HEAD_REF master
)
file(INSTALL ${SOURCE_PATH}/hdr/ DESTINATION ${CURRENT_PACKAGES_DIR}/include)
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share/sqlite-modern-cpp)
file(INSTALL ${SOURCE_PATH}/License.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/sqlite-modern-cpp RENAME copyright)
{
"name": "sqlite-modern-cpp",
"version": "3.2-936cd0c8",
"port-version": 2,
"description": "The C++14 wrapper around sqlite library",
"homepage": "https://github.com/aminroosta/sqlite_modern_cpp",
"dependencies": [
"sqlite3"
]
}
CMakeLists.txtでfind_packageやtarget_link_librariesについてキーワードの調べ方を教えて頂ければ幸いです。