使用CMake在C#项目中创建文件夹

问题描述 投票:0回答:1

我已经使用source_group数十次使用C ++ Projects来组织我的文件,但对于C#Projects,这似乎不起作用:

set (FOO myfoo.cs)
set (BAR mybar.cs)
set (FILES  
  App.xaml
  App.xaml.cs
  MainWindow.xaml
  MainWindow.xaml.cs
)

set (PROPERTIES <property files here>)

add_executable(
  ${CMAKE_PROJECT_NAME}
  App.config
  ${FILES}
  ${FOO}
  ${BAR}
  ${PROPERTIES}
)

source_group(Models FILES ${FOO})
source_group(ViewModels FILES ${BAR})

文件夹不能通过CMake用于C#项目吗?或者我做错了什么?

编辑:忘记提及,在我的主要CMakeLists.txt文件中我已经拥有:

if (WIN32)
    SET_PROPERTY(GLOBAL PROPERTY USE_FOLDERS ON)
endif (WIN32)

然后我调用add_subdirectory上面的CMakeLists.txt。这个设置似乎适用于以相同方式添加的其他C ++项目。

c# cmake project solution
1个回答
0
投票

似乎在C#Projects中,source_group不受尊重。但是,文件夹仍然可以通过在列表中给它一个目录结构来实现,如下所示:

set(MODELS
    Models/CompileOptionsModel.cs
)

set(VIEWMODELS
    ViewModels/CompileOptionsViewModel.cs
)

set(PROPERTIES
 ...
)

set(Files
 ...
)

add_executable(
    ${APPNAME}
    App.config
    ${MODELS}
    ${VIEWMODELS}
    ${FILES}
    ${PROPERTIES}
)

这将导致文件夹Models和ViewModel出现。

© www.soinside.com 2019 - 2024. All rights reserved.