0

私はCMakeが初めてで、少し問題があります。それらが作成されたディレクトリに従ってCMakeターゲットに名前を付けることは可能ですか? たとえば、ソース ディレクトリ構造を反映する lib/ ディレクトリにライブラリを書きたいとします。

ソース ディレクトリ dir1 と dir2 があり、両方がライブラリ libmylib.a を作成すると想像してください。通常、CMake は同じ名前のライブラリ/ターゲットの作成について不平を言うかもしれませんが、ライブラリが lib/dir1/libmylib.a と lib/dir2/ に書き込まれた場合libmylib.a の場合、これらのターゲットを CMakeLists.txt ファイルで (おそらく) 競合することなく dir1/libmylib および dir2/libmylib として参照できます。

4

1 に答える 1

2

CMake では、論理ライブラリ名は、ターゲットによって生成されたファイルの名前から完全に切り離すことができます。/ターゲット名にa が含まれていても問題ありません。次のようにライブラリを追加できます。

add_library(dir1/mylib STATIC source1 source2 ...)
set_property(TARGET dir1/mylib PROPERTY OUTPUT_NAME mylib)
于 2012-11-27T10:01:12.557 に答える