[英]cmake - CMakeLists.txt is not in root folder (but is included in source)
[英]How to prevent CMake adding CMakeLists.txt at root of generated project?
我有以下CMakeLists.txt
:
cmake_minimum_required(VERSION 3.15.5)
project(REminiscence VERSION 0.4.5)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)
configure_file(REminiscenceConfig.h.in REminiscenceConfig.h)
add_definitions(-DUSE_MODPLUG -DUSE_STATIC_SCALER -DUSE_TREMOR -DUSE_ZLIB)
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
set(RE_SRC
"collision.cpp"
"cpc_player.cpp"
"cutscene.cpp"
"decode_mac.cpp"
"dynlib.cpp"
"file.cpp"
"fs.cpp"
"game.cpp"
"graphics.cpp"
"main.cpp"
"menu.cpp"
"mixer.cpp"
"mod_player.cpp"
"ogg_player.cpp"
"piege.cpp"
"protection.cpp"
"resource.cpp"
"resource_aba.cpp"
"resource_mac.cpp"
"scaler.cpp"
"screenshot.cpp"
"seq_player.cpp"
"sfx_player.cpp"
"staticres.cpp"
"systemstub_sdl.cpp"
"unpack.cpp"
"util.cpp"
"video.cpp"
)
source_group("Sources" FILES ${RE_SRC})
set(RE_INC
"cpc_player.h"
"cutscene.h"
"decode_mac.h"
"dynlib.h"
"file.h"
"fs.h"
"game.h"
"graphics.h"
"intern.h"
"menu.h"
"mixer.h"
"mod_player.h"
"ogg_player.h"
"resource.h"
"resource_aba.h"
"resource_mac.h"
"scaler.h"
"screenshot.h"
"seq_player.h"
"sfx_player.h"
"systemstub.h"
"unpack.h"
"util.h"
"video.h"
)
source_group("Headers" FILES ${RE_INC})
add_executable(REminiscence ${RE_SRC} ${RE_INC})
find_package(SDL2 CONFIG REQUIRED)
target_link_libraries(REminiscence PRIVATE SDL2::SDL2 SDL2::SDL2main)
find_package(ZLIB REQUIRED)
target_link_libraries(REminiscence PRIVATE ZLIB::ZLIB)
target_include_directories(REminiscence PUBLIC
"${PROJECT_BINARY_DIR}"
)
當我生成 Visual Studio 解決方案時,它還將CMakeLists.txt
放在根目錄下:
問題
如果可能,如何防止 CMake 在根目錄添加CMakeLists.txt
?
您不能從項目中刪除CMakeLists.txt
,這是設計使然。
cmake
將CMakeLists.txt
作為依賴項添加到項目中。 如果即使在外部編輯器中修改它, MSBuild
運行cmake.
更新項目。 您不需要運行cmake.
和cmake --build
手動構建,當您 select構建解決方案時,Visual Studio 會為您完成。
此外,如果CMakeLists.txt
在項目中,您可以直接在 Visual Studio 中輕松編輯它。
旁注:如果您希望 CMakeLists.txt 條目出現在項目根目錄之外的另一個“文件夾”中,只需將"CMakeLists.txt"
條目添加到相應的source_group
變量。 CMakeLists.txt 仍將是一個依賴項,但將在 Visual Studio 中的所選文件夾下列出。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.