Files
GDMegaOverlay/CMakeLists.txt
2024-05-10 23:13:38 +02:00

69 lines
1.7 KiB
CMake

cmake_minimum_required(VERSION 3.21)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
set(CMAKE_OSX_ARCHITECTURES "x86_64")
set(CMAKE_CXX_VISIBILITY_PRESET hidden)
set(SKIP_BUILDING_CODEGEN off)
project(GDMegaOverlay LANGUAGES CXX VERSION 1.0.0)
file(GLOB SOURCES
src/*.cpp
src/*.h
src/*.c
src/GUI/*.cpp
src/GUI/*.h
src/Hacks/*.cpp
src/JsonPatches/*.cpp
src/Macrobot/*.cpp
src/DiscordRPCManager/*.cpp
)
# Set up the mod binary
add_library(${PROJECT_NAME} SHARED ${SOURCES})
if (NOT DEFINED ENV{GEODE_SDK})
message(FATAL_ERROR "Unable to find Geode SDK! Please define GEODE_SDK environment variable to point to Geode")
else()
message(STATUS "Found Geode: $ENV{GEODE_SDK}")
endif()
target_include_directories(${PROJECT_NAME} PRIVATE src/)
add_subdirectory($ENV{GEODE_SDK} ${CMAKE_CURRENT_BINARY_DIR}/geode)
set(IMGUI_VERSION "v1.89.2")
CPMAddPackage("gh:maxnut/gd-imgui-cocos#6c8e0d1")
target_link_libraries(${PROJECT_NAME} imgui-cocos)
# Set up dependencies, resources, link Geode
setup_geode_mod(${PROJECT_NAME})
# Get needed modules
include(cmake/git.cmake)
message("Getting modules\n")
include(cmake/nhjson.cmake)
include(cmake/discord-rpc.cmake)
include(cmake/gdr.cmake)
set(BUILD_PROGRAMS OFF)
set(BUILD_SHARED_LIBS OFF)
set(BUILD_TESTING OFF)
set(BUILD_EXAMPLES OFF)
include(cmake/portable-file-dialogs.cmake)
include(cmake/subprocess.cmake)
target_include_directories(${PROJECT_NAME} PRIVATE
${nhjson_SOURCE_DIR}/single_include
${discord-rpc_SOURCE_DIR}/include
${gdr_SOURCE_DIR}/include/gdr
${portable-file-dialogs_SOURCE_DIR}
${subprocess_SOURCE_DIR}/include
)
target_link_libraries(${PROJECT_NAME} discord-rpc)