ImGui
All checks were successful
Conan Packaging / Package assimp/6.0.4 (push) Successful in 3m4s
Conan Packaging / Package cli11/2.6.1 (push) Successful in 21s
Conan Packaging / Package eabase/01082025 (push) Successful in 14s
Conan Packaging / Package imgui/1.92.6-docking (push) Successful in 29s
Conan Packaging / Package sqlite3/3.51.2 (push) Successful in 35s
Conan Packaging / Package eastl/3.27.01 (push) Successful in 19s
Conan Packaging / Package vulkan-utility-libraries/1.4.341.0 (push) Successful in 22s
Conan Packaging / Package glslang/1.4.341.0 (push) Successful in 3m7s
Conan Packaging / Package flatbuffers/25.12.19 (push) Successful in 1m9s
Conan Packaging / Package lodepng/cci.20260210 (push) Successful in 19s
Conan Packaging / Package meshoptimizer/1.0 (push) Successful in 19s
Conan Packaging / Package mimalloc/3.2.8 (push) Successful in 25s
Conan Packaging / Package pixelmatch-cpp17/1.0.3 (push) Successful in 19s
Conan Packaging / Package rapidhash/3.0 (push) Successful in 15s
Conan Packaging / Package spirv-cross/1.4.341.0 (push) Successful in 53s
Conan Packaging / Package spirv-headers/1.4.341.0 (push) Successful in 14s
Conan Packaging / Package stduuid/1.2.3 (push) Successful in 15s
Conan Packaging / Package unordered_dense/4.8.1 (push) Successful in 16s
Conan Packaging / Package vulkan-headers/1.4.341.0 (push) Successful in 14s
Conan Packaging / Package spirv-tools/1.4.341.0 (push) Successful in 2m29s
Conan Packaging / Package vulkan-memory-allocator/3.3.0 (push) Successful in 18s
Conan Packaging / Package vulkan-validationlayers/1.4.341.0 (push) Successful in 7m48s
Conan Packaging / Package shaderc/2026.1 (push) Successful in 3m56s

Reviewed-on: #10
Co-authored-by: Romain BOULLARD <romain.boullard@protonmail.com>
Co-committed-by: Romain BOULLARD <romain.boullard@protonmail.com>
This commit was merged in pull request #10.
This commit is contained in:
2026-04-14 22:28:11 +00:00
committed by Romain BOULLARD
parent b0d44efc79
commit 8ea89fb4f1
11 changed files with 464 additions and 5 deletions

View File

@@ -0,0 +1,20 @@
cmake_minimum_required(VERSION 3.15)
project(test_package LANGUAGES CXX)
find_package(imgui REQUIRED CONFIG)
add_executable(${PROJECT_NAME} test_package.cpp)
target_link_libraries(${PROJECT_NAME} PRIVATE imgui::imgui)
option(DOCKING "Test docking" OFF)
if (DOCKING)
target_compile_definitions(${PROJECT_NAME} PRIVATE -DDOCKING)
endif()
if(ENABLE_TEST_ENGINE)
target_compile_definitions(${PROJECT_NAME} PRIVATE -DENABLE_TEST_ENGINE)
endif()
target_compile_definitions(${PROJECT_NAME} PUBLIC "IMGUI_USER_CONFIG=\"${CMAKE_CURRENT_SOURCE_DIR}/my_imgui_config.h\"")
target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11)

View File

@@ -0,0 +1,35 @@
from conan import ConanFile
from conan.tools.build import can_run
from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain
import os
import re
class TestPackageConan(ConanFile):
settings = "os", "arch", "compiler", "build_type"
generators = "CMakeDeps", "VirtualRunEnv"
test_type = "explicit"
def requirements(self):
self.requires(self.tested_reference_str)
def layout(self):
cmake_layout(self)
def generate(self):
with_docking = self.dependencies[self.tested_reference_str].conf_info.get("user.imgui:with_docking", False)
with_test_engine = self.dependencies[self.tested_reference_str].options.get_safe("enable_test_engine", False)
tc = CMakeToolchain(self)
tc.variables["DOCKING"] = with_docking
tc.variables["ENABLE_TEST_ENGINE"] = with_test_engine
tc.generate()
def build(self):
cmake = CMake(self)
cmake.configure()
cmake.build()
def test(self):
if can_run(self):
bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package")
self.run(bin_path, env="conanrun")

View File

@@ -0,0 +1,11 @@
#pragma once
#include <stdio.h>
namespace ImGui
{
void MyFunction(const char* name) {
printf(" ImGui::MyFunction(%s)\n", name);
}
}

View File

@@ -0,0 +1,33 @@
#include <imgui.h>
#ifdef DOCKING
#include <imgui_internal.h>
#endif
#ifdef ENABLE_TEST_ENGINE
#include <imgui_te_engine.h>
#endif
#include <stdio.h>
int main(int, char**)
{
printf("IMGUI VERSION: %s\n", IMGUI_VERSION);
ImGui::CreateContext();
#ifdef DOCKING
printf(" with docking\n");
#endif
#ifdef ENABLE_TEST_ENGINE
printf(" with test engine\n");
ImGuiTestEngine *engine = ImGuiTestEngine_CreateContext();
if (engine == NULL) {
printf(" Failed to create test engine context\n");
return -1;
}
ImGui::DestroyContext();
ImGuiTestEngine_DestroyContext(engine);
#else
ImGui::DestroyContext();
#endif
return 0;
}