diff --git a/TriviaBot/CMakeLists.txt b/TriviaBot/CMakeLists.txt new file mode 100644 index 0000000..8706f76 --- /dev/null +++ b/TriviaBot/CMakeLists.txt @@ -0,0 +1,123 @@ +cmake_minimum_required(VERSION 2.8) + +## section: Macro +MACRO(ADD_MSVC_PRECOMPILED_HEADER PrecompiledHeader PrecompiledSource SourcesVar) + IF(MSVC) + GET_FILENAME_COMPONENT(PrecompiledBasename ${PrecompiledHeader} NAME_WE) + SET(PrecompiledBinary "${CMAKE_CURRENT_BINARY_DIR}/${PrecompiledBasename}.pch") + SET(Sources ${${SourcesVar}}) + + SET_SOURCE_FILES_PROPERTIES(${PrecompiledSource} + PROPERTIES COMPILE_FLAGS "/Yc\"${PrecompiledHeader}\" /Fp\"${PrecompiledBinary}\"" + OBJECT_OUTPUTS "${PrecompiledBinary}") + SET_SOURCE_FILES_PROPERTIES(${Sources} + PROPERTIES COMPILE_FLAGS "/Yu\"${PrecompiledBinary}\" /FI\"${PrecompiledBinary}\" /Fp\"${PrecompiledBinary}\"" + OBJECT_DEPENDS "${PrecompiledBinary}") + # Add precompiled header to SourcesVar + LIST(APPEND ${SourcesVar} ${PrecompiledSource}) + ENDIF(MSVC) +ENDMACRO(ADD_MSVC_PRECOMPILED_HEADER) + +## start setting +SET (this_target TriviaBot) +PROJECT(${this_target}) + + + +## section: include directory +INCLUDE_DIRECTORIES( + C:/Users/Jack/Documents/GitHubVisualStudio/TriviaDiscord/lib/boost_1_61_0 + C:/Users/Jack/Documents/GitHubVisualStudio/TriviaDiscord/lib/openssl/include + C:/Users/Jack/Documents/GitHubVisualStudio/TriviaDiscord/lib/websocketpp + C:/Users/Jack/Documents/GitHubVisualStudio/TriviaDiscord/lib/cpr/include + C:/Users/Jack/Documents/GitHubVisualStudio/TriviaDiscord/lib/libcurl/include + ) + +## section: source files +# Add your source files here (one file per line), please SORT in alphabetical order for future maintenance +SET (${this_target}_SOURCE_FILES + ..\lib\cpr\cpr\auth.cpp + ..\lib\cpr\cpr\cookies.cpp + ..\lib\cpr\cpr\cprtypes.cpp + ..\lib\cpr\cpr\digest.cpp + ..\lib\cpr\cpr\error.cpp + ..\lib\cpr\cpr\multipart.cpp + ..\lib\cpr\cpr\parameters.cpp + ..\lib\cpr\cpr\payload.cpp + ..\lib\cpr\cpr\proxies.cpp + ..\lib\cpr\cpr\session.cpp + ..\lib\cpr\cpr\util.cpp + bot\APIHelper.cpp + bot\ClientConnection.cpp + bot\GatewayHandler.cpp + bot\http\HTTPHelper.cpp + bot\TriviaBot.cpp + bot\TriviaGame.cpp + data_management\LoadDB.cpp + ) + +## section: header files +# Add your header files here(one file per line), please SORT in alphabetical order for future maintenance! +SET(${this_target}_HEADER_FILES + bot\ClientConnection.hpp + bot\APIHelper.hpp + bot\data_structures\Channel.hpp + bot\data_structures\Guild.hpp + bot\data_structures\User.hpp + bot\GatewayHandler.hpp + bot\HTTP\HTTPHelper.hpp + bot\json\json.hpp + bot\TriviaGame.hpp + ) + +SOURCE_GROUP("Source Files" FILES + + ) +SOURCE_GROUP("Header Files" FILES + + ) +SOURCE_GROUP("Resource Files" FILES + + ) + + +## section: precompiled header +#ADD_MSVC_PRECOMPILED_HEADER("precompiled.h" "precompiled.cpp" MySources) +#ADD_LIBRARY(MyLibrary ${MySources}) + +SET_SOURCE_FILES_PROPERTIES(${this_target}_HEADER_FILES + PROPERTIES HEADER_FILE_ONLY TRUE) +LIST(APPEND ${this_target}_SOURCE_FILES ${${this_target}_HEADER_FILES}) + +## section: add definitions +# add prefix -D. example> -DSHP +# - DO NOT add the following definitions(already defined in ${OSP_DEFINITIONS}: +# -DSHP, -DWIN32, -D_WINDOWS, -D_DEBUG, -D_USRDLL, -D_CRT_SECURE_NO_DEPRECATE +ADD_DEFINITIONS( + -D_CRT_SECURE_NO_WARNINGS + ) + +## section: add target + +ADD_EXECUTABLE(${this_target} ${${this_target}_SOURCE_FILES}) + +## section: add dependency +# dependency determines overall build order. +ADD_DEPENDENCIES(${this_target} + libcurl.lib + sqlite3.lib + libeay32.lib + ssleay32.lib + sqlite3.lib + libeay32.lib + ) + +## section: set link libraries +TARGET_LINK_LIBRARIES( ${this_target} + libcurl.lib + sqlite3.lib + libeay32.lib + ssleay32.lib + sqlite3.lib + libeay32.lib + ) diff --git a/TriviaBot/TriviaBot.vcxproj b/TriviaBot/TriviaBot.vcxproj index 4f508e9..5f50050 100644 --- a/TriviaBot/TriviaBot.vcxproj +++ b/TriviaBot/TriviaBot.vcxproj @@ -126,14 +126,15 @@ true true _CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - C:\Users\Jack\Documents\GitHubVisualStudio\TriviaDiscord\lib\boost_1_61_0;C:\OpenSSL-Win32\include;%(AdditionalIncludeDirectories) + C:\Users\Jack\Documents\GitHubVisualStudio\TriviaDiscord\lib\boost_1_61_0;C:\Users\Jack\Documents\GitHubVisualStudio\TriviaDiscord\lib\openssl\include;C:\Users\Jack\Documents\GitHubVisualStudio\TriviaDiscord\lib\websocketpp;C:\Users\Jack\Documents\GitHubVisualStudio\TriviaDiscord\lib\cpr\include;C:\Users\Jack\Documents\GitHubVisualStudio\TriviaDiscord\lib\libcurl\include;%(AdditionalIncludeDirectories) + -D_WIN32_WINNT=0x0A00 %(AdditionalOptions) true true - sqlite3.lib;libeay32.lib;%(AdditionalDependencies) + libcurl.lib;sqlite3.lib;libeay32.lib;ssleay32.lib;sqlite3.lib;libeay32.lib;%(AdditionalDependencies) /SUBSYSTEM:CONSOLE %(AdditionalOptions) - C:\OpenSSL-Win32\lib;C:\Users\Jack\Documents\GitHubVisualStudio\TriviaDiscord\lib\boost_1_61_0\libs;%(AdditionalLibraryDirectories) + C:\Users\Jack\Documents\GitHubVisualStudio\TriviaDiscord\lib\libcurl\lib\dll-release-x64;C:\Users\Jack\Documents\GitHubVisualStudio\TriviaDiscord\lib\openssl\lib;C:\Users\Jack\Documents\GitHubVisualStudio\TriviaDiscord\lib\boost_1_61_0\lib64-msvc-14.0;C:\Users\Jack\Documents\GitHubVisualStudio\TriviaDiscord\lib\sqlite3\x64;%(AdditionalLibraryDirectories) @@ -144,14 +145,15 @@ true true _CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - C:\Users\Jack\Documents\GitHubVisualStudio\TriviaDiscord\lib\boost_1_61_0;C:\OpenSSL-Win32\include;%(AdditionalIncludeDirectories) + C:\Users\Jack\Documents\GitHubVisualStudio\TriviaDiscord\lib\boost_1_61_0;C:\Users\Jack\Documents\GitHubVisualStudio\TriviaDiscord\lib\openssl\include;C:\Users\Jack\Documents\GitHubVisualStudio\TriviaDiscord\lib\websocketpp;C:\Users\Jack\Documents\GitHubVisualStudio\TriviaDiscord\lib\cpr\include;C:\Users\Jack\Documents\GitHubVisualStudio\TriviaDiscord\lib\libcurl\include;%(AdditionalIncludeDirectories) + -D_WIN32_WINNT=0x0A00 %(AdditionalOptions) true true - sqlite3.lib;libeay32.lib;%(AdditionalDependencies) + libcurl.lib;sqlite3.lib;libeay32.lib;ssleay32.lib;libeay32.lib;ssleay32.lib;%(AdditionalDependencies) /SUBSYSTEM:CONSOLE %(AdditionalOptions) - C:\OpenSSL-Win32\lib;C:\Users\Jack\Documents\GitHubVisualStudio\TriviaDiscord\lib\boost_1_61_0\libs;%(AdditionalLibraryDirectories) + C:\Users\Jack\Documents\GitHubVisualStudio\TriviaDiscord\lib\libcurl\lib\dll-release-x64;C:\Users\Jack\Documents\GitHubVisualStudio\TriviaDiscord\lib\openssl\lib;C:\Users\Jack\Documents\GitHubVisualStudio\TriviaDiscord\lib\boost_1_61_0\lib64-msvc-14.0;C:\Users\Jack\Documents\GitHubVisualStudio\TriviaDiscord\lib\sqlite3\x64;%(AdditionalLibraryDirectories)