mirror of
https://github.com/yoboujon/yoyo_card.git
synced 2025-06-08 12:50:49 +02:00
68 lines
2.4 KiB
CMake
68 lines
2.4 KiB
CMake
cmake_minimum_required(VERSION 3.11)
|
|
|
|
# Raylib
|
|
find_package(raylib ${RAYLIB_VERSION} QUIET) # QUIET or REQUIRED
|
|
if (NOT raylib_FOUND) # If there's none, fetch and build raylib
|
|
include(FetchContent)
|
|
FetchContent_Declare(
|
|
raylib
|
|
DOWNLOAD_EXTRACT_TIMESTAMP OFF
|
|
URL https://github.com/raysan5/raylib/archive/refs/tags/${RAYLIB_VERSION}.tar.gz
|
|
)
|
|
FetchContent_GetProperties(raylib)
|
|
if (NOT raylib_POPULATED) # Have we downloaded raylib yet?
|
|
set(FETCHCONTENT_QUIET NO)
|
|
FetchContent_MakeAvailable(raylib)
|
|
set(BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) # don't build the supplied examples
|
|
endif()
|
|
endif()
|
|
|
|
# dear imgui
|
|
include(FetchContent)
|
|
FetchContent_Declare(
|
|
imgui_content
|
|
DOWNLOAD_EXTRACT_TIMESTAMP OFF
|
|
URL https://github.com/ocornut/imgui/archive/refs/tags/v1.91.8.tar.gz
|
|
)
|
|
FetchContent_Populate(imgui_content)
|
|
FetchContent_GetProperties(imgui_content)
|
|
project(imgui_library)
|
|
set(imgui_SOURCE_FILES
|
|
"${imgui_content_SOURCE_DIR}/imgui.cpp"
|
|
"${imgui_content_SOURCE_DIR}/imgui_demo.cpp"
|
|
"${imgui_content_SOURCE_DIR}/imgui_draw.cpp"
|
|
"${imgui_content_SOURCE_DIR}/imgui_tables.cpp"
|
|
"${imgui_content_SOURCE_DIR}/imgui_widgets.cpp"
|
|
"${imgui_content_SOURCE_DIR}/misc/cpp/imgui_stdlib.cpp"
|
|
)
|
|
add_library(imgui STATIC "${imgui_SOURCE_FILES}")
|
|
target_include_directories(imgui PRIVATE "${imgui_content_SOURCE_DIR}")
|
|
SET(imgui_INCLUDE_DIRS
|
|
"${imgui_content_SOURCE_DIR}"
|
|
"${imgui_content_SOURCE_DIR}/misc/cpp"
|
|
CACHE INTERNAL "ImGUI Header folder")
|
|
set_target_properties(${imgui}
|
|
PROPERTIES
|
|
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
|
|
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
|
|
)
|
|
|
|
# rlImGui
|
|
FetchContent_Declare(
|
|
rlimgui_content
|
|
GIT_REPOSITORY https://github.com/raylib-extras/rlImGui
|
|
GIT_TAG 8d3a31402f6b99ba52925acc96441c2410f6b500
|
|
)
|
|
FetchContent_Populate(rlimgui_content)
|
|
FetchContent_GetProperties(rlimgui_content)
|
|
project(rlimgui)
|
|
add_library(rlimgui STATIC "${rlimgui_content_SOURCE_DIR}/rlImGui.cpp")
|
|
target_include_directories(rlimgui PRIVATE "${rlimgui_content_SOURCE_DIR}")
|
|
target_include_directories(rlimgui PRIVATE "${imgui_INCLUDE_DIRS}")
|
|
target_link_libraries(rlimgui raylib imgui)
|
|
SET(rlImGui_INCLUDE_DIRS "${rlimgui_content_SOURCE_DIR}" CACHE INTERNAL "rlImGui Header folder")
|
|
set_target_properties(${rlimgui}
|
|
PROPERTIES
|
|
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
|
|
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
|
|
)
|