我使用CMake为我的项目生成Visual Studio解决方案,在其中我使用了许多第三方库,当我生成解决方案时,它看起来像这样:
我想为第三方创建一个特定的组,就像cmake为“CMakePredefinedTargets”创建一个组一样。
我怎么能这么做呢?
这是我的主CMake文件:
cmake_minimum_required(VERSION 3.24)
project(VoidEngine)
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DEN_DEBUG")
ADD_DEFINITIONS(
-std=c++17 # Or -std=c++0x
# Other flags
)
include(C:/Users/user/vcpkg/scripts/buildsystems/vcpkg.cmake)
add_subdirectory(Game)
add_subdirectory(Engine)
add_subdirectory(Server)
add_subdirectory(HeadlessClient)
# ---------------- Third party modules -------------------
add_subdirectory(ThirdParty/SDL2)
add_subdirectory(ThirdParty/zlib)
# ---- Steam Game Networking sockets definitions ------
add_definitions(-DBUILD_STATIC_LIB=1)
add_subdirectory(ThirdParty/GameNetworkingSockets)
remove_definitions(-DBUILD_STATIC_LIB=1)
# ------------------------------------------------------
add_subdirectory(ThirdParty/bgfx-cmake)
target_link_libraries (Game Engine SDL2-static bgfx)
target_link_libraries (HeadlessClient Engine SDL2-static bgfx protobuf GameNetworkingSockets_s)
1条答案
按热度按时间yzuktlbb1#
目标上的
FOLDER
属性告诉生成器将该目标放在文件夹中。您可以使用CMAKE_FOLDER
对目录中的所有目标执行此操作。