CMake 2.8.11.2 で一見非常に単純に見えることをしようとすると問題が発生します。次の 2 つのファイルを含むフォルダーがあります。
-- CMAkeLists.txt --
add_executable(test test.c)
target_link_libraries (test somelib)
-- test.c --
// Some c code
ビルド ディレクトリを作成して を発行するとcmake ..
、cmake が次の出力で実行されます。
C:\Users\Enis\workspace_kepler\tmp\build>cmake ..
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/Enis/workspace_kepler/tmp/build
MSVC 2012 ソリューションがビルド フォルダー内に生成されます (MSVC2012 がインストールされているため)。さて、問題は、そのソリューションを開いて、test
[プロパティ] -> [構成プロパティ] -> [リンカー] -> [入力] -> [追加の依存関係] でプロジェクトのリンカー構成を確認すると、それsomelib
が追加されていることがわかり;-lsomelib.lib
、Visual Studio がそれを好まないことです。手動で変更した場合にのみ、正常にリンクしますsomelib.lib
。
私は何を間違っていますか?なぜ CMake はこのような単純な間違いを犯すのでしょうか? 生成されるプレフィックスを変更するにはどうすればよいですか?