在CMake生成的解决方案中分组特定的依赖关系?

6uxekuva  于 2023-10-20  发布在  其他
关注(0)|答案(1)|浏览(145)

我使用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)
yzuktlbb

yzuktlbb1#

目标上的FOLDER属性告诉生成器将该目标放在文件夹中。您可以使用CMAKE_FOLDER对目录中的所有目标执行此操作。

相关问题