cmake_minimum_required(VERSION 3.28) project(dppbots) set(CMAKE_CXX_STANDARD 23) set(CMAKE_POLICY_VERSION_MINIMUM 3.5) set_property(GLOBAL PROPERTY USE_FOLDERS ON) file(GLOB REQUIRED_CMAKE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/cmake/*.cmake.required" ) foreach(cmake_file ${REQUIRED_CMAKE_FILES}) include(${cmake_file}) endforeach() include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/opus.cmake") file(GLOB CMAKE_FILES "${CMAKE_CURRENT_SOURCE_DIR}/cmake/*.cmake") foreach(cmake_file ${CMAKE_FILES}) include(${cmake_file}) endforeach() if (${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Windows") target_compile_options(dpp PRIVATE -fpermissive) endif () set(CMAKE_FOLDER "00-project") add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/src/00_project") set(CMAKE_FOLDER "01-basics") add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/src/01_basics/01_first_bot") add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/src/01_basics/02_embeds") add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/src/01_basics/03_private_messages") add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/src/01_basics/04_adding_files") add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/src/01_basics/05_webhooks") add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/src/01_basics/06_callbacks") add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/src/01_basics/07_cache") add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/src/01_basics/08_listening_to_messages") set(CMAKE_FOLDER "02-interactions") add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/src/02_interactions_and_components/01_slash_cmds/01_using_slash_cmds") add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/src/02_interactions_and_components/01_slash_cmds/02_clearing_registered_cmds") add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/src/02_interactions_and_components/01_slash_cmds/03_subcommands") add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/src/02_interactions_and_components/01_slash_cmds/04_autocompletion") add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/src/02_interactions_and_components/01_slash_cmds/05_file_parameters") add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/src/02_interactions_and_components/01_slash_cmds/06_cmd_handler") add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/src/02_interactions_and_components/02_ephemeral_replies") add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/src/02_interactions_and_components/03_user_apps") add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/src/02_interactions_and_components/04_resolved_objects") add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/src/02_interactions_and_components/05_msg_components/01_btn") add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/src/02_interactions_and_components/05_msg_components/02_advanced_btn") add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/src/02_interactions_and_components/05_msg_components/03_select_menu") add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/src/02_interactions_and_components/05_msg_components/04_select_menu_advanced") add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/src/02_interactions_and_components/05_msg_components/05_editing_msg_from_btn") add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/src/02_interactions_and_components/05_msg_components/06_components_v2") add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/src/02_interactions_and_components/06_modals") add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/src/02_interactions_and_components/07_context_menus") add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/src/02_interactions_and_components/08_thinking")