From nobody Fri Jan 06 22:52:14 2023 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Npdrl1vhZz2qxXD; Fri, 6 Jan 2023 22:52:23 +0000 (UTC) (envelope-from jbeich@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "freefall.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Npdrl1P15z44BB; Fri, 6 Jan 2023 22:52:23 +0000 (UTC) (envelope-from jbeich@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1673045543; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=VUHhabOhUOC1zLWltgy9ziZU5HLSoMy4mK2HN5C/OTc=; b=Hr4743E9EtRsnyVGBooJfs4Ra306rQ0ak+VSoKwDSo1XRQ7bb2uO2mkveN/6mqHJhjf5FY 8QY2ZxgNbEY9bdgajUA0A1faEVwVIsM3u4hMZYgOuOmgQGr2h9Q/8z4q4DyoACrkeKGjJR gFZBEvl9dPQPSqakpgCpjU7CRTz2fR/psu26bfUpg1pq3ZW3QzBABTVRVd16RPBYXJiSTo TTR66SLv3CKlgO0WjxwYD/xVoTRwecdb46ddePDiR4HBDWTDI+0kptz1Rq3dInUSPb6Qeh uyXPUMCdIp/YlJwZgg1uOmMnH3/XRyxikVnKc9svhV1WAih+5AvRDmVcoHWpsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1673045543; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=VUHhabOhUOC1zLWltgy9ziZU5HLSoMy4mK2HN5C/OTc=; b=JYpB7B/LOVgxsucw7Fyojp59Qm/us5Oqu3MG8uMFxwX5DRYvKjpggbDLXXTFD4Jn+OXLbI ZuM5e6vvs3HABddrrpN0ZCUynDijxLo5Zc8lqWoI1GQQUR9X7pe6JKMHN9ngDAihEXl3ye bHJBwi+7PKY2LTPmiPrCpRPZqxY1Is0Tuf+2GaWko+XqogGNggDvvOr9Yez6PTedJ/pRKx dD918c2uwkefyKoDghTdEj6qJke+nndHPBwUVr3+AzYVarRJUGPDHtoQ+KpG2ELqoZ/qoI 6zF/CYmnvKt0iNabPMVSCI22Lhs4y2m5F0RAp3vxIwuyIy7VxIRjdgaI4+xWhQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1673045543; a=rsa-sha256; cv=none; b=R/NyAFLAlBm12IcRIV0zPmS5gIC21nvjePefFExUC2DWQed2+hSBrs5jM+t7eDVUyjB+Zq ZoAvSCJGXkaCSnoZhRw3NHUbSw79pm2meIBnpj9hxXAHz1FHaSpOhY13C/bCDwuYuaEf2c SyaoqSqRokHyZe5fp+9pkJdmfvWX9KISypNC0rslwmsW9a4dTVaCKvtNRyiyQApYK7AC3G Ej2pO2z1GXqrMc3uAsD+zTjjb0pjr1AOs6DFmjUufzbxlWiGU4iN9cqFPq+iXGRR1YulMC VkYy4WDY97NMGhuAFf18mCK3asq7HUMIXAIR6EIOpVP4skAKr9OzsKawBs1lRw== Received: by freefall.freebsd.org (Postfix, from userid 1354) id 20522AA5B; Fri, 6 Jan 2023 22:52:23 +0000 (UTC) From: Jan Beich To: Yuri Victorovich Cc: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: Re: git: 2769cf2656ae - main - x11-toolkits/imgui: New port: Bloat-free Graphical User interface for C++ with minimal dependencies In-Reply-To: <202301062022.306KMrq7010660@gitrepo.freebsd.org> (Yuri Victorovich's message of "Fri, 6 Jan 2023 20:22:53 GMT") References: <202301062022.306KMrq7010660@gitrepo.freebsd.org> Date: Fri, 06 Jan 2023 23:52:14 +0100 Message-ID: List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-all@freebsd.org X-BeenThere: dev-commits-ports-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain X-ThisMailContainsUnwantedMimeParts: N Yuri Victorovich writes: > +OPTIONS_DEFAULT= GLFW OPENGL2 OPENGL3 Can you enable Vulkan by default? vulkan-loader is more likely to be already installed (pulled by another port) than glfw. In glfw package Vulkan is used via dlopen(3), so not visible via *_DEPENDS in the port. I did confirm VULKAN=on works fine on FreeBSD with Intel iGPU using the following which also helped to uncover a bug in imgui itself (missing dependency in shared library). --- examples/example_glfw_vulkan/CMakeLists.txt.orig 2023-01-05 14:49:29 UTC +++ examples/example_glfw_vulkan/CMakeLists.txt @@ -14,32 +14,20 @@ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DVK_PROTOTYP set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DVK_PROTOTYPES") set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DVK_PROTOTYPES") -# GLFW -set(GLFW_DIR ../../../glfw) # Set this to point to an up-to-date GLFW repo -option(GLFW_BUILD_EXAMPLES "Build the GLFW example programs" OFF) -option(GLFW_BUILD_TESTS "Build the GLFW test programs" OFF) -option(GLFW_BUILD_DOCS "Build the GLFW documentation" OFF) -option(GLFW_INSTALL "Generate installation target" OFF) -option(GLFW_DOCUMENT_INTERNALS "Include internals in documentation" OFF) -add_subdirectory(${GLFW_DIR} binary_dir EXCLUDE_FROM_ALL) -include_directories(${GLFW_DIR}/include) - -# Dear ImGui -set(IMGUI_DIR ../../) -include_directories(${IMGUI_DIR} ${IMGUI_DIR}/backends ..) - # Libraries +find_package(VulkanHeaders REQUIRED) find_package(Vulkan REQUIRED) -#find_library(VULKAN_LIBRARY - #NAMES vulkan vulkan-1) -#set(LIBRARIES "glfw;${VULKAN_LIBRARY}") -set(LIBRARIES "glfw;Vulkan::Vulkan") +find_package(glfw3) +find_package(imgui) +set(LIBRARIES "Vulkan::Vulkan;glfw;imgui::imgui") -# Use vulkan headers from glfw: -include_directories(${GLFW_DIR}/deps) +# Work around underlinking in imgui package e.g., +# ld: error: undefined reference due to --no-allow-shlib-undefined: glDeleteTextures +find_package(OpenGL) +list(APPEND LIBRARIES OpenGL::OpenGL) file(GLOB sources *.cpp) -add_executable(example_glfw_vulkan ${sources} ${IMGUI_DIR}/backends/imgui_impl_glfw.cpp ${IMGUI_DIR}/backends/imgui_impl_vulkan.cpp ${IMGUI_DIR}/imgui.cpp ${IMGUI_DIR}/imgui_draw.cpp ${IMGUI_DIR}/imgui_demo.cpp ${IMGUI_DIR}/imgui_tables.cpp ${IMGUI_DIR}/imgui_widgets.cpp) +add_executable(example_glfw_vulkan ${sources}) target_link_libraries(example_glfw_vulkan ${LIBRARIES}) target_compile_definitions(example_glfw_vulkan PUBLIC -DImTextureID=ImU64)