VulkanLearning - 环境搭建:使用CLion+cmake链接第三方库

不知从何时开始,突然不想再打开VS写东西了(这人pass有病(很大一部分原因是找不到如何添加VC工程模板(说白了就是一条菜狗)))加上正要开始学习Vulkan以及一些相关的图形学知识,在工程编译方面要学习的也有很多,诸如makefile,cmake云云,这次在配置CLion+cmake的vulkan simple demo编译环境时遇到了不少问题,由于官方教程和google里都是直接vs安排上了,这里先开始瞎捣鼓cmake添加依赖,编辑项目信息包括源文件,编译器等的一些用法,仅做个记录,后期争取不断改进。
ps:make之类的的代码建议用php高亮,原因?$ $ $ $ $ $ $ $ $ $ $ $ $…

项目结构(加载了SDL2, GLM, GLFW和Vulkan)
在这里插入图片描述
CmakeList.txt傻瓜ver0.810(路径自行修改,我还没太搞懂CMake判断包是否安装的机制是什么?添加到了环境变量?)

# CMake 最低要求版本
cmake_minimum_required(VERSION 3.15)

# 项目信息
project(VulkanDemo)

# 获取OS信息
if (CMAKE_HOST_WIN32)
    set(WINDOWS 1)
elseif(CMAKE_HOST_APPLE)
    set(MACOS 1)
elseif(CMAKE_HOST_UNIX)
    set(LINUX 1)
endif()

# 旁侧设定
set(CMAKE_CXX_STANDARD 20)
#SET(CMAKE_CXX_COMPILER "clang++")

# 设置部分源文件的目录信息
##  相当于设置INCLUDE_DIRECTORIES为include的路径
include_directories(./include/)
aux_source_directory(./src/VkApp/ SOURCES)

# 指定生成目标
add_executable(VulkanDemo ./src/main.cpp ${SOURCES})

# 添加依赖
##  SDL2
set(SDL2_PATH A:/Depending/SDL2-2.0.10/x86_64-w64-mingw32)
set(SDL2_LIBS_DIR ${SDL2_PATH}/lib)
set(SDL2_INCLUDE_DIR ${SDL2_PATH}/include)
set(SDL2_LIBRARIES -L${SDL2_LIBS_DIR} -lmingw32 -lSDL2main -lSDL2 )#-mwindows)  #use this to enable debug information console

include_directories(${SDL2_INCLUDE_DIR})
###   static
target_link_libraries(VulkanDemo ${SDL2_LIBRARIES})
###   dynamic (SDL2.dll) --copy to execute path
link_directories(${SDL2_PATH}/bin)

##  GLM
set(GLM_INCLUDE_DIRS A:/Depending/glm/)
include_directories(${GLM_INCLUDE_DIRS})

##  GLFW
set(GLFW_INCLUDE_DIRS A:/Depending/glfw-3.3.bin.WIN64/include/)
set(GLFW_LIBRARIES A:/Depending/glfw-3.3.bin.WIN64/lib-mingw-w64/libglfw3.a)
include_directories(${GLFW_INCLUDE_DIRS})
target_link_libraries(VulkanDemo ${GLFW_LIBRARIES})

#  Boost
set(Boost_INCLUDE_DIR A:/Depending/boost_1_72_0/)
find_package(Boost REQUIRED)
include_directories(${Boost_INCLUDE_DIRS})
target_link_libraries(VulkanDemo ${Boost_LIBRARIES})

##  Vulkan
find_package(Vulkan REQUIRED FATAL_ERROR)
include_directories(${Vulkan_INCLUDE_DIRS})
target_link_libraries(VulkanDemo ${Vulkan_LIBRARIES})
发布了24 篇原创文章 · 获赞 14 · 访问量 6146

猜你喜欢

转载自blog.csdn.net/qq_35587463/article/details/103708350