Skip to content

Commit

Permalink
Allow third-party libraries to be provided by the client build system (
Browse files Browse the repository at this point in the history
…close #173)
  • Loading branch information
TheMostDiligent committed Mar 30, 2022
1 parent f1f8129 commit df2a850
Show file tree
Hide file tree
Showing 3 changed files with 42 additions and 33 deletions.
42 changes: 18 additions & 24 deletions Imgui/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,33 +2,27 @@ cmake_minimum_required (VERSION 3.6)

project(Diligent-Imgui CXX)

if (NOT DILIGENT_DEAR_IMGUI_PATH)
set(DEAR_IMGUI_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../ThirdParty/imgui")
else()
set(DEAR_IMGUI_PATH "${DILIGENT_DEAR_IMGUI_PATH}")
endif()

set(IMGUIZMO_QUAT_PATH ../ThirdParty/imGuIZMO.quat)

set(DEAR_IMGUI_INCLUDE
${DEAR_IMGUI_PATH}/imconfig.h
${DEAR_IMGUI_PATH}/imgui_internal.h
${DEAR_IMGUI_PATH}/imstb_rectpack.h
${DEAR_IMGUI_PATH}/imstb_textedit.h
${DEAR_IMGUI_PATH}/imstb_truetype.h
${DEAR_IMGUI_PATH}/misc/cpp/imgui_stdlib.h
${DILIGENT_DEAR_IMGUI_PATH}/imconfig.h
${DILIGENT_DEAR_IMGUI_PATH}/imgui_internal.h
${DILIGENT_DEAR_IMGUI_PATH}/imstb_rectpack.h
${DILIGENT_DEAR_IMGUI_PATH}/imstb_textedit.h
${DILIGENT_DEAR_IMGUI_PATH}/imstb_truetype.h
${DILIGENT_DEAR_IMGUI_PATH}/misc/cpp/imgui_stdlib.h
)

set(DEAR_IMGUI_INTERFACE
${DEAR_IMGUI_PATH}/imgui.h
${DILIGENT_DEAR_IMGUI_PATH}/imgui.h
)

set(DEAR_IMGUI_SOURCE
${DEAR_IMGUI_PATH}/imgui.cpp
${DEAR_IMGUI_PATH}/imgui_draw.cpp
${DEAR_IMGUI_PATH}/imgui_tables.cpp
${DEAR_IMGUI_PATH}/imgui_widgets.cpp
${DEAR_IMGUI_PATH}/misc/cpp/imgui_stdlib.cpp
${DILIGENT_DEAR_IMGUI_PATH}/imgui.cpp
${DILIGENT_DEAR_IMGUI_PATH}/imgui_draw.cpp
${DILIGENT_DEAR_IMGUI_PATH}/imgui_tables.cpp
${DILIGENT_DEAR_IMGUI_PATH}/imgui_widgets.cpp
${DILIGENT_DEAR_IMGUI_PATH}/misc/cpp/imgui_stdlib.cpp
)

set(SOURCE
Expand All @@ -49,8 +43,8 @@ set(INTERFACE
)

if(PLATFORM_WIN32)
list(APPEND DEAR_IMGUI_SOURCE ${DEAR_IMGUI_PATH}/backends/imgui_impl_win32.cpp)
list(APPEND DEAR_IMGUI_INCLUDE ${DEAR_IMGUI_PATH}/backends/imgui_impl_win32.h)
list(APPEND DEAR_IMGUI_SOURCE ${DILIGENT_DEAR_IMGUI_PATH}/backends/imgui_impl_win32.cpp)
list(APPEND DEAR_IMGUI_INCLUDE ${DILIGENT_DEAR_IMGUI_PATH}/backends/imgui_impl_win32.h)

list(APPEND SOURCE src/ImGuiImplWin32.cpp)
list(APPEND INTERFACE interface/ImGuiImplWin32.hpp)
Expand All @@ -64,8 +58,8 @@ elseif(PLATFORM_ANDROID)
list(APPEND SOURCE src/ImGuiImplAndroid.cpp)
list(APPEND INTERFACE interface/ImGuiImplAndroid.hpp)
elseif(PLATFORM_MACOS)
list(APPEND DEAR_IMGUI_SOURCE ${DEAR_IMGUI_PATH}/backends/imgui_impl_osx.mm)
list(APPEND DEAR_IMGUI_INCLUDE ${DEAR_IMGUI_PATH}/backends/imgui_impl_osx.h)
list(APPEND DEAR_IMGUI_SOURCE ${DILIGENT_DEAR_IMGUI_PATH}/backends/imgui_impl_osx.mm)
list(APPEND DEAR_IMGUI_INCLUDE ${DILIGENT_DEAR_IMGUI_PATH}/backends/imgui_impl_osx.h)

list(APPEND SOURCE src/ImGuiImplMacOS.mm)
list(APPEND INTERFACE interface/ImGuiImplMacOS.hpp)
Expand Down Expand Up @@ -96,7 +90,7 @@ target_include_directories(Diligent-Imgui
PUBLIC
interface
${IMGUIZMO_QUAT_PATH}
${DEAR_IMGUI_PATH}
${DILIGENT_DEAR_IMGUI_PATH}
PRIVATE
include
)
Expand All @@ -116,7 +110,7 @@ if(PLATFORM_WIN32 AND MINGW_BUILD)
target_link_libraries(Diligent-Imgui PRIVATE xinput.lib)
endif()

source_group(TREE ${DEAR_IMGUI_PATH} PREFIX "dear_imgui" FILES ${DEAR_IMGUI_SOURCE} ${DEAR_IMGUI_INCLUDE} ${DEAR_IMGUI_INTERFACE})
source_group(TREE ${DILIGENT_DEAR_IMGUI_PATH} PREFIX "dear_imgui" FILES ${DEAR_IMGUI_SOURCE} ${DEAR_IMGUI_INCLUDE} ${DEAR_IMGUI_INTERFACE})
source_group("src" FILES ${SOURCE})
source_group("include" FILES ${INCLUDE})
source_group("interface" FILES ${INTERFACE})
Expand Down
2 changes: 1 addition & 1 deletion RenderStatePackager/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ add_executable(Diligent-RenderStatePackager
target_include_directories(Diligent-RenderStatePackager
PRIVATE
include
../ThirdParty/args
${DILIGENT_ARGS_DIR}
)

target_link_libraries(Diligent-RenderStatePackager
Expand Down
31 changes: 23 additions & 8 deletions ThirdParty/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,32 @@ add_subdirectory(lpng-1.6.17)

set(LICENSE_INSTALL_PATH "Licenses/ThirdParty/${DILIGENT_TOOLS_DIR}")

install(FILES args/LICENSE DESTINATION ${LICENSE_INSTALL_PATH} RENAME args-license.txt)
if (NOT DILIGENT_ARGS_DIR)
if (NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/args/args.hxx")
message(FATAL_ERROR "Niether args submodule is checked out nor DILIGENT_ARGS_DIR variable is set")
endif()
set(DILIGENT_ARGS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/args" CACHE PATH "args source directory")
endif()
install(FILES "${DILIGENT_ARGS_DIR}/LICENSE" DESTINATION ${LICENSE_INSTALL_PATH} RENAME args-license.txt)


install(FILES libjpeg-9a/README DESTINATION ${LICENSE_INSTALL_PATH} RENAME libjpeg-readme.txt)
install(FILES libtiff/COPYRIGHT DESTINATION ${LICENSE_INSTALL_PATH} RENAME libtiff-copyright.txt)
install(FILES lpng-1.6.17/LICENSE DESTINATION ${LICENSE_INSTALL_PATH} RENAME lpng-license.txt)
install(FILES tinygltf/LICENSE DESTINATION ${LICENSE_INSTALL_PATH} RENAME tinygltf-license.txt)
install(FILES zlib-1.2.8/README DESTINATION ${LICENSE_INSTALL_PATH} RENAME zlib-readme.txt)
install(FILES imgui/LICENSE.txt DESTINATION ${LICENSE_INSTALL_PATH} RENAME imgui-license.txt)
install(FILES imGuIZMO.quat/license.txt DESTINATION ${LICENSE_INSTALL_PATH} RENAME imGuIZMO.quat-license.txt)
install(FILES stb/LICENSE.txt DESTINATION "${LICENSE_INSTALL_PATH}" RENAME stb-license.txt)
install(FILES json/LICENSE.MIT DESTINATION ${LICENSE_INSTALL_PATH} RENAME json-license.txt)

if (NOT DILIGENT_DEAR_IMGUI_PATH)
if (NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/imgui/imgui.h")
message(FATAL_ERROR "Niether imgui submodule is checked out nor DILIGENT_DEAR_IMGUI_PATH variable is set")
endif()
set(DILIGENT_DEAR_IMGUI_PATH "${CMAKE_CURRENT_SOURCE_DIR}/imgui" CACHE PATH "imgui source directory")
endif()
install(FILES "${DILIGENT_DEAR_IMGUI_PATH}/LICENSE.txt" DESTINATION ${LICENSE_INSTALL_PATH} RENAME imgui-license.txt)

if(DILIGENT_INSTALL_TOOLS)
set(THIRD_PARTY_TARGETS LibJpeg LibPng LibTiff ZLib)
install(TARGETS ${THIRD_PARTY_TARGETS}
Expand All @@ -31,12 +46,12 @@ if(DILIGENT_INSTALL_TOOLS)

install(
FILES
imgui/imconfig.h
imgui/imgui.h
imgui/imgui_internal.h
imgui/imstb_rectpack.h
imgui/imstb_textedit.h
imgui/imstb_truetype.h
${DILIGENT_DEAR_IMGUI_PATH}/imconfig.h
${DILIGENT_DEAR_IMGUI_PATH}/imgui.h
${DILIGENT_DEAR_IMGUI_PATH}/imgui_internal.h
${DILIGENT_DEAR_IMGUI_PATH}/imstb_rectpack.h
${DILIGENT_DEAR_IMGUI_PATH}/imstb_textedit.h
${DILIGENT_DEAR_IMGUI_PATH}/imstb_truetype.h
DESTINATION
"${CMAKE_INSTALL_INCLUDEDIR}/${DILIGENT_TOOLS_DIR}/ThirdParty/imgui"
)
Expand Down

0 comments on commit df2a850

Please sign in to comment.