add_subdirectory(ConcurrentQueue) add_subdirectory(Fmt) add_subdirectory(xxHash) add_subdirectory(RPMalloc) add_subdirectory(Squirrel) add_subdirectory(SimpleIni) add_subdirectory(TinyDir) add_subdirectory(SAJSON) add_subdirectory(CPR) add_subdirectory(UTF8) add_subdirectory(JSON) add_subdirectory(Inja) add_subdirectory(PUGIXML) add_subdirectory(CivetWeb) if (ENABLE_BUILTIN_MYSQL_C) set(WITH_MSI OFF CACHE INTERNAL "" FORCE) set(WITH_UNIT_TESTS OFF CACHE INTERNAL "" FORCE) set(WITH_EXTERNAL_ZLIB ON CACHE INTERNAL "" FORCE) set(WITH_CURL ON CACHE INTERNAL "" FORCE) set(WITH_SSL ON CACHE INTERNAL "" FORCE) add_subdirectory(MDBC) endif() set(BUILD_TESTING OFF CACHE INTERNAL "" FORCE) set(BUILD_SHARED_LIBS OFF CACHE INTERNAL "" FORCE) add_subdirectory(MaxmindDB) #set(POCO_STATIC ON CACHE INTERNAL "" FORCE) set(BUILD_SHARED_LIBS OFF CACHE INTERNAL "" FORCE) set(ENABLE_FOUNDATION ON CACHE INTERNAL "" FORCE) set(ENABLE_ENCODINGS ON CACHE INTERNAL "" FORCE) set(ENABLE_ENCODINGS_COMPILER OFF CACHE INTERNAL "" FORCE) set(ENABLE_XML ON CACHE INTERNAL "" FORCE) set(ENABLE_JSON ON CACHE INTERNAL "" FORCE) set(ENABLE_MONGODB OFF CACHE INTERNAL "" FORCE) set(ENABLE_DATA_ODBC OFF CACHE INTERNAL "" FORCE) set(ENABLE_DATA_SQLITE ON CACHE INTERNAL "" FORCE) set(ENABLE_REDIS OFF CACHE INTERNAL "" FORCE) set(ENABLE_PDF OFF CACHE INTERNAL "" FORCE) set(ENABLE_UTIL ON CACHE INTERNAL "" FORCE) set(ENABLE_NET ON CACHE INTERNAL "" FORCE) set(ENABLE_NETSSL ON CACHE INTERNAL "" FORCE) set(ENABLE_SEVENZIP OFF CACHE INTERNAL "" FORCE) set(ENABLE_ZIP OFF CACHE INTERNAL "" FORCE) set(ENABLE_CPPPARSER OFF CACHE INTERNAL "" FORCE) set(ENABLE_POCODOC OFF CACHE INTERNAL "" FORCE) set(ENABLE_PAGECOMPILER OFF CACHE INTERNAL "" FORCE) set(ENABLE_PAGECOMPILER_FILE2PAGE OFF CACHE INTERNAL "" FORCE) set(ENABLE_TESTS OFF CACHE INTERNAL "" FORCE) set(ENABLE_ACTIVERECORD OFF CACHE INTERNAL "" FORCE) set(ENABLE_ACTIVERECORD_COMPILER OFF CACHE INTERNAL "" FORCE) set(POCO_UNBUNDLED OFF CACHE INTERNAL "" FORCE) # Manualy enable some options if available find_package(MySQL) if(MYSQL_FOUND) set(ENABLE_DATA_MYSQL ON CACHE INTERNAL "" FORCE) endif() find_package(PostgreSQL) if(PostgreSQL_FOUND) set(ENABLE_DATA_POSTGRESQL ON CACHE INTERNAL "" FORCE) endif() add_subdirectory(POCO) # Windows gets stupid sometimes if (WIN32 AND MINGW) target_compile_definitions(Foundation PUBLIC POCO_NO_FPENVIRONMENT=1) endif() # We have these on GCC if(MINGW OR GCC) set(ENABLE_INTRINSICS ON CACHE INTERNAL "" FORCE) endif() set(BUILD_TESTS OFF CACHE INTERNAL "" FORCE) set(BUILD_SHARED OFF CACHE INTERNAL "" FORCE) set(BUILD_STATIC ON CACHE INTERNAL "" FORCE) if (WIN32 OR MINGW) set(ZMQ_HAVE_IPC OFF CACHE INTERNAL "" FORCE) endif() add_subdirectory(ZMQ) if(ENABLE_DISCORD) set(BUILD_TESTING OFF CACHE INTERNAL "" FORCE) set(BUILD_VOICE_SUPPORT OFF CACHE INTERNAL "" FORCE) set(DPP_INSTALL OFF CACHE INTERNAL "" FORCE) set(DPP_BUILD_TEST OFF CACHE INTERNAL "" FORCE) set(DPP_NO_VCPKG ON CACHE INTERNAL "" FORCE) set(DPP_CORO OFF CACHE INTERNAL "" FORCE) set(DPP_USE_EXTERNAL_JSON ON CACHE INTERNAL "" FORCE) if (WIN32 OR MINGW) set(BUILD_SHARED_LIBS ON CACHE INTERNAL "" FORCE) endif() add_subdirectory(DPP) target_link_libraries(dpp PRIVATE nlohmann_json) set(BUILD_SHARED_LIBS OFF CACHE INTERNAL "" FORCE) # We don't care about DPP warnings if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU") target_compile_options(dpp PRIVATE -w) elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") target_compile_options(dpp PRIVATE -w) elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") target_compile_options(dpp PRIVATE /w) endif() endif()