summaryrefslogtreecommitdiffstats
path: root/deps/cmake
diff options
context:
space:
mode:
Diffstat (limited to 'deps/cmake')
-rw-r--r--deps/cmake/Boost.cmake23
-rw-r--r--deps/cmake/MatrixClient.cmake30
-rw-r--r--deps/cmake/MatrixStructs.cmake25
-rw-r--r--deps/cmake/Olm.cmake24
-rw-r--r--deps/cmake/SpdLog.cmake15
5 files changed, 117 insertions, 0 deletions
diff --git a/deps/cmake/Boost.cmake b/deps/cmake/Boost.cmake
new file mode 100644
index 00000000..572d1d07
--- /dev/null
+++ b/deps/cmake/Boost.cmake
@@ -0,0 +1,23 @@
+if(WIN32)
+ message(STATUS "Building Boost in Windows is not supported (skipping)")
+ return()
+endif()
+
+ExternalProject_Add(
+ Boost
+
+ URL ${BOOST_URL}
+ URL_HASH SHA256=${BOOST_SHA256}
+ DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/boost
+ DOWNLOAD_NO_PROGRESS 0
+
+ BUILD_IN_SOURCE 1
+ SOURCE_DIR ${DEPS_BUILD_DIR}/boost
+ CONFIGURE_COMMAND ${DEPS_BUILD_DIR}/boost/bootstrap.sh
+ --with-libraries=random,thread,system,iostreams,atomic,chrono,date_time,regex
+ --prefix=${DEPS_INSTALL_DIR}
+ BUILD_COMMAND ${DEPS_BUILD_DIR}/boost/b2 -d0 variant=release link=static threading=multi --layout=system
+ INSTALL_COMMAND ${DEPS_BUILD_DIR}/boost/b2 -d0 install
+)
+
+list(APPEND THIRD_PARTY_DEPS Boost)
diff --git a/deps/cmake/MatrixClient.cmake b/deps/cmake/MatrixClient.cmake
new file mode 100644
index 00000000..7377f710
--- /dev/null
+++ b/deps/cmake/MatrixClient.cmake
@@ -0,0 +1,30 @@
+set(PLATFORM_FLAGS "")
+
+if(MSVC)
+ set(PLATFORM_FLAGS "-DCMAKE_GENERATOR_PLATFORM=x64")
+endif()
+
+if(APPLE)
+ set(PLATFORM_FLAGS "-DOPENSSL_ROOT_DIR=/usr/local/opt/openssl")
+endif()
+
+ExternalProject_Add(
+ MatrixClient
+
+ DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/mtxclient
+ GIT_REPOSITORY ${MTXCLIENT_URL}
+ GIT_TAG ${MTXCLIENT_TAG}
+
+ BUILD_IN_SOURCE 1
+ SOURCE_DIR ${DEPS_BUILD_DIR}/mtxclient
+ CONFIGURE_COMMAND ${CMAKE_COMMAND}
+ -DCMAKE_INSTALL_PREFIX=${DEPS_INSTALL_DIR}
+ -DCMAKE_BUILD_TYPE=Release
+ -DBUILD_LIB_TESTS=OFF
+ -DBUILD_LIB_EXAMPLES=OFF
+ ${PLATFORM_FLAGS}
+ ${DEPS_BUILD_DIR}/mtxclient
+ BUILD_COMMAND
+ ${CMAKE_COMMAND} --build ${DEPS_BUILD_DIR}/mtxclient --config Release)
+
+list(APPEND THIRD_PARTY_DEPS MatrixClient)
diff --git a/deps/cmake/MatrixStructs.cmake b/deps/cmake/MatrixStructs.cmake
new file mode 100644
index 00000000..fd12ad39
--- /dev/null
+++ b/deps/cmake/MatrixStructs.cmake
@@ -0,0 +1,25 @@
+set(WINDOWS_FLAGS "")
+
+if(MSVC)
+ set(WINDOWS_FLAGS "-DCMAKE_GENERATOR_PLATFORM=x64")
+endif()
+
+ExternalProject_Add(
+ MatrixStructs
+
+ DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/matrix_structs
+ GIT_REPOSITORY ${MATRIX_STRUCTS_URL}
+ GIT_TAG ${MATRIX_STRUCTS_TAG}
+
+ BUILD_IN_SOURCE 1
+ SOURCE_DIR ${DEPS_BUILD_DIR}/matrix_structs
+ CONFIGURE_COMMAND ${CMAKE_COMMAND}
+ -DCMAKE_INSTALL_PREFIX=${DEPS_INSTALL_DIR}
+ -DCMAKE_BUILD_TYPE=Release
+ ${DEPS_BUILD_DIR}/matrix_structs
+ ${WINDOWS_FLAGS}
+ BUILD_COMMAND ${CMAKE_COMMAND}
+ --build ${DEPS_BUILD_DIR}/matrix_structs
+ --config Release)
+
+list(APPEND THIRD_PARTY_DEPS MatrixStructs)
diff --git a/deps/cmake/Olm.cmake b/deps/cmake/Olm.cmake
new file mode 100644
index 00000000..b0df2833
--- /dev/null
+++ b/deps/cmake/Olm.cmake
@@ -0,0 +1,24 @@
+if(MSVC)
+ set(MAKE_CMD "mingw32-make.exe")
+else()
+ set(MAKE_CMD "make")
+endif()
+
+set(OLM_NAME "${CMAKE_STATIC_LIBRARY_PREFIX}olm${CMAKE_STATIC_LIBRARY_SUFFIX}")
+
+ExternalProject_Add(
+ Olm
+
+ GIT_REPOSITORY ${OLM_URL}
+ GIT_TAG ${OLM_TAG}
+
+ BUILD_IN_SOURCE 1
+ SOURCE_DIR ${DEPS_BUILD_DIR}/olm
+ CONFIGURE_COMMAND ""
+ BUILD_COMMAND ${MAKE_CMD} static
+ INSTALL_COMMAND
+ cp -R ${DEPS_BUILD_DIR}/olm/include ${DEPS_INSTALL_DIR} &&
+ cp ${DEPS_BUILD_DIR}/olm/build/libolm.a ${DEPS_INSTALL_DIR}/lib
+)
+
+list(APPEND THIRD_PARTY_DEPS Olm)
diff --git a/deps/cmake/SpdLog.cmake b/deps/cmake/SpdLog.cmake
new file mode 100644
index 00000000..e49c947f
--- /dev/null
+++ b/deps/cmake/SpdLog.cmake
@@ -0,0 +1,15 @@
+ExternalProject_Add(
+ SpdLog
+
+ GIT_REPOSITORY ${SPDLOG_URL}
+ GIT_TAG ${SPDLOG_TAG}
+
+ BUILD_IN_SOURCE 1
+ SOURCE_DIR ${DEPS_BUILD_DIR}/spdlog
+ CONFIGURE_COMMAND ${CMAKE_COMMAND}
+ -DCMAKE_INSTALL_PREFIX=${DEPS_INSTALL_DIR}
+ -DCMAKE_BUILD_TYPE=Release
+ ${DEPS_BUILD_DIR}/spdlog
+)
+
+list(APPEND THIRD_PARTY_DEPS SpdLog)