no more mac cuz i cba

This commit is contained in:
ouwou
2020-12-10 21:32:02 -05:00
parent 89be70611d
commit df781e0dc6
3 changed files with 59 additions and 166 deletions

View File

@@ -1,42 +0,0 @@
matrix:
include:
- os: osx
osx_image: xcode12
language: cpp
addons:
homebrew:
packages:
- gtkmm3
- zlib
- openssl
- nlohmann-json
- sqlite
script:
- |
git submodule init
git submodule update
mkdir build
cd build
cmake -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -DCMAKE_BUILD_TYPE=RelWithDebInfo -DUSE_PKGCONFIG=ON -DDISABLE_MBEDTLS=ON ../
make
before_deploy:
- |
mkdir out
cp abaddon out/abaddon
deploy:
provider: s3
local_dir: out
upload-dir: travis-$TRAVIS_BRANCH
skip_cleanup: true
bucket: "pogger-space"
access_key_id: $S3_ACCESS_KEY
secret_access_key: $S3_SECRET_KEY
endpoint: "https://nyc3.digitaloceanspaces.com"
region: nyc3
acl: public_read
overwrite: true
on:
all_branches: true

View File

@@ -4,130 +4,62 @@ project(abaddon)
set(CMAKE_CXX_STANDARD 17)
option(USE_PKGCONFIG "Use pkg-config" OFF)
option(DISABLE_MBEDTLS "Disable mbedtls" OFF)
add_compile_definitions(NOMINMAX)
if(NOT USE_PKGCONFIG)
find_path(GTKMM_INCLUDE_DIRS gtkmm.h REQUIRED)
find_library(GTKMM_LIBRARY gtkmm)
link_libraries(${GTKMM_LIBRARY})
include_directories(${GTKMM_INCLUDE_DIRS})
find_path(GTKMM_INCLUDE_DIRS gtkmm.h REQUIRED)
find_library(GTKMM_LIBRARY gtkmm)
include_directories(${GTKMM_INCLUDE_DIRS})
find_library(GLIB_LIBRARY glib-2.0)
link_libraries(${GLIB_LIBRARY})
find_library(GLIB_LIBRARY glib-2.0)
find_path(GLIBMM_INCLUDE_DIRS glibmm.h)
find_library(GLIBMM_LIBRARY glibmm)
link_libraries(${GLIBMM_LIBRARY})
include_directories(${GLIBMM_INCLUDE_DIRS})
find_path(GLIBMM_INCLUDE_DIRS glibmm.h)
find_library(GLIBMM_LIBRARY glibmm)
include_directories(${GLIBMM_INCLUDE_DIRS})
find_path(SIGC_INCLUDE_DIRS sigc++/sigc++.h)
find_library(SIGC_LIBRARY sigc-2.0)
link_libraries(${SIGC_LIBRARY})
include_directories(${SIGC_INCLUDE_DIRS})
find_path(SIGC_INCLUDE_DIRS sigc++/sigc++.h)
find_library(SIGC_LIBRARY sigc-2.0)
include_directories(${SIGC_INCLUDE_DIRS})
find_path(GIOMM_INCLUDE_DIRS giomm.h)
find_library(GIOMM_LIBRARY giomm)
link_libraries(${GIOMM_LIBRARY})
include_directories(${GIOMM_INCLUDE_DIRS})
find_path(GIOMM_INCLUDE_DIRS giomm.h)
find_library(GIOMM_LIBRARY giomm)
include_directories(${GIOMM_INCLUDE_DIRS})
find_path(GDKMM_INCLUDE_DIRS gdkmm.h)
find_library(GDKMM_LIBRARY gdkmm)
link_libraries(${GDKMM_LIBRARY})
include_directories(${GDKMM_INCLUDE_DIRS})
find_path(GDKMM_INCLUDE_DIRS gdkmm.h)
find_library(GDKMM_LIBRARY gdkmm)
include_directories(${GDKMM_INCLUDE_DIRS})
find_path(ATKMM_INCLUDE_DIRS atkmm.h)
find_library(ATKMM_LIBRARY atkmm)
link_libraries(${ATKMM_LIBRARY})
include_directories(${ATKMM_INCLUDE_DIRS})
find_path(ATKMM_INCLUDE_DIRS atkmm.h)
find_library(ATKMM_LIBRARY atkmm)
include_directories(${ATKMM_INCLUDE_DIRS})
find_package(curl)
find_library(CURL_LIBRARY libcurl)
link_libraries(${CURL_LIBRARY})
find_package(curl)
find_library(CURL_LIBRARY libcurl)
find_path(CPR_INCLUDE_DIRS cpr/cpr.h)
find_library(CPR_LIBRARY cpr)
include_directories(${CPR_INCLUDE_DIRS})
link_libraries(${CPR_LIBRARY})
find_path(CPR_INCLUDE_DIRS cpr/cpr.h)
find_library(CPR_LIBRARY cpr)
include_directories(${CPR_INCLUDE_DIRS})
find_package(zlib)
find_library(ZLIB_LIBRARY zlib)
include_directories(${ZLIB_INCLUDE_DIRS})
link_libraries(${ZLIB_LIBRARY})
find_package(zlib)
find_library(ZLIB_LIBRARY zlib)
include_directories(${ZLIB_INCLUDE_DIRS})
if(NOT DISABLE_MBEDTLS)
find_library(MBEDTLS_X509_LIBRARY mbedx509)
find_library(MBEDTLS_TLS_LIBRARY mbedtls)
find_library(MBEDTLS_CRYPTO_LIBRARY mbedcrypto)
include_directories(${MBEDTLS_INCLUDE_DIRS})
link_libraries(${MBEDTLS_TLS_LIBRARY})
link_libraries(${MBEDTLS_X509_LIBRARY})
link_libraries(${MBEDTLS_CRYPTO_LIBRARY})
endif()
find_package(nlohmann_json 3.2.0 REQUIRED)
find_package(unofficial-sqlite3 CONFIG REQUIRED)
link_libraries(unofficial::sqlite3::sqlite3)
find_path(IXWEBSOCKET_INCLUDE_DIRS ixwebsocket/ixwebsocket.h)
find_library(IXWEBSOCKET_LIBRARY ixwebsocket)
link_libraries(${IXWEBSOCKET_LIBRARY})
include_directories(${IXWEBSOCKET_LIBRARY}})
else()
find_package(PkgConfig)
set(BUILD_CPR_TESTS OFF)
set(BUILD_CPR_TESTS_SSL OFF)
include(FetchContent)
FetchContent_Declare(cpr GIT_REPOSITORY https://github.com/whoshuu/cpr.git)
FetchContent_MakeAvailable(cpr)
include_directories(${CPR_INCLUDE_DIRS})
link_libraries(cpr::cpr)
pkg_check_modules(NLOHMANN_JSON REQUIRED nlohmann_json)
include_directories(${NLOHMANN_JSON_INCLUDE_DIRS})
pkg_check_modules(GTKMM REQUIRED gtkmm-3.0)
link_directories(${GTKMM_LIBRARY_DIRS})
include_directories(${GTKMM_INCLUDE_DIRS})
pkg_check_modules(ATKMM REQUIRED atkmm-1.6)
link_directories(${ATKMM_LIBRARY_DIRS})
include_directories(${ATKMM_INCLUDE_DIRS})
pkg_check_modules(GDKMM REQUIRED gdkmm-3.0)
link_directories(${GDKMM_LIBRARY_DIRS})
include_directories(${GDKMM_INCLUDE_DIRS})
pkg_check_modules(GIOMM REQUIRED giomm-2.4)
link_directories(${GIOMM_LIBRARY_DIRS})
include_directories(${GIOMM_INCLUDE_DIRS})
pkg_check_modules(SIGC REQUIRED sigc++-2.0)
link_directories(${SIGC_LIBRARY_DIRS})
include_directories(${SIGC_INCLUDE_DIRS})
pkg_check_modules(GLIBMM REQUIRED glibmm-2.4)
link_directories(${GLIBMM_LIBRARY_DIRS})
include_directories(${GLIBMM_INCLUDE_DIRS})
pkg_check_modules(SQLITE3 REQUIRED sqlite3)
link_directories(${SQLITE_LIBRARY_DIRS})
include_directories(${SQLITE_INCLUDE_DIRS})
set(USE_TLS TRUE)
set(USE_OPEN_SSL TRUE)
add_subdirectory(thirdparty/IXWebSocket)
include_directories("thirdparty/IXWebSocket")
link_libraries(ixwebsocket)
include_directories("thirdparty/simpleini")
if(NOT DISABLE_MBEDTLS)
find_library(MBEDTLS_X509_LIBRARY mbedx509)
find_library(MBEDTLS_TLS_LIBRARY mbedtls)
find_library(MBEDTLS_CRYPTO_LIBRARY mbedcrypto)
include_directories(${MBEDTLS_INCLUDE_DIRS})
endif()
find_package(nlohmann_json 3.2.0 REQUIRED)
find_package(unofficial-sqlite3 CONFIG REQUIRED)
find_path(IXWEBSOCKET_INCLUDE_DIRS ixwebsocket/ixwebsocket.h)
find_library(IXWEBSOCKET_LIBRARY ixwebsocket)
include_directories(${IXWEBSOCKET_INCLUDE_DIRS}})
if(mingw)
link_libraries(ws2_32 wsock2)
endif()
@@ -147,10 +79,20 @@ file(GLOB ABADDON_SOURCES
)
add_executable(abaddon ${ABADDON_SOURCES})
target_link_libraries(abaddon ${GTKMM_LIBRARIES})
target_link_libraries(abaddon ${GDKMM_LIBRARIES})
target_link_libraries(abaddon ${GLIBMM_LIBRARIES})
target_link_libraries(abaddon ${SIGC_LIBRARIES})
target_link_libraries(abaddon ${ATKMM_LIBRARIES})
target_link_libraries(abaddon ${GIOMM_LIBRARIES})
target_link_libraries(abaddon ${GDK_LIBRARIES})
target_link_libraries(abaddon ${IXWEBSOCKET_LIBRARY})
target_link_libraries(abaddon unofficial::sqlite3::sqlite3)
target_link_libraries(abaddon ${GTKMM_LIBRARY})
target_link_libraries(abaddon ${GLIB_LIBRARY})
target_link_libraries(abaddon ${GLIBMM_LIBRARY})
target_link_libraries(abaddon ${SIGC_LIBRARY})
target_link_libraries(abaddon ${GIOMM_LIBRARY})
target_link_libraries(abaddon ${GDKMM_LIBRARY})
target_link_libraries(abaddon ${ATKMM_LIBRARY})
target_link_libraries(abaddon ${CURL_LIBRARY})
target_link_libraries(abaddon ${CPR_LIBRARY})
target_link_libraries(abaddon ${ZLIB_LIBRARY})
if(NOT DISABLE_MBEDTLS)
target_link_libraries(abaddon ${MBEDTLS_TLS_LIBRARY})
target_link_libraries(abaddon ${MBEDTLS_X509_LIBRARY})
target_link_libraries(abaddon ${MBEDTLS_CRYPTO_LIBRARY})
endif()

View File

@@ -18,18 +18,11 @@
4. `cmake -G"Visual Studio 16 2019" -A x64 -DCMAKE_TOOLCHAIN_FILE=c:\path\to\vcpkg\scripts\buildsystems\vcpkg.cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DVCPKG_TARGET_TRIPLET=x64-windows ..`
5. Build with Visual Studio
#### Mac:
1. Install gtkmm3 zlib openssl and nlohmann-json from homebrew
2. `git clone --recurse-submodules -j8 https://github.com/lorpus/abaddon`
3. `cd abaddon`
4. `mkdir build`
5. `cd build`
6. `cmake -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -DCMAKE_BUILD_TYPE=RelWithDebInfo -DUSE_PKGCONFIG=ON -DDISABLE_MBEDTLS=ON ../`
7. `make`
#### Mac/Linux:
### Downloads (from CI):
- Windows: [here](https://ci.appveyor.com/project/lorpus/abaddon/build/artifacts)
- OSX: [here](https://i.owo.okinawa/travis-master/abaddon) (downloading css/ and res/ from here is still necessary)
#### Dependencies:
* [gtkmm](https://www.gtkmm.org/en/)