| CMake | Visual C++ |
|---|---|
| project | ソリューション(.sln) |
| executable | 実行ファイルプロジェクト(.vcxproj) |
| library | スタティックライブラリプロジェクト(.vcxproj) |
project内には、複数のexecutable/libraryを追加できる。Visual Studioでこのcmakeを実行すると、複数のプロジェクトが入ったソリューションが生成される。
ビルド順を制御するには、add_dependencies()命令を使う。以下のようにすると、exe_nameをビルドするには、lib1_nameとlib2_nameが必要(に依存している)という意味になり、exe_nameをビルドする前にライブラリがビルドされる。
project(my_project CXX) add_executable(exe_name main.cpp) add_library(lib1_name STATIC lib1.cpp) add_library(lib2_name STATIC lib2.cpp) # 依存関係の定義 add_dependencies(exe_name lib1_name lib2_name) # リンク target_link_libraries(exe_name lib1_name lib2_name)