一、使用vs2017以上版本打开CMakelists文件
二、单击生成 或 按ctrl+s 保存CMakelist.txt 会自动生成缓存
三、选择要启动项目 并单击运行
四、 运行结果
五、CMake不依赖 .sln 或 .vcxproj 文件
1.外部 CMakelists.txt 文件
cmake_minimum_required (VERSION 3.8)
project ("LearnD3D12")
# 包含子项目。
add_subdirectory ("demo")
add_subdirectory ("demo1_Triangle")
add_subdirectory ("demo2_Resources")
add_subdirectory ("demo3")
2.内部 CMakelists.txt 文件
add_definitions("-DUNICODE" "-D_UNICODE")
file(GLOB_RECURSE SRC_FILES CMAKE_CONFIGURE_DEPENDS *.h *.cpp )
file(GLOB_RECURSE HLSL_FILES CMAKE_CONFIGURE_DEPENDS *.hlsl)
file(GLOB_RECURSE RES_FILES CMAKE_CONFIGURE_DEPENDS *.rc *.ico )
file(COPY ${HLSL_FILES} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/hlsl )
add_executable (demo WIN32 ${SRC_FILES} ${HLSL_FILES} ${RES_FILES})
target_link_libraries(demo "dxguid.lib" "dxgi.lib" "d3d12.lib" "d3dcompiler.lib")
VS采用CMakeLists生成c/c++项目更加灵活。cmake比较复杂,熟悉常用模板后比较容易上手。