create new project
This commit is contained in:
120
thirdparty/CMakeLists.txt
vendored
Normal file
120
thirdparty/CMakeLists.txt
vendored
Normal file
@@ -0,0 +1,120 @@
|
||||
include(FetchContent)
|
||||
|
||||
|
||||
# ---- GLEW ----
|
||||
# repository: https://github.com/Perlmint/glew-cmake
|
||||
# license : Modified BSD License, the Mesa 3-D License (MIT) and the Khronos License (MIT).
|
||||
|
||||
FetchContent_Declare(
|
||||
glew
|
||||
URL "https://github.com/Perlmint/glew-cmake/archive/refs/tags/glew-cmake-2.2.0.zip"
|
||||
)
|
||||
FetchContent_MakeAvailable(glew)
|
||||
|
||||
if (KINGTAKER_STATIC)
|
||||
add_library(glew ALIAS libglew_static)
|
||||
else()
|
||||
add_library(glew ALIAS libglew_shared)
|
||||
endif()
|
||||
|
||||
|
||||
# ---- GLFW ----
|
||||
# repository: https://github.com/glfw/glfw
|
||||
# license : zlib
|
||||
|
||||
FetchContent_Declare(
|
||||
glfw
|
||||
URL "https://github.com/glfw/glfw/archive/refs/tags/3.3.4.zip"
|
||||
)
|
||||
|
||||
set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
|
||||
set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE)
|
||||
set(GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE)
|
||||
set(GLFW_INSTALL OFF CACHE BOOL "" FORCE)
|
||||
|
||||
FetchContent_MakeAvailable(glfw)
|
||||
|
||||
|
||||
# ---- ImGUI (docking branch) ----
|
||||
# repository: https://github.com/ocornut/imgui/
|
||||
# license : MIT
|
||||
|
||||
FetchContent_Declare(
|
||||
imgui
|
||||
URL "https://github.com/ocornut/imgui/archive/9b0c26b0b2adae3ccf66dc9552fae4945d735a0c.zip"
|
||||
)
|
||||
FetchContent_Populate(imgui)
|
||||
|
||||
add_library(imgui)
|
||||
target_sources(imgui
|
||||
PRIVATE
|
||||
"${imgui_SOURCE_DIR}/imgui.cpp"
|
||||
"${imgui_SOURCE_DIR}/imgui_demo.cpp"
|
||||
"${imgui_SOURCE_DIR}/imgui_draw.cpp"
|
||||
"${imgui_SOURCE_DIR}/imgui_internal.h"
|
||||
"${imgui_SOURCE_DIR}/imgui_tables.cpp"
|
||||
"${imgui_SOURCE_DIR}/imgui_widgets.cpp"
|
||||
"${imgui_SOURCE_DIR}/backends/imgui_impl_glfw.cpp"
|
||||
"${imgui_SOURCE_DIR}/backends/imgui_impl_opengl3.cpp"
|
||||
"${imgui_SOURCE_DIR}/misc/cpp/imgui_stdlib.cpp"
|
||||
PUBLIC
|
||||
"${imgui_SOURCE_DIR}/imgui.h"
|
||||
"${imgui_SOURCE_DIR}/imstb_rectpack.h"
|
||||
"${imgui_SOURCE_DIR}/imstb_textedit.h"
|
||||
"${imgui_SOURCE_DIR}/imstb_truetype.h"
|
||||
"${imgui_SOURCE_DIR}/backends/imgui_impl_glfw.h"
|
||||
"${imgui_SOURCE_DIR}/backends/imgui_impl_opengl3.h"
|
||||
"${imgui_SOURCE_DIR}/misc/cpp/imgui_stdlib.h"
|
||||
)
|
||||
target_include_directories(imgui SYSTEM
|
||||
PUBLIC
|
||||
"${imgui_SOURCE_DIR}"
|
||||
"${imgui_SOURCE_DIR}/backends"
|
||||
"${imgui_SOURCE_DIR}/misc/cpp"
|
||||
)
|
||||
target_link_libraries(imgui
|
||||
PRIVATE glfw
|
||||
)
|
||||
|
||||
|
||||
# ---- ImPlot ----
|
||||
# repository: https://github.com/epezent/implot
|
||||
# license : MIT
|
||||
|
||||
FetchContent_Declare(
|
||||
implot
|
||||
URL "https://github.com/epezent/implot/archive/refs/heads/master.zip"
|
||||
)
|
||||
FetchContent_Populate(implot)
|
||||
|
||||
add_library(implot)
|
||||
target_link_libraries(implot
|
||||
PRIVATE
|
||||
imgui
|
||||
)
|
||||
target_include_directories(implot SYSTEM
|
||||
PUBLIC
|
||||
"${implot_SOURCE_DIR}"
|
||||
)
|
||||
target_sources(implot
|
||||
PUBLIC
|
||||
"${implot_SOURCE_DIR}/implot.h"
|
||||
"${implot_SOURCE_DIR}/implot_internal.h"
|
||||
PRIVATE
|
||||
"${implot_SOURCE_DIR}/implot.cpp"
|
||||
"${implot_SOURCE_DIR}/implot_items.cpp"
|
||||
)
|
||||
|
||||
|
||||
# ---- stb ----
|
||||
FetchContent_Declare(
|
||||
stb
|
||||
URL "https://github.com/nothings/stb/archive/af1a5bc352164740c1cc1354942b1c6b72eacb8a.zip"
|
||||
)
|
||||
FetchContent_Populate(stb)
|
||||
|
||||
add_library(stb INTERFACE)
|
||||
target_include_directories(stb SYSTEM
|
||||
INTERFACE
|
||||
"${stb_SOURCE_DIR}"
|
||||
)
|
Reference in New Issue
Block a user