[MacOS] QT Vulkan의 사용.
Cross Platform Qt Library는 5.10 version 부터 Vulkan을 지원하고 있습니다.
Qt 자체에서 제공하는 QVulkan* 형태로 객체화 되어 제공되는데,
MacOS 에서는 이를 사용하기 위해 별도의 과정이 필요합니다.
Qt Online Installer 에서 직접 설치하는 것으로는 이용이 불가능한 것으로 보입니다
이를 사용하기 위해서는 다음 과정을 거쳐야합니다.
[필수]
Lunar G Vulkan SDK 를 다운받아야 합니다.
MacOS 에서 SDK 설치 시 Home Directory 에 VulkanSDK 가 생성됩니다.
[이후 과정]
- Qt Source를 Git 에서 clone 또는 Mirror server 에서 qt-<version>.tar.xz 형태의 파일을 다운받습니다.
- 다운로드한 디렉토리로 이동
- ./configure -prefix $HOME/Qt/<version>/macos -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -skip qtwebengine -skip qtxmlpatterns -skip qtwebview -skip qtwebview -skip qtwebsockets -skip qtwebchannel -skip qtwebengine -skip qtwebglplugin -skip qtremoteobjects -skip qtscxml -skip qtopcua -skip qtpim -skip qtpositioning -skip qtqa -skip qtlanguageserver -opensource -I $VULKAN_SDK/include -L $VULKAN_SDK/lib
위 과정에서 눈여겨 보실 부분은 -I flag와 -L flag 입니다. 해당 옵션이외에 -skip 옵션은 무시하셔도 됩니다.
-skip 옵션은 최종 라이브러리 빌드에 제외할 submodule 을 명시하는 것이기 때문에 제외할 라이브러리들을 입력하신 뒤
빌드하시면 됩니다.
-I, -L 옵션이 없다면 빌드하더라도 QVulkan 라이브러리를 찾지 못합니다.
이는 <vulkan/vulkan.h> 내부에 존재하는 Predefined Macro 를 확인하여 Qt Library 를 구성할 때
제외할 라이브러리들을 구성하는 것으로 보입니다.
이후
cmake --build . --parallel 4
cmake --install .
을 통해 설치를 마치면 됩니다.
여기서 끝이 아니고, Qt Project를 생성하신 뒤 Project 설정에서 Environment tab에서
VULKAN_SDK 라는 환경 변수를 지정해주셔야하며
VULKAN_SDK=$HOME/VulkanSDK/<version>/macOS 폴더를 지정해주시면 됩니다.
또는
VULKAN_SDK=$HOME/VulkanSDK/macOS 폴더를 지정해주시면 됩니다.