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>
75 lines
2.7 KiB
CMake
75 lines
2.7 KiB
CMake
cmake_minimum_required(VERSION 3.9)
|
|
project(imgui LANGUAGES CXX)
|
|
|
|
set(MISC_DIR ${IMGUI_SRC_DIR}/misc)
|
|
set(EXTRA_FONTS_DIR ${MISC_DIR}/fonts)
|
|
set(IMGUI_EXPORT_HEADERS imgui_export_headers.h)
|
|
|
|
file(GLOB SOURCE_FILES ${IMGUI_SRC_DIR}/*.cpp)
|
|
file(GLOB HEADER_FILES ${IMGUI_SRC_DIR}/*.h)
|
|
|
|
if(IMGUI_ENABLE_TEST_ENGINE)
|
|
message(STATUS "Building ImGui with test engine")
|
|
file(GLOB TEST_ENGINE_FILES ${IMGUI_TEST_ENGINE_DIR}/imgui_test_engine/*.cpp)
|
|
list(APPEND SOURCE_FILES ${TEST_ENGINE_FILES})
|
|
file(GLOB TEST_ENGINE_HEADER_FILES ${IMGUI_TEST_ENGINE_DIR}/imgui_test_engine/*.h)
|
|
list(APPEND HEADER_FILES ${TEST_ENGINE_HEADER_FILES})
|
|
else()
|
|
message(STATUS "Building ImGui without test engine")
|
|
endif()
|
|
|
|
file(GLOB EXTRA_FONTS_FILES ${EXTRA_FONTS_DIR}/*.ttf)
|
|
if (MSVC)
|
|
file(GLOB EXTRA_NATVIS_FILES ${MISC_DIR}/natvis/*.natvis)
|
|
endif()
|
|
|
|
set(BINARY_TO_COMPRESSED_BIN binary_to_compressed_c)
|
|
|
|
add_executable(${BINARY_TO_COMPRESSED_BIN} ${EXTRA_FONTS_DIR}/binary_to_compressed_c.cpp)
|
|
target_compile_features(${BINARY_TO_COMPRESSED_BIN} PRIVATE cxx_std_11)
|
|
|
|
add_library(${PROJECT_NAME} ${SOURCE_FILES})
|
|
|
|
if(IMGUI_WITH_SDL3_BINDING)
|
|
target_sources(${PROJECT_NAME} PRIVATE ${IMGUI_SRC_DIR}/backends/imgui_impl_sdl3.cpp)
|
|
list(APPEND HEADER_FILES ${IMGUI_SRC_DIR}/backends/imgui_impl_sdl3.h)
|
|
find_package(SDL3 REQUIRED CONFIG)
|
|
target_link_libraries(${PROJECT_NAME} PUBLIC SDL3::SDL3)
|
|
endif()
|
|
|
|
set_target_properties(${PROJECT_NAME} PROPERTIES
|
|
CXX_VISIBILITY_PRESET hidden
|
|
VISIBILITY_INLINES_HIDDEN ON
|
|
)
|
|
include(GenerateExportHeader)
|
|
generate_export_header(${PROJECT_NAME}
|
|
EXPORT_MACRO_NAME IMGUI_API
|
|
EXPORT_FILE_NAME ${IMGUI_EXPORT_HEADERS}
|
|
)
|
|
target_include_directories(${PROJECT_NAME} PUBLIC
|
|
$<BUILD_INTERFACE:${IMGUI_SRC_DIR}>
|
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
|
|
$<INSTALL_INTERFACE:include>
|
|
)
|
|
target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_11)
|
|
|
|
include(GNUInstallDirs)
|
|
|
|
install(TARGETS ${PROJECT_NAME}
|
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
|
install(TARGETS ${BINARY_TO_COMPRESSED_BIN}
|
|
DESTINATION ${CMAKE_INSTALL_BINDIR})
|
|
install(FILES ${HEADER_FILES} ${CMAKE_CURRENT_BINARY_DIR}/${IMGUI_EXPORT_HEADERS}
|
|
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
|
|
PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ)
|
|
install(FILES ${EXTRA_FONTS_FILES}
|
|
DESTINATION ${CMAKE_INSTALL_PREFIX}/res/fonts
|
|
PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ)
|
|
if (MSVC)
|
|
install(FILES ${EXTRA_NATVIS_FILES}
|
|
DESTINATION ${CMAKE_INSTALL_PREFIX}/res/natvis
|
|
PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ)
|
|
endif()
|