質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
CMake

CMakeはクロスプラットフォームで作動するオープンソースのビルドシステムです。コマンドライン又は組み込まれた開発環境で使うことができる元のmakefileとプロジェクトファイルを生成します。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

0回答

1933閲覧

vcpkg でインストールした googletest に依存したソースコードを CMake を使ってビルドしたいが GTestConfig.cmake をうまく見つけてくれない

kakkun61

総合スコア285

CMake

CMakeはクロスプラットフォームで作動するオープンソースのビルドシステムです。コマンドライン又は組み込まれた開発環境で使うことができる元のmakefileとプロジェクトファイルを生成します。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2021/02/18 02:51

編集2021/02/19 03:58

やりたいこと

CMake を使って vcpkg でインストールした googletest に依存したソースコードをビルドしたいです。

困っていること

CMake が googletest の CMake ソースコードファイルを見つけてくれません。

GTest_DIR を指定すればうまくいきますが CMAKE_TOOLCHAIN_FILE の指定で解決したいです。

ソースコード

cmake

1# CMakeLists.txt 2cmake_minimum_required(VERSION 3.10) 3 4project(ratio) 5 6add_subdirectory(lib) 7 8if (${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_CURRENT_SOURCE_DIR}) 9 add_subdirectory(test) 10endif ()

cmake

1# test/CMakeLists.txt 2add_executable(ratio_test test.cpp) 3 4find_package(GTest CONFIG REQUIRED) 5include(GoogleTest) 6 7target_link_libraries(ratio_test PRIVATE ratio GTest::gmock GTest::gtest GTest::gmock_main GTest::gtest_main) 8 9gtest_discover_tests(ratio_test) 10 11enable_testing()

lib/CMakeLists.txt や C++ ソースコードは省略しています。

コマンド

bash

1git clone git@github.com:Microsoft/vcpkg.git 2cd vcpkg 3git checkout 2020.11-1 4./bootstrap-vcpkg.sh 5vcpkg install gtest 6cd $PROJECT 7mkdir build 8cd build 9cmake .. -DCMAKE_TOOLCHAIN_FILE=$VCPKG/scripts/buildsystems/vcpkg.cmake

エラーメッセージ

text

1CMake Error at vcpkg/scripts/buildsystems/vcpkg.cmake:555 (_find_package): 2 Could not find a package configuration file provided by "GTest" with any of 3-- Configuring incomplete, errors occurred! 4 the following names: 5See also "D:/a/ratio/ratio/build/CMakeFiles/CMakeOutput.log". 6 7 GTestConfig.cmake 8 gtest-config.cmake 9 10 Add the installation prefix of "GTest" to CMAKE_PREFIX_PATH or set 11 "GTest_DIR" to a directory containing one of the above files. If "GTest" 12 provides a separate development package or SDK, be sure it has been 13 installed. 14Call Stack (most recent call first): 15 test/CMakeLists.txt:3 (find_package)

完全なソースコードやコマンド・エラーメッセージは GitHub をご覧ください

検証中(追記)

自前でインストールした vcpkg とシステムにインストールされていた vcpkg が食いちがっているっぽい?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問