programing

cmake에서 생성 한 Visual Studio C ++ 프로젝트의 헤더 파일 나열

coolbiz 2021. 1. 15. 08:32
반응형

cmake에서 생성 한 Visual Studio C ++ 프로젝트의 헤더 파일 나열


우리 제품을위한 cmake 기반 빌드 시스템을 구축하고 있습니다. 문제는 cmake에 의해 생성 된 Visual Studio 프로젝트가 솔루션 브라우저에 헤더 파일을 표시하지 않는다는 것입니다.

헤더 파일을 나열하려면 CMakeList.txt에 무엇을 추가해야합니까? 선호되는 솔루션은 각각의 특정 헤더 파일을 나열 할 필요가없는 곳입니다.

솔루션 다음은 함께 제공된 솔루션입니다.

file(GLOB_RECURSE INCS "*.h")
add_library(myLib ${SRCS} ${INCS})

감사


소스 파일과 함께 헤더 파일을 추가하기 만하면됩니다.

PROJECT (Test)

ADD_EXECUTABLE(Test test.cpp test.h)

또는 변수 사용 :

PROJECT (Test)

SET(SOURCE
  test.cpp
)

SET(HEADERS
  test.h
)

ADD_EXECUTABLE(Test ${SOURCE} ${HEADERS})

이에 대한 기본 트릭은 헤더 파일을 대상 (실행 파일 또는 라이브러리) 중 하나에 추가하는 것입니다. cmake는 이미 모든 헤더 파일 종속성을 알고 있으며이를 처리해야하기 때문에 특히 짜증이납니다. source_group 명령을 사용하여 추가로 구성 할 수 있습니다 .

  source_group("My Headers" FILES ${MY_HDRS})

Xcode에서도 동일한 작업을 수행해야합니다.


Qt 프로젝트의 빌드 시스템에서 작업하는 동안 동일한 문제가 발생했으며이 페이지의 다른 게시물 덕분에이 솔루션이 나왔습니다. 내 메이크 파일에서 적용한 완전한 예제를 포함했습니다. 도움이 되었기를 바랍니다!

cmake_minimum_required (VERSION 2.6) 
project (DemoSolution)

find_package(Qt4 REQUIRED)
include(${QT_USE_FILE})
add_definitions(${QT_DEFINITIONS})

include_directories (../../include/)
set(CMAKE_INCLUDE_CURRENT_DIR ON)

file(GLOB Demo_SOURCES *.cpp)
file(GLOB Demo_HEADERS *.hpp)
file(GLOB Demo_FORMS *.ui)
file(GLOB Demo_RESOURCES resources.qrc)

qt4_wrap_cpp(Demo_MOC ${Demo_HEADERS})
qt4_wrap_ui(Demo_FORMS_HEADERS ${Demo_FORMS})
qt4_add_resources(Demo_RESOURCES_RCC ${Demo_RESOURCES})

source_group("Headers" FILES ${Demo_HEADERS})
source_group("MOC" FILES ${Demo_MOC})

set(QT_USE_QTNETWORK, true)
set(QT_USE_QTSQL, true)
set(QT_USE_QTXML, true)

add_library(Demo SHARED
    ${Demo_SOURCES}
    ${Demo_HEADERS}
    ${Demo_MOC}
    ${Demo_FORMS_HEADERS}
    ${Demo_RESOURCES_RCC}
    )

target_link_libraries(Demo ${QT_LIBRARIES})
add_definitions(-D_DEMO_EXPORTS)

이 답변이 게임에 정말 늦었다는 것을 알고 있지만 최신 버전의 Visual Studio에서는보기를 "CMake Target Mode"에서 "Folder View"로 변경할 수 있습니다.

enter image description here

이 폴더보기에서 모든 헤더 파일을 볼 수 있습니다.

솔직히 말하자면 Windows 특정 해킹으로 CMake 파일을 수정하는 것보다 Visual Studio의보기를 변경하는 것입니다.

참조 URL : https://stackoverflow.com/questions/1167154/listing-header-files-in-visual-studio-c-project-generated-by-cmake

반응형