+# By default we install dependencies to the external directory
+/external/*
+
+# Ignore any build directories
+*build*/
+
CMakeCache.txt
CMakeLists.txt.user
CMakeFiles/
Makefile
scripts/__pycache__
VKConfig.h
-build
-build32
-dbuild
-external/*
-!external/CMakeLists.txt
-!external/README.md
+
*.so
*.so.*
*.pyc
under the QNX host development system (Linux, Win64, MacOS) by invoking
the shell/batch script provided with QNX installation.
-Then change working directory to the "build-qnx" in this project and type "make".
+Then change working directory to the "scripts/qnx" in this project and type "make".
It will build the ICD loader for all CPU targets supported by QNX.
## Cross Compilation
option(BUILD_WSI_XLIB_SUPPORT "Build Xlib WSI support" ON)
option(BUILD_WSI_WAYLAND_SUPPORT "Build Wayland WSI support" ON)
option(BUILD_WSI_DIRECTFB_SUPPORT "Build DirectFB WSI support" OFF)
- option(BUILD_WSI_SCREEN_QNX_SUPPORT "Build QNX Screen WSI support" OFF)
find_package(PkgConfig REQUIRED QUIET) # Use PkgConfig to find Linux system libraries
target_compile_definitions(platform_wsi INTERFACE VK_USE_PLATFORM_DIRECTFB_EXT)
target_link_libraries(platform_wsi INTERFACE PkgConfig::DirectFB)
endif()
- if(BUILD_WSI_SCREEN_QNX_SUPPORT)
- # Part of OS, no additional include directories are required
- target_compile_definitions(platform_wsi INTERFACE VK_USE_PLATFORM_SCREEN_QNX)
- endif()
+elseif(CMAKE_SYSTEM_NAME MATCHES "QNX")
+ message(FATAL_ERROR "See BUILD.md for QNX build")
else()
message(FATAL_ERROR "Unsupported Platform!")
endif()
+++ /dev/null
-LIST=OS
-include recurse.mk
+++ /dev/null
-ifndef QCONFIG
-QCONFIG=qconfig.mk
-endif
-include $(QCONFIG)
-
-define PINFO
-PINFO DESCRIPTION = "Vulkan ICD Loader"
-endef
-
-ICD_ROOT=$(CURDIR)/../../../..
-
-EXTRA_INCVPATH+=$(ICD_ROOT)/build_qnx
-EXTRA_INCVPATH+=$(ICD_ROOT)/external/Vulkan-Headers/include
-
-EXTRA_SRCVPATH+=$(ICD_ROOT)/loader
-EXTRA_SRCVPATH+=$(ICD_ROOT)/loader/generated
-
-SO_VERSION=1
-NAME=vulkan
-
-# Make the library
-
-SRCS = cJSON.c debug_utils.c dev_ext_trampoline.c loader.c \
- phys_dev_ext.c trampoline.c unknown_ext_chain.c wsi.c \
- extension_manual.c unknown_function_handling.c settings.c \
- log.c allocation.c loader_environment.c gpa_helper.c \
- terminator.c
-
-LDFLAGS += -Wl,--unresolved-symbols=report-all -Wl,--no-undefined -Wl,-fPIC
-
-include $(MKFILES_ROOT)/qtargets.mk
-
-CCFLAGS += -DVK_USE_PLATFORM_SCREEN_QNX=1 -Dvulkan_EXPORTS
-CCFLAGS += -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers
-CCFLAGS += -fno-strict-aliasing -fno-builtin-memcmp -Wno-stringop-truncation
-CCFLAGS += -Wno-stringop-overflow -fvisibility=hidden
-CCFLAGS += -Wpointer-arith -fPIC
-
-# Enable this if required
-CCFLAGS += -DVK_ENABLE_BETA_EXTENSIONS
-
-CXXFLAGS += $(CCFLAGS)
-
-# cJSON requires math library for pow() function
-LIBS += m
-
-INSTALLDIR=usr/lib
+++ /dev/null
-#undef HAVE_SECURE_GETENV
-#undef HAVE___SECURE_GETENV
+++ /dev/null
-LIST=CPU
-ifndef QRECURSE
-QRECURSE=recurse.mk
-ifdef QCONFIG
-QRDIR=$(dir $(QCONFIG))
-endif
-endif
-include $(QRDIR)$(QRECURSE)
+++ /dev/null
-LIST=VARIANT
-ifndef QRECURSE
-QRECURSE=recurse.mk
-ifdef QCONFIG
-QRDIR=$(dir $(QCONFIG))
-endif
-endif
-include $(QRDIR)$(QRECURSE)
+++ /dev/null
-include ../../../common.mk
+++ /dev/null
-LIST=VARIANT
-ifndef QRECURSE
-QRECURSE=recurse.mk
-ifdef QCONFIG
-QRDIR=$(dir $(QCONFIG))
-endif
-endif
-include $(QRDIR)$(QRECURSE)
+++ /dev/null
-include ../../../common.mk
+++ /dev/null
-LIST=VARIANT
-ifndef QRECURSE
-QRECURSE=recurse.mk
-ifdef QCONFIG
-QRDIR=$(dir $(QCONFIG))
-endif
-endif
-include $(QRDIR)$(QRECURSE)
+++ /dev/null
-include ../../../common.mk
--- /dev/null
+LIST=OS
+include recurse.mk
--- /dev/null
+ifndef QCONFIG
+QCONFIG=qconfig.mk
+endif
+include $(QCONFIG)
+
+define PINFO
+PINFO DESCRIPTION = "Vulkan ICD Loader"
+endef
+
+ICD_ROOT=$(CURDIR)/../../../../..
+
+EXTRA_INCVPATH+=$(ICD_ROOT)/scripts/gn
+EXTRA_INCVPATH+=$(ICD_ROOT)/external/Vulkan-Headers/include
+
+EXTRA_SRCVPATH+=$(ICD_ROOT)/loader
+EXTRA_SRCVPATH+=$(ICD_ROOT)/loader/generated
+
+SO_VERSION=1
+NAME=vulkan
+
+# Make the library
+
+SRCS = cJSON.c debug_utils.c dev_ext_trampoline.c loader.c \
+ phys_dev_ext.c trampoline.c unknown_ext_chain.c wsi.c \
+ extension_manual.c unknown_function_handling.c settings.c \
+ log.c allocation.c loader_environment.c gpa_helper.c \
+ terminator.c
+
+LDFLAGS += -Wl,--unresolved-symbols=report-all -Wl,--no-undefined -Wl,-fPIC
+
+include $(MKFILES_ROOT)/qtargets.mk
+
+CCFLAGS += -DVK_USE_PLATFORM_SCREEN_QNX=1 -DVK_ENABLE_BETA_EXTENSIONS
+CCFLAGS += -Wall -Wextra -Wno-unused-parameter -Wno-missing-field-initializers
+CCFLAGS += -fno-strict-aliasing -fno-builtin-memcmp -Wno-stringop-truncation
+CCFLAGS += -Wno-stringop-overflow -fvisibility=hidden
+CCFLAGS += -Wpointer-arith -fPIC
+
+CXXFLAGS += $(CCFLAGS)
+
+# cJSON requires math library for pow() function
+LIBS += m
+
+INSTALLDIR=usr/lib
--- /dev/null
+#undef HAVE_SECURE_GETENV
+#undef HAVE___SECURE_GETENV
--- /dev/null
+LIST=CPU
+ifndef QRECURSE
+QRECURSE=recurse.mk
+ifdef QCONFIG
+QRDIR=$(dir $(QCONFIG))
+endif
+endif
+include $(QRDIR)$(QRECURSE)
--- /dev/null
+LIST=VARIANT
+ifndef QRECURSE
+QRECURSE=recurse.mk
+ifdef QCONFIG
+QRDIR=$(dir $(QCONFIG))
+endif
+endif
+include $(QRDIR)$(QRECURSE)
--- /dev/null
+include ../../../common.mk
--- /dev/null
+LIST=VARIANT
+ifndef QRECURSE
+QRECURSE=recurse.mk
+ifdef QCONFIG
+QRDIR=$(dir $(QCONFIG))
+endif
+endif
+include $(QRDIR)$(QRECURSE)
--- /dev/null
+include ../../../common.mk
--- /dev/null
+LIST=VARIANT
+ifndef QRECURSE
+QRECURSE=recurse.mk
+ifdef QCONFIG
+QRDIR=$(dir $(QCONFIG))
+endif
+endif
+include $(QRDIR)$(QRECURSE)
--- /dev/null
+include ../../../common.mk