mirror of https://github.com/Nheko-Reborn/nheko
commit
d6d4076d36
@ -1,44 +0,0 @@ |
||||
# |
||||
# CMake module to search for the olm library |
||||
# |
||||
# On success, the macro sets the following variables: |
||||
# OLM_FOUND = if the library found |
||||
# OLM_LIBRARY = full path to the library |
||||
# OLM_INCLUDE_DIR = where to find the library headers |
||||
# |
||||
if(WIN32) |
||||
message(STATUS "FindOlm is not supported in Windows") |
||||
return() |
||||
endif() |
||||
|
||||
find_path(OLM_INCLUDE_DIR |
||||
NAMES olm/olm.h |
||||
PATHS /usr/include |
||||
/usr/local/include |
||||
$ENV{LIB_DIR}/include |
||||
$ENV{LIB_DIR}/include/olm) |
||||
|
||||
find_library(OLM_LIBRARY |
||||
NAMES olm |
||||
PATHS /usr/lib /usr/local/lib $ENV{LIB_DIR}/lib) |
||||
|
||||
if(OLM_FOUND) |
||||
set(OLM_INCLUDE_DIRS ${OLM_INCLUDE_DIR}) |
||||
|
||||
if(NOT OLM_LIBRARIES) |
||||
set(OLM_LIBRARIES ${OLM_LIBRARY}) |
||||
endif() |
||||
endif() |
||||
|
||||
if(NOT TARGET Olm::Olm) |
||||
add_library(Olm::Olm UNKNOWN IMPORTED) |
||||
set_target_properties(Olm::Olm |
||||
PROPERTIES INTERFACE_INCLUDE_DIRECTORIES |
||||
${OLM_INCLUDE_DIR}) |
||||
set_property(TARGET Olm::Olm APPEND PROPERTY IMPORTED_LOCATION ${OLM_LIBRARY}) |
||||
endif() |
||||
|
||||
include(FindPackageHandleStandardArgs) |
||||
find_package_handle_standard_args(OLM DEFAULT_MSG OLM_INCLUDE_DIR OLM_LIBRARY) |
||||
|
||||
mark_as_advanced(OLM_LIBRARY OLM_INCLUDE_DIR) |
@ -0,0 +1,5 @@ |
||||
hunter_config( |
||||
Boost |
||||
VERSION "1.70.0-p0" |
||||
CMAKE_ARGS IOSTREAMS_NO_BZIP2=1 |
||||
) |
@ -0,0 +1,528 @@ |
||||
# Copyright (c) 2013-2019, Ruslan Baratov |
||||
# All rights reserved. |
||||
# |
||||
# Redistribution and use in source and binary forms, with or without |
||||
# modification, are permitted provided that the following conditions are met: |
||||
# |
||||
# * Redistributions of source code must retain the above copyright notice, this |
||||
# list of conditions and the following disclaimer. |
||||
# |
||||
# * Redistributions in binary form must reproduce the above copyright notice, |
||||
# this list of conditions and the following disclaimer in the documentation |
||||
# and/or other materials provided with the distribution. |
||||
# |
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
||||
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE |
||||
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
||||
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
||||
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
||||
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
||||
|
||||
# This is a gate file to Hunter package manager. |
||||
# Include this file using `include` command and add package you need, example: |
||||
# |
||||
# cmake_minimum_required(VERSION 3.2) |
||||
# |
||||
# include("cmake/HunterGate.cmake") |
||||
# HunterGate( |
||||
# URL "https://github.com/path/to/hunter/archive.tar.gz" |
||||
# SHA1 "798501e983f14b28b10cda16afa4de69eee1da1d" |
||||
# ) |
||||
# |
||||
# project(MyProject) |
||||
# |
||||
# hunter_add_package(Foo) |
||||
# hunter_add_package(Boo COMPONENTS Bar Baz) |
||||
# |
||||
# Projects: |
||||
# * https://github.com/hunter-packages/gate/ |
||||
# * https://github.com/ruslo/hunter |
||||
|
||||
option(HUNTER_ENABLED "Enable Hunter package manager support" ON) |
||||
|
||||
if(HUNTER_ENABLED) |
||||
if(CMAKE_VERSION VERSION_LESS "3.2") |
||||
message( |
||||
FATAL_ERROR |
||||
"At least CMake version 3.2 required for Hunter dependency management." |
||||
" Update CMake or set HUNTER_ENABLED to OFF." |
||||
) |
||||
endif() |
||||
endif() |
||||
|
||||
include(CMakeParseArguments) # cmake_parse_arguments |
||||
|
||||
option(HUNTER_STATUS_PRINT "Print working status" ON) |
||||
option(HUNTER_STATUS_DEBUG "Print a lot info" OFF) |
||||
option(HUNTER_TLS_VERIFY "Enable/disable TLS certificate checking on downloads" ON) |
||||
|
||||
set(HUNTER_ERROR_PAGE "https://docs.hunter.sh/en/latest/reference/errors") |
||||
|
||||
function(hunter_gate_status_print) |
||||
if(HUNTER_STATUS_PRINT OR HUNTER_STATUS_DEBUG) |
||||
foreach(print_message ${ARGV}) |
||||
message(STATUS "[hunter] ${print_message}") |
||||
endforeach() |
||||
endif() |
||||
endfunction() |
||||
|
||||
function(hunter_gate_status_debug) |
||||
if(HUNTER_STATUS_DEBUG) |
||||
foreach(print_message ${ARGV}) |
||||
string(TIMESTAMP timestamp) |
||||
message(STATUS "[hunter *** DEBUG *** ${timestamp}] ${print_message}") |
||||
endforeach() |
||||
endif() |
||||
endfunction() |
||||
|
||||
function(hunter_gate_error_page error_page) |
||||
message("------------------------------ ERROR ------------------------------") |
||||
message(" ${HUNTER_ERROR_PAGE}/${error_page}.html") |
||||
message("-------------------------------------------------------------------") |
||||
message("") |
||||
message(FATAL_ERROR "") |
||||
endfunction() |
||||
|
||||
function(hunter_gate_internal_error) |
||||
message("") |
||||
foreach(print_message ${ARGV}) |
||||
message("[hunter ** INTERNAL **] ${print_message}") |
||||
endforeach() |
||||
message("[hunter ** INTERNAL **] [Directory:${CMAKE_CURRENT_LIST_DIR}]") |
||||
message("") |
||||
hunter_gate_error_page("error.internal") |
||||
endfunction() |
||||
|
||||
function(hunter_gate_fatal_error) |
||||
cmake_parse_arguments(hunter "" "ERROR_PAGE" "" "${ARGV}") |
||||
if("${hunter_ERROR_PAGE}" STREQUAL "") |
||||
hunter_gate_internal_error("Expected ERROR_PAGE") |
||||
endif() |
||||
message("") |
||||
foreach(x ${hunter_UNPARSED_ARGUMENTS}) |
||||
message("[hunter ** FATAL ERROR **] ${x}") |
||||
endforeach() |
||||
message("[hunter ** FATAL ERROR **] [Directory:${CMAKE_CURRENT_LIST_DIR}]") |
||||
message("") |
||||
hunter_gate_error_page("${hunter_ERROR_PAGE}") |
||||
endfunction() |
||||
|
||||
function(hunter_gate_user_error) |
||||
hunter_gate_fatal_error(${ARGV} ERROR_PAGE "error.incorrect.input.data") |
||||
endfunction() |
||||
|
||||
function(hunter_gate_self root version sha1 result) |
||||
string(COMPARE EQUAL "${root}" "" is_bad) |
||||
if(is_bad) |
||||
hunter_gate_internal_error("root is empty") |
||||
endif() |
||||
|
||||
string(COMPARE EQUAL "${version}" "" is_bad) |
||||
if(is_bad) |
||||
hunter_gate_internal_error("version is empty") |
||||
endif() |
||||
|
||||
string(COMPARE EQUAL "${sha1}" "" is_bad) |
||||
if(is_bad) |
||||
hunter_gate_internal_error("sha1 is empty") |
||||
endif() |
||||
|
||||
string(SUBSTRING "${sha1}" 0 7 archive_id) |
||||
|
||||
set( |
||||
hunter_self |
||||
"${root}/_Base/Download/Hunter/${version}/${archive_id}/Unpacked" |
||||
) |
||||
|
||||
set("${result}" "${hunter_self}" PARENT_SCOPE) |
||||
endfunction() |
||||
|
||||
# Set HUNTER_GATE_ROOT cmake variable to suitable value. |
||||
function(hunter_gate_detect_root) |
||||
# Check CMake variable |
||||
string(COMPARE NOTEQUAL "${HUNTER_ROOT}" "" not_empty) |
||||
if(not_empty) |
||||
set(HUNTER_GATE_ROOT "${HUNTER_ROOT}" PARENT_SCOPE) |
||||
hunter_gate_status_debug("HUNTER_ROOT detected by cmake variable") |
||||
return() |
||||
endif() |
||||
|
||||
# Check environment variable |
||||
string(COMPARE NOTEQUAL "$ENV{HUNTER_ROOT}" "" not_empty) |
||||
if(not_empty) |
||||
set(HUNTER_GATE_ROOT "$ENV{HUNTER_ROOT}" PARENT_SCOPE) |
||||
hunter_gate_status_debug("HUNTER_ROOT detected by environment variable") |
||||
return() |
||||
endif() |
||||
|
||||
# Check HOME environment variable |
||||
string(COMPARE NOTEQUAL "$ENV{HOME}" "" result) |
||||
if(result) |
||||
set(HUNTER_GATE_ROOT "$ENV{HOME}/.hunter" PARENT_SCOPE) |
||||
hunter_gate_status_debug("HUNTER_ROOT set using HOME environment variable") |
||||
return() |
||||
endif() |
||||
|
||||
# Check SYSTEMDRIVE and USERPROFILE environment variable (windows only) |
||||
if(WIN32) |
||||
string(COMPARE NOTEQUAL "$ENV{SYSTEMDRIVE}" "" result) |
||||
if(result) |
||||
set(HUNTER_GATE_ROOT "$ENV{SYSTEMDRIVE}/.hunter" PARENT_SCOPE) |
||||
hunter_gate_status_debug( |
||||
"HUNTER_ROOT set using SYSTEMDRIVE environment variable" |
||||
) |
||||
return() |
||||
endif() |
||||
|
||||
string(COMPARE NOTEQUAL "$ENV{USERPROFILE}" "" result) |
||||
if(result) |
||||
set(HUNTER_GATE_ROOT "$ENV{USERPROFILE}/.hunter" PARENT_SCOPE) |
||||
hunter_gate_status_debug( |
||||
"HUNTER_ROOT set using USERPROFILE environment variable" |
||||
) |
||||
return() |
||||
endif() |
||||
endif() |
||||
|
||||
hunter_gate_fatal_error( |
||||
"Can't detect HUNTER_ROOT" |
||||
ERROR_PAGE "error.detect.hunter.root" |
||||
) |
||||
endfunction() |
||||
|
||||
function(hunter_gate_download dir) |
||||
string( |
||||
COMPARE |
||||
NOTEQUAL |
||||
"$ENV{HUNTER_DISABLE_AUTOINSTALL}" |
||||
"" |
||||
disable_autoinstall |
||||
) |
||||
if(disable_autoinstall AND NOT HUNTER_RUN_INSTALL) |
||||
hunter_gate_fatal_error( |
||||
"Hunter not found in '${dir}'" |
||||
"Set HUNTER_RUN_INSTALL=ON to auto-install it from '${HUNTER_GATE_URL}'" |
||||
"Settings:" |
||||
" HUNTER_ROOT: ${HUNTER_GATE_ROOT}" |
||||
" HUNTER_SHA1: ${HUNTER_GATE_SHA1}" |
||||
ERROR_PAGE "error.run.install" |
||||
) |
||||
endif() |
||||
string(COMPARE EQUAL "${dir}" "" is_bad) |
||||
if(is_bad) |
||||
hunter_gate_internal_error("Empty 'dir' argument") |
||||
endif() |
||||
|
||||
string(COMPARE EQUAL "${HUNTER_GATE_SHA1}" "" is_bad) |
||||
if(is_bad) |
||||
hunter_gate_internal_error("HUNTER_GATE_SHA1 empty") |
||||
endif() |
||||
|
||||
string(COMPARE EQUAL "${HUNTER_GATE_URL}" "" is_bad) |
||||
if(is_bad) |
||||
hunter_gate_internal_error("HUNTER_GATE_URL empty") |
||||
endif() |
||||
|
||||
set(done_location "${dir}/DONE") |
||||
set(sha1_location "${dir}/SHA1") |
||||
|
||||
set(build_dir "${dir}/Build") |
||||
set(cmakelists "${dir}/CMakeLists.txt") |
||||
|
||||
hunter_gate_status_debug("Locking directory: ${dir}") |
||||
file(LOCK "${dir}" DIRECTORY GUARD FUNCTION) |
||||
hunter_gate_status_debug("Lock done") |
||||
|
||||
if(EXISTS "${done_location}") |
||||
# while waiting for lock other instance can do all the job |
||||
hunter_gate_status_debug("File '${done_location}' found, skip install") |
||||
return() |
||||
endif() |
||||
|
||||
file(REMOVE_RECURSE "${build_dir}") |
||||
file(REMOVE_RECURSE "${cmakelists}") |
||||
|
||||
file(MAKE_DIRECTORY "${build_dir}") # check directory permissions |
||||
|
||||
# Disabling languages speeds up a little bit, reduces noise in the output |
||||
# and avoids path too long windows error |
||||
file( |
||||
WRITE |
||||
"${cmakelists}" |
||||
"cmake_minimum_required(VERSION 3.2)\n" |
||||
"project(HunterDownload LANGUAGES NONE)\n" |
||||
"include(ExternalProject)\n" |
||||
"ExternalProject_Add(\n" |
||||
" Hunter\n" |
||||
" URL\n" |
||||
" \"${HUNTER_GATE_URL}\"\n" |
||||
" URL_HASH\n" |
||||
" SHA1=${HUNTER_GATE_SHA1}\n" |
||||
" DOWNLOAD_DIR\n" |
||||
" \"${dir}\"\n" |
||||
" TLS_VERIFY\n" |
||||
" ${HUNTER_TLS_VERIFY}\n" |
||||
" SOURCE_DIR\n" |
||||
" \"${dir}/Unpacked\"\n" |
||||
" CONFIGURE_COMMAND\n" |
||||
" \"\"\n" |
||||
" BUILD_COMMAND\n" |
||||
" \"\"\n" |
||||
" INSTALL_COMMAND\n" |
||||
" \"\"\n" |
||||
")\n" |
||||
) |
||||
|
||||
if(HUNTER_STATUS_DEBUG) |
||||
set(logging_params "") |
||||
else() |
||||
set(logging_params OUTPUT_QUIET) |
||||
endif() |
||||
|
||||
hunter_gate_status_debug("Run generate") |
||||
|
||||
# Need to add toolchain file too. |
||||
# Otherwise on Visual Studio + MDD this will fail with error: |
||||
# "Could not find an appropriate version of the Windows 10 SDK installed on this machine" |
||||
if(EXISTS "${CMAKE_TOOLCHAIN_FILE}") |
||||
get_filename_component(absolute_CMAKE_TOOLCHAIN_FILE "${CMAKE_TOOLCHAIN_FILE}" ABSOLUTE) |
||||
set(toolchain_arg "-DCMAKE_TOOLCHAIN_FILE=${absolute_CMAKE_TOOLCHAIN_FILE}") |
||||
else() |
||||
# 'toolchain_arg' can't be empty |
||||
set(toolchain_arg "-DCMAKE_TOOLCHAIN_FILE=") |
||||
endif() |
||||
|
||||
string(COMPARE EQUAL "${CMAKE_MAKE_PROGRAM}" "" no_make) |
||||
if(no_make) |
||||
set(make_arg "") |
||||
else() |
||||
# Test case: remove Ninja from PATH but set it via CMAKE_MAKE_PROGRAM |
||||
set(make_arg "-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}") |
||||
endif() |
||||
|
||||
execute_process( |
||||
COMMAND |
||||
"${CMAKE_COMMAND}" |
||||
"-H${dir}" |
||||
"-B${build_dir}" |
||||
"-G${CMAKE_GENERATOR}" |
||||
"${toolchain_arg}" |
||||
${make_arg} |
||||
WORKING_DIRECTORY "${dir}" |
||||
RESULT_VARIABLE download_result |
||||
${logging_params} |
||||
) |
||||
|
||||
if(NOT download_result EQUAL 0) |
||||
hunter_gate_internal_error( |
||||
"Configure project failed." |
||||
"To reproduce the error run: ${CMAKE_COMMAND} -H${dir} -B${build_dir} -G${CMAKE_GENERATOR} ${toolchain_arg} ${make_arg}" |
||||
"In directory ${dir}" |
||||
) |
||||
endif() |
||||
|
||||
hunter_gate_status_print( |
||||
"Initializing Hunter workspace (${HUNTER_GATE_SHA1})" |
||||
" ${HUNTER_GATE_URL}" |
||||
" -> ${dir}" |
||||
) |
||||
execute_process( |
||||
COMMAND "${CMAKE_COMMAND}" --build "${build_dir}" |
||||
WORKING_DIRECTORY "${dir}" |
||||
RESULT_VARIABLE download_result |
||||
${logging_params} |
||||
) |
||||
|
||||
if(NOT download_result EQUAL 0) |
||||
hunter_gate_internal_error("Build project failed") |
||||
endif() |
||||
|
||||
file(REMOVE_RECURSE "${build_dir}") |
||||
file(REMOVE_RECURSE "${cmakelists}") |
||||
|
||||
file(WRITE "${sha1_location}" "${HUNTER_GATE_SHA1}") |
||||
file(WRITE "${done_location}" "DONE") |
||||
|
||||
hunter_gate_status_debug("Finished") |
||||
endfunction() |
||||
|
||||
# Must be a macro so master file 'cmake/Hunter' can |
||||
# apply all variables easily just by 'include' command |
||||
# (otherwise PARENT_SCOPE magic needed) |
||||
macro(HunterGate) |
||||
if(HUNTER_GATE_DONE) |
||||
# variable HUNTER_GATE_DONE set explicitly for external project |
||||
# (see `hunter_download`) |
||||
set_property(GLOBAL PROPERTY HUNTER_GATE_DONE YES) |
||||
endif() |
||||
|
||||
# First HunterGate command will init Hunter, others will be ignored |
||||
get_property(_hunter_gate_done GLOBAL PROPERTY HUNTER_GATE_DONE SET) |
||||
|
||||
if(NOT HUNTER_ENABLED) |
||||
# Empty function to avoid error "unknown function" |
||||
function(hunter_add_package) |
||||
endfunction() |
||||
|
||||
set( |
||||
_hunter_gate_disabled_mode_dir |
||||
"${CMAKE_CURRENT_LIST_DIR}/cmake/Hunter/disabled-mode" |
||||
) |
||||
if(EXISTS "${_hunter_gate_disabled_mode_dir}") |
||||
hunter_gate_status_debug( |
||||
"Adding \"disabled-mode\" modules: ${_hunter_gate_disabled_mode_dir}" |
||||
) |
||||
list(APPEND CMAKE_PREFIX_PATH "${_hunter_gate_disabled_mode_dir}") |
||||
endif() |
||||
elseif(_hunter_gate_done) |
||||
hunter_gate_status_debug("Secondary HunterGate (use old settings)") |
||||
hunter_gate_self( |
||||
"${HUNTER_CACHED_ROOT}" |
||||
"${HUNTER_VERSION}" |
||||
"${HUNTER_SHA1}" |
||||
_hunter_self |
||||
) |
||||
include("${_hunter_self}/cmake/Hunter") |
||||
else() |
||||
set(HUNTER_GATE_LOCATION "${CMAKE_CURRENT_SOURCE_DIR}") |
||||
|
||||
string(COMPARE NOTEQUAL "${PROJECT_NAME}" "" _have_project_name) |
||||
if(_have_project_name) |
||||
hunter_gate_fatal_error( |
||||
"Please set HunterGate *before* 'project' command. " |
||||
"Detected project: ${PROJECT_NAME}" |
||||
ERROR_PAGE "error.huntergate.before.project" |
||||
) |
||||
endif() |
||||
|
||||
cmake_parse_arguments( |
||||
HUNTER_GATE "LOCAL" "URL;SHA1;GLOBAL;FILEPATH" "" ${ARGV} |
||||
) |
||||
|
||||
string(COMPARE EQUAL "${HUNTER_GATE_SHA1}" "" _empty_sha1) |
||||
string(COMPARE EQUAL "${HUNTER_GATE_URL}" "" _empty_url) |
||||
string( |
||||
COMPARE |
||||
NOTEQUAL |
||||
"${HUNTER_GATE_UNPARSED_ARGUMENTS}" |
||||
"" |
||||
_have_unparsed |
||||
) |
||||
string(COMPARE NOTEQUAL "${HUNTER_GATE_GLOBAL}" "" _have_global) |
||||
string(COMPARE NOTEQUAL "${HUNTER_GATE_FILEPATH}" "" _have_filepath) |
||||
|
||||
if(_have_unparsed) |
||||
hunter_gate_user_error( |
||||
"HunterGate unparsed arguments: ${HUNTER_GATE_UNPARSED_ARGUMENTS}" |
||||
) |
||||
endif() |
||||
if(_empty_sha1) |
||||
hunter_gate_user_error("SHA1 suboption of HunterGate is mandatory") |
||||
endif() |
||||
if(_empty_url) |
||||
hunter_gate_user_error("URL suboption of HunterGate is mandatory") |
||||
endif() |
||||
if(_have_global) |
||||
if(HUNTER_GATE_LOCAL) |
||||
hunter_gate_user_error("Unexpected LOCAL (already has GLOBAL)") |
||||
endif() |
||||
if(_have_filepath) |
||||
hunter_gate_user_error("Unexpected FILEPATH (already has GLOBAL)") |
||||
endif() |
||||
endif() |
||||
if(HUNTER_GATE_LOCAL) |
||||
if(_have_global) |
||||
hunter_gate_user_error("Unexpected GLOBAL (already has LOCAL)") |
||||
endif() |
||||
if(_have_filepath) |
||||
hunter_gate_user_error("Unexpected FILEPATH (already has LOCAL)") |
||||
endif() |
||||
endif() |
||||
if(_have_filepath) |
||||
if(_have_global) |
||||
hunter_gate_user_error("Unexpected GLOBAL (already has FILEPATH)") |
||||
endif() |
||||
if(HUNTER_GATE_LOCAL) |
||||
hunter_gate_user_error("Unexpected LOCAL (already has FILEPATH)") |
||||
endif() |
||||
endif() |
||||
|
||||
hunter_gate_detect_root() # set HUNTER_GATE_ROOT |
||||
|
||||
# Beautify path, fix probable problems with windows path slashes |
||||
get_filename_component( |
||||
HUNTER_GATE_ROOT "${HUNTER_GATE_ROOT}" ABSOLUTE |
||||
) |
||||
hunter_gate_status_debug("HUNTER_ROOT: ${HUNTER_GATE_ROOT}") |
||||
if(NOT HUNTER_ALLOW_SPACES_IN_PATH) |
||||
string(FIND "${HUNTER_GATE_ROOT}" " " _contain_spaces) |
||||
if(NOT _contain_spaces EQUAL -1) |
||||
hunter_gate_fatal_error( |
||||
"HUNTER_ROOT (${HUNTER_GATE_ROOT}) contains spaces." |
||||
"Set HUNTER_ALLOW_SPACES_IN_PATH=ON to skip this error" |
||||
"(Use at your own risk!)" |
||||
ERROR_PAGE "error.spaces.in.hunter.root" |
||||
) |
||||
endif() |
||||
endif() |
||||
|
||||
string( |
||||
REGEX |
||||
MATCH |
||||
"[0-9]+\\.[0-9]+\\.[0-9]+[-_a-z0-9]*" |
||||
HUNTER_GATE_VERSION |
||||
"${HUNTER_GATE_URL}" |
||||
) |
||||
string(COMPARE EQUAL "${HUNTER_GATE_VERSION}" "" _is_empty) |
||||
if(_is_empty) |
||||
set(HUNTER_GATE_VERSION "unknown") |
||||
endif() |
||||
|
||||
hunter_gate_self( |
||||
"${HUNTER_GATE_ROOT}" |
||||
"${HUNTER_GATE_VERSION}" |
||||
"${HUNTER_GATE_SHA1}" |
||||
_hunter_self |
||||
) |
||||
|
||||
set(_master_location "${_hunter_self}/cmake/Hunter") |
||||
get_filename_component(_archive_id_location "${_hunter_self}/.." ABSOLUTE) |
||||
set(_done_location "${_archive_id_location}/DONE") |
||||
set(_sha1_location "${_archive_id_location}/SHA1") |
||||
|
||||
# Check Hunter already downloaded by HunterGate |
||||
if(NOT EXISTS "${_done_location}") |
||||
hunter_gate_download("${_archive_id_location}") |
||||
endif() |
||||
|
||||
if(NOT EXISTS "${_done_location}") |
||||
hunter_gate_internal_error("hunter_gate_download failed") |
||||
endif() |
||||
|
||||
if(NOT EXISTS "${_sha1_location}") |
||||
hunter_gate_internal_error("${_sha1_location} not found") |
||||
endif() |
||||
file(READ "${_sha1_location}" _sha1_value) |
||||
string(COMPARE EQUAL "${_sha1_value}" "${HUNTER_GATE_SHA1}" _is_equal) |
||||
if(NOT _is_equal) |
||||
hunter_gate_internal_error( |
||||
"Short SHA1 collision:" |
||||
" ${_sha1_value} (from ${_sha1_location})" |
||||
" ${HUNTER_GATE_SHA1} (HunterGate)" |
||||
) |
||||
endif() |
||||
if(NOT EXISTS "${_master_location}") |
||||
hunter_gate_user_error( |
||||
"Master file not found:" |
||||
" ${_master_location}" |
||||
"try to update Hunter/HunterGate" |
||||
) |
||||
endif() |
||||
include("${_master_location}") |
||||
set_property(GLOBAL PROPERTY HUNTER_GATE_DONE YES) |
||||
endif() |
||||
endmacro() |
@ -1,29 +0,0 @@ |
||||
# |
||||
# Find the lmdb library & include dir. |
||||
# Build lmdb on Appveyor. |
||||
# |
||||
|
||||
if(APPVEYOR_BUILD) |
||||
set(LMDB_VERSION "LMDB_0.9.21") |
||||
set(NTDLIB "C:/WINDDK/7600.16385.1/lib/win7/amd64/ntdll.lib") |
||||
|
||||
execute_process( |
||||
COMMAND git clone --depth=1 --branch ${LMDB_VERSION} https://github.com/LMDB/lmdb) |
||||
|
||||
set(LMDB_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/lmdb/libraries/liblmdb) |
||||
|
||||
add_library(lmdb |
||||
${CMAKE_SOURCE_DIR}/lmdb/libraries/liblmdb/lmdb.h |
||||
${CMAKE_SOURCE_DIR}/lmdb/libraries/liblmdb/mdb.c |
||||
${CMAKE_SOURCE_DIR}/lmdb/libraries/liblmdb/midl.h |
||||
${CMAKE_SOURCE_DIR}/lmdb/libraries/liblmdb/midl.c) |
||||
|
||||
set(LMDB_LIBRARY lmdb) |
||||
else() |
||||
find_path (LMDB_INCLUDE_DIR NAMES lmdb.h PATHS "$ENV{LMDB_DIR}/include") |
||||
find_library (LMDB_LIBRARY NAMES lmdb PATHS "$ENV{LMDB_DIR}/lib" ) |
||||
include(FindPackageHandleStandardArgs) |
||||
find_package_handle_standard_args(LMDB DEFAULT_MSG LMDB_INCLUDE_DIR LMDB_LIBRARY) |
||||
endif() |
||||
|
||||
include_directories(${LMDB_INCLUDE_DIR}) |
@ -1,125 +0,0 @@ |
||||
cmake_minimum_required(VERSION 3.11) |
||||
project(NHEKO_DEPS) |
||||
|
||||
# Point CMake at any custom modules we may ship |
||||
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") |
||||
|
||||
if(NOT CMAKE_BUILD_TYPE) |
||||
set(CMAKE_BUILD_TYPE Release) |
||||
endif() |
||||
|
||||
set(DEPS_INSTALL_DIR "${CMAKE_BINARY_DIR}/usr" |
||||
CACHE PATH "Dependencies install directory.") |
||||
set(DEPS_BIN_DIR "${DEPS_INSTALL_DIR}/bin" |
||||
CACHE PATH "Dependencies binary install directory.") |
||||
set(DEPS_LIB_DIR "${DEPS_INSTALL_DIR}/lib" |
||||
CACHE PATH "Dependencies library install directory.") |
||||
set(DEPS_BUILD_DIR "${CMAKE_BINARY_DIR}/build" |
||||
CACHE PATH "Dependencies build directory.") |
||||
set(DEPS_DOWNLOAD_DIR "${DEPS_BUILD_DIR}/downloads" |
||||
CACHE PATH "Dependencies download directory.") |
||||
|
||||
option(USE_BUNDLED "Use bundled dependencies." ON) |
||||
|
||||
option(USE_BUNDLED_BOOST "Use the bundled version of Boost." ${USE_BUNDLED}) |
||||
option(USE_BUNDLED_CMARK "Use the bundled version of cmark." ${USE_BUNDLED}) |
||||
option(USE_BUNDLED_SPDLOG "Use the bundled version of spdlog." ${USE_BUNDLED}) |
||||
option(USE_BUNDLED_OLM "Use the bundled version of libolm." ${USE_BUNDLED}) |
||||
option(USE_BUNDLED_TWEENY "Use the bundled version of Tweeny." ${USE_BUNDLED}) |
||||
option(USE_BUNDLED_LMDBXX "Use the bundled version of lmdbxx." ${USE_BUNDLED}) |
||||
option(USE_BUNDLED_MATRIX_CLIENT "Use the bundled version of mtxclient." |
||||
${USE_BUNDLED}) |
||||
option(USE_BUNDLED_JSON "Use the bundled version of nlohmann json." ${USE_BUNDLED}) |
||||
option(MTX_STATIC "Compile / link bundled mtx client statically" OFF) |
||||
|
||||
if(USE_BUNDLED_BOOST) |
||||
# bundled boost is 1.70, which requires CMake 3.15 or greater. |
||||
cmake_minimum_required(VERSION 3.15) |
||||
endif() |
||||
|
||||
include(ExternalProject) |
||||
|
||||
set(BOOST_URL |
||||
https://dl.bintray.com/boostorg/release/1.70.0/source/boost_1_70_0.tar.bz2) |
||||
set(BOOST_SHA256 |
||||
430ae8354789de4fd19ee52f3b1f739e1fba576f0aded0897c3c2bc00fb38778) |
||||
|
||||
set( |
||||
MTXCLIENT_URL |
||||
https://github.com/Nheko-Reborn/mtxclient/archive/84c6778cc367bca79755e73e77b2cc69950375b2.zip |
||||
) |
||||
set(MTXCLIENT_HASH |
||||
009fc9628cbdb94694eff3bba3fe54415e432385200c886bb1c1182bcf290c0a) |
||||
set( |
||||
TWEENY_URL |
||||
https://github.com/mobius3/tweeny/archive/b94ce07cfb02a0eb8ac8aaf66137dabdaea857cf.tar.gz |
||||
) |
||||
set(TWEENY_HASH |
||||
9a632b9da84823fae002ad5d9ba02c8d77c0a3810479974c6b637c5504165475) |
||||
set( |
||||
LMDBXX_HEADER_URL |
||||
https://raw.githubusercontent.com/bendiken/lmdbxx/0b43ca87d8cfabba392dfe884eb1edb83874de02/lmdb%2B%2B.h |
||||
) |
||||
set(LMDBXX_HASH |
||||
c57b501a4e8fa1187fa7fd348da415c7685a50a7cb25b17b3f257b9e9426f73d) |
||||
|
||||
set(OLM_URL https://gitlab.matrix.org/matrix-org/olm.git) |
||||
set(OLM_TAG 4065c8e11a33ba41133a086ed3de4da94dcb6bae) |
||||
|
||||
set(CMARK_URL https://github.com/commonmark/cmark/archive/0.29.0.tar.gz) |
||||
set(CMARK_HASH 2558ace3cbeff85610de3bda32858f722b359acdadf0c4691851865bb84924a6) |
||||
|
||||
set(SPDLOG_URL https://github.com/gabime/spdlog/archive/v1.1.0.tar.gz) |
||||
set(SPDLOG_HASH |
||||
3dbcbfd8c07e25f5e0d662b194d3a7772ef214358c49ada23c044c4747ce8b19) |
||||
|
||||
set(JSON_URL |
||||
https://github.com/nlohmann/json.git) |
||||
set(JSON_TAG |
||||
v3.2.0) |
||||
|
||||
if(USE_BUNDLED_JSON) |
||||
include(Json) |
||||
endif() |
||||
|
||||
if(USE_BUNDLED_BOOST) |
||||
include(Boost) |
||||
endif() |
||||
|
||||
if(USE_BUNDLED_SPDLOG) |
||||
include(SpdLog) |
||||
endif() |
||||
|
||||
if(USE_BUNDLED_OLM) |
||||
include(Olm) |
||||
endif() |
||||
|
||||
if(USE_BUNDLED_CMARK) |
||||
include(cmark) |
||||
endif() |
||||
|
||||
if(USE_BUNDLED_TWEENY) |
||||
include(Tweeny) |
||||
endif() |
||||
|
||||
if(USE_BUNDLED_LMDBXX) |
||||
file(DOWNLOAD ${LMDBXX_HEADER_URL} ${DEPS_INSTALL_DIR}/include/lmdb++.h |
||||
EXPECTED_HASH SHA256=${LMDBXX_HASH}) |
||||
endif() |
||||
|
||||
if(WIN32) |
||||
if("${TARGET_ARCH}" STREQUAL "X86_64") |
||||
set(TARGET_ARCH x64) |
||||
elseif(TARGET_ARCH STREQUAL "X86") |
||||
set(TARGET_ARCH ia32) |
||||
endif() |
||||
endif() |
||||
|
||||
add_custom_target(third-party ALL |
||||
COMMAND ${CMAKE_COMMAND} -E touch .third-party |
||||
DEPENDS ${THIRD_PARTY_DEPS}) |
||||
|
||||
if(USE_BUNDLED_MATRIX_CLIENT) |
||||
include(MatrixClient) |
||||
add_dependencies(MatrixClient third-party) |
||||
endif() |
@ -1,28 +0,0 @@ |
||||
if(WIN32) |
||||
message(STATUS "Building Boost in Windows is not supported (skipping)") |
||||
return() |
||||
endif() |
||||
|
||||
include(BoostToolsetId) |
||||
set(BOOST_TOOLSET "gcc") |
||||
Boost_Get_ToolsetId(BOOST_TOOLSET) |
||||
|
||||
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} |
||||
--with-toolset=${BOOST_TOOLSET} |
||||
BUILD_COMMAND ${DEPS_BUILD_DIR}/boost/b2 -d0 cxxstd=14 variant=release link=shared runtime-link=shared threading=multi --layout=system |
||||
INSTALL_COMMAND ${DEPS_BUILD_DIR}/boost/b2 -d0 install |
||||
) |
||||
|
||||
list(APPEND THIRD_PARTY_DEPS Boost) |
@ -1,35 +0,0 @@ |
||||
# - Translate CMake compilers to the Boost.Build toolset equivalents |
||||
# To build Boost reliably when a non-system compiler may be used, we |
||||
# need to both specify the toolset when running bootstrap.sh *and* in |
||||
# the user-config.jam file. |
||||
# |
||||
# This module provides the following functions to help translate between |
||||
# the systems: |
||||
# |
||||
# function Boost_Get_ToolsetId(<var>) |
||||
# Set var equal to Boost's name for the CXX toolchain picked |
||||
# up by CMake. Only supports GNU and Clang families at present. |
||||
# Intel support is provisional |
||||
# |
||||
# downloaded from https://github.com/drbenmorgan/BoostBuilder/blob/master/BoostToolsetId.cmake |
||||
|
||||
function(Boost_Get_ToolsetId _var) |
||||
set(BOOST_TOOLSET) |
||||
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU") |
||||
if(APPLE) |
||||
set(BOOST_TOOLSET "darwin") |
||||
else() |
||||
set(BOOST_TOOLSET "gcc") |
||||
endif() |
||||
elseif(CMAKE_CXX_COMPILER_ID MATCHES ".*Clang") |
||||
set(BOOST_TOOLSET "clang") |
||||
elseif(CMAKE_CXX_COMPILER_ID MATCHES "Intel") |
||||
set(BOOST_TOOLSET "intel") |
||||
elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") |
||||
set(BOOST_TOOLSET "msvc") |
||||
endif() |
||||
|
||||
set(${_var} ${BOOST_TOOLSET} PARENT_SCOPE) |
||||
endfunction() |
||||
|
@ -1,19 +0,0 @@ |
||||
ExternalProject_Add( |
||||
Json |
||||
|
||||
GIT_REPOSITORY ${JSON_URL} |
||||
GIT_TAG ${JSON_TAG} |
||||
|
||||
BUILD_IN_SOURCE 1 |
||||
SOURCE_DIR ${DEPS_BUILD_DIR}/json |
||||
|
||||
CONFIGURE_COMMAND ${CMAKE_COMMAND} |
||||
-DJSON_BuildTests=OFF |
||||
-DCMAKE_INSTALL_PREFIX=${DEPS_INSTALL_DIR} |
||||
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} |
||||
|
||||
BUILD_COMMAND ${CMAKE_COMMAND} --build ${DEPS_BUILD_DIR}/json |
||||
INSTALL_COMMAND ${CMAKE_COMMAND} --build ${DEPS_BUILD_DIR}/json --target install |
||||
) |
||||
|
||||
list(APPEND THIRD_PARTY_DEPS Json) |
@ -1,43 +0,0 @@ |
||||
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() |
||||
|
||||
# Force to build with the bundled version of Boost. This is necessary because |
||||
# if an outdated version of Boost is installed, then CMake will grab that |
||||
# instead of the bundled version of Boost, like we wanted. |
||||
set(BOOST_BUNDLE_ROOT "-DBOOST_ROOT=${DEPS_BUILD_DIR}/boost") |
||||
|
||||
set (MTX_SHARED ON) |
||||
|
||||
if (MTX_STATIC) |
||||
set (MTX_SHARED OFF) |
||||
endif() |
||||
|
||||
ExternalProject_Add( |
||||
MatrixClient |
||||
|
||||
URL ${MTXCLIENT_URL} |
||||
URL_HASH SHA256=${MTXCLIENT_HASH} |
||||
|
||||
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 |
||||
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} |
||||
${BOOST_BUNDLE_ROOT} |
||||
-DBUILD_SHARED_LIBS=${MTX_SHARED} |
||||
${PLATFORM_FLAGS} |
||||
${DEPS_BUILD_DIR}/mtxclient |
||||
BUILD_COMMAND |
||||
${CMAKE_COMMAND} --build ${DEPS_BUILD_DIR}/mtxclient --config Release) |
||||
|
||||
list(APPEND THIRD_PARTY_DEPS MatrixClient) |
@ -1,34 +0,0 @@ |
||||
set(WINDOWS_FLAGS "") |
||||
|
||||
if(MSVC) |
||||
set(WINDOWS_FLAGS "-DCMAKE_GENERATOR_PLATFORM=x64") |
||||
endif() |
||||
|
||||
ExternalProject_Add( |
||||
Olm |
||||
|
||||
GIT_REPOSITORY ${OLM_URL} |
||||
GIT_TAG ${OLM_TAG} |
||||
|
||||
BUILD_IN_SOURCE 1 |
||||
SOURCE_DIR ${DEPS_BUILD_DIR}/olm |
||||
CONFIGURE_COMMAND ${CMAKE_COMMAND} -E copy |
||||
${CMAKE_CURRENT_SOURCE_DIR}/cmake/OlmCMakeLists.txt |
||||
${DEPS_BUILD_DIR}/olm/CMakeLists.txt |
||||
COMMAND ${CMAKE_COMMAND} -E copy |
||||
${CMAKE_CURRENT_SOURCE_DIR}/cmake/OlmConfig.cmake.in |
||||
${DEPS_BUILD_DIR}/olm/cmake/OlmConfig.cmake.in |
||||
COMMAND ${CMAKE_COMMAND} |
||||
-DCMAKE_INSTALL_PREFIX=${DEPS_INSTALL_DIR} |
||||
-DCMAKE_BUILD_TYPE=Release |
||||
${DEPS_BUILD_DIR}/olm |
||||
${WINDOWS_FLAGS} |
||||
BUILD_COMMAND ${CMAKE_COMMAND} |
||||
--build ${DEPS_BUILD_DIR}/olm |
||||
--config Release |
||||
INSTALL_COMMAND ${CMAKE_COMMAND} |
||||
--build ${DEPS_BUILD_DIR}/olm |
||||
--config Release |
||||
--target install) |
||||
|
||||
list(APPEND THIRD_PARTY_DEPS Olm) |
@ -1,107 +0,0 @@ |
||||
cmake_minimum_required(VERSION 3.1) |
||||
|
||||
project(olm VERSION 2.2.2 LANGUAGES CXX C) |
||||
|
||||
add_definitions(-DOLMLIB_VERSION_MAJOR=${PROJECT_VERSION_MAJOR}) |
||||
add_definitions(-DOLMLIB_VERSION_MINOR=${PROJECT_VERSION_MINOR}) |
||||
add_definitions(-DOLMLIB_VERSION_PATCH=${PROJECT_VERSION_PATCH}) |
||||
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) |
||||
set(CMAKE_CXX_STANDARD 11) |
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON) |
||||
set(CMAKE_C_STANDARD 99) |
||||
set(CMAKE_C_STANDARD_REQUIRED ON) |
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON) |
||||
|
||||
if(NOT CMAKE_BUILD_TYPE) |
||||
set(CMAKE_BUILD_TYPE Release) |
||||
endif() |
||||
|
||||
add_library(olm |
||||
src/account.cpp |
||||
src/base64.cpp |
||||
src/cipher.cpp |
||||
src/crypto.cpp |
||||
src/memory.cpp |
||||
src/message.cpp |
||||
src/pickle.cpp |
||||
src/ratchet.cpp |
||||
src/session.cpp |
||||
src/utility.cpp |
||||
|
||||
src/ed25519.c |
||||
src/error.c |
||||
src/inbound_group_session.c |
||||
src/megolm.c |
||||
src/olm.cpp |
||||
src/outbound_group_session.c |
||||
src/pickle_encoding.c |
||||
|
||||
lib/crypto-algorithms/aes.c |
||||
lib/crypto-algorithms/sha256.c |
||||
lib/curve25519-donna/curve25519-donna.c) |
||||
add_library(Olm::Olm ALIAS olm) |
||||
|
||||
target_include_directories(olm |
||||
PUBLIC |
||||
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/include> |
||||
$<INSTALL_INTERFACE:include> |
||||
PRIVATE |
||||
${CMAKE_CURRENT_SOURCE_DIR}/lib) |
||||
|
||||
set_target_properties(olm PROPERTIES |
||||
SOVERSION ${PROJECT_VERSION_MAJOR} |
||||
VERSION ${PROJECT_VERSION}) |
||||
|
||||
set_target_properties(olm PROPERTIES |
||||
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR} |
||||
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR} |
||||
RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) |
||||
|
||||
# |
||||
# Installation |
||||
# |
||||
include(GNUInstallDirs) |
||||
set(INSTALL_CONFIGDIR ${CMAKE_INSTALL_LIBDIR}/cmake/Olm) |
||||
install(TARGETS olm |
||||
EXPORT olm-targets |
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} |
||||
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) |
||||
|
||||
# The exported target will be named Olm. |
||||
set_target_properties(olm PROPERTIES EXPORT_NAME Olm) |
||||
install(FILES |
||||
${CMAKE_SOURCE_DIR}/include/olm/olm.h |
||||
${CMAKE_SOURCE_DIR}/include/olm/outbound_group_session.h |
||||
${CMAKE_SOURCE_DIR}/include/olm/inbound_group_session.h |
||||
DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/olm) |
||||
|
||||
# Export the targets to a script. |
||||
install(EXPORT olm-targets |
||||
FILE OlmTargets.cmake |
||||
NAMESPACE Olm:: |
||||
DESTINATION ${INSTALL_CONFIGDIR}) |
||||
|
||||
# Create a ConfigVersion.cmake file. |
||||
include(CMakePackageConfigHelpers) |
||||
write_basic_package_version_file( |
||||
${CMAKE_CURRENT_BINARY_DIR}/OlmConfigVersion.cmake |
||||
VERSION ${PROJECT_VERSION} |
||||
COMPATIBILITY SameMajorVersion) |
||||
|
||||
configure_package_config_file( |
||||
${CMAKE_CURRENT_LIST_DIR}/cmake/OlmConfig.cmake.in |
||||
${CMAKE_CURRENT_BINARY_DIR}/OlmConfig.cmake |
||||
INSTALL_DESTINATION ${INSTALL_CONFIGDIR}) |
||||
|
||||
#Install the config & configversion. |
||||
install(FILES |
||||
${CMAKE_CURRENT_BINARY_DIR}/OlmConfig.cmake |
||||
${CMAKE_CURRENT_BINARY_DIR}/OlmConfigVersion.cmake |
||||
DESTINATION ${INSTALL_CONFIGDIR}) |
||||
|
||||
# Register package in user's package registry |
||||
export(EXPORT olm-targets |
||||
FILE ${CMAKE_CURRENT_BINARY_DIR}/OlmTargets.cmake |
||||
NAMESPACE Olm::) |
||||
export(PACKAGE Olm) |
@ -1,11 +0,0 @@ |
||||
get_filename_component(Olm_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) |
||||
include(CMakeFindDependencyMacro) |
||||
|
||||
list(APPEND CMAKE_MODULE_PATH ${Olm_CMAKE_DIR}) |
||||
list(REMOVE_AT CMAKE_MODULE_PATH -1) |
||||
|
||||
if(NOT TARGET Olm::Olm) |
||||
include("${Olm_CMAKE_DIR}/OlmTargets.cmake") |
||||
endif() |
||||
|
||||
set(Olm_LIBRARIES Olm::Olm) |
@ -1,23 +0,0 @@ |
||||
set(WINDOWS_FLAGS "") |
||||
|
||||
if(MSVC) |
||||
set(WINDOWS_FLAGS "-DCMAKE_GENERATOR_PLATFORM=x64") |
||||
endif() |
||||
|
||||
ExternalProject_Add( |
||||
SpdLog |
||||
|
||||
URL ${SPDLOG_URL} |
||||
URL_HASH SHA256=${SPDLOG_HASH} |
||||
|
||||
BUILD_IN_SOURCE 1 |
||||
SOURCE_DIR ${DEPS_BUILD_DIR}/spdlog |
||||
CONFIGURE_COMMAND ${CMAKE_COMMAND} |
||||
-DCMAKE_INSTALL_PREFIX=${DEPS_INSTALL_DIR} |
||||
-DSPDLOG_BUILD_EXAMPLES=0 |
||||
-DSPDLOG_BUILD_BENCH=0 |
||||
-DSPDLOG_BUILD_TESTING=0 |
||||
${DEPS_BUILD_DIR}/spdlog |
||||
${WINDOWS_FLAGS}) |
||||
|
||||
list(APPEND THIRD_PARTY_DEPS SpdLog) |
@ -1,22 +0,0 @@ |
||||
set(WINDOWS_FLAGS "") |
||||
|
||||
if(MSVC) |
||||
set(WINDOWS_FLAGS "-DCMAKE_GENERATOR_PLATFORM=x64") |
||||
endif() |
||||
|
||||
ExternalProject_Add( |
||||
Tweeny |
||||
|
||||
URL ${TWEENY_URL} |
||||
URL_HASH SHA256=${TWEENY_HASH} |
||||
|
||||
BUILD_IN_SOURCE 1 |
||||
SOURCE_DIR ${DEPS_BUILD_DIR}/tweeny |
||||
CONFIGURE_COMMAND ${CMAKE_COMMAND} |
||||
-DCMAKE_INSTALL_PREFIX=${DEPS_INSTALL_DIR} |
||||
-DTWEENY_BUILD_EXAMPLES=OFF |
||||
-DTWEENY_BUILD_DOCUMENTATION=OFF |
||||
${DEPS_BUILD_DIR}/tweeny |
||||
${WINDOWS_FLAGS}) |
||||
|
||||
list(APPEND THIRD_PARTY_DEPS Tweeny) |
@ -1,21 +0,0 @@ |
||||
set(WINDOWS_FLAGS "") |
||||
|
||||
if(MSVC) |
||||
set(WINDOWS_FLAGS "-DCMAKE_GENERATOR_PLATFORM=x64") |
||||
endif() |
||||
|
||||
ExternalProject_Add( |
||||
cmark |
||||
|
||||
URL ${CMARK_URL} |
||||
URL_HASH SHA256=${CMARK_HASH} |
||||
|
||||
BUILD_IN_SOURCE 0 |
||||
SOURCE_DIR ${DEPS_BUILD_DIR}/cmark |
||||
CONFIGURE_COMMAND ${CMAKE_COMMAND} |
||||
-DCMAKE_INSTALL_PREFIX=${DEPS_INSTALL_DIR} |
||||
-DCMARK_TESTS=OFF |
||||
${DEPS_BUILD_DIR}/cmark |
||||
${WINDOWS_FLAGS}) |
||||
|
||||
list(APPEND THIRD_PARTY_DEPS cmark) |
@ -0,0 +1,24 @@ |
||||
sudo apt install cmake |
||||
sudo apt install gcc make automake |
||||
sudo apt install qt5-default |
||||
sudo apt install liblmdb-dev |
||||
sudo apt install qttools5-dev-tools |
||||
sudo apt install qttools5-dev-tools |
||||
sudo apt install qttools5 |
||||
sudo apt install qt5-qmltooling-plugins qml-module-qtgstreamer |
||||
sudo apt install libqt5webview5-dev |
||||
sudo apt install libqt5quickcontrols2-5 |
||||
sudo apt install qtquickcontrols2-5-dev |
||||
sudo apt install libssl-dev |
||||
sudo apt install qml-module-qtgraphicaleffects |
||||
sudo apt install qml-module-qtquick-controls2 |
||||
sudo apt install qml-module-qtquick-layouts |
||||
sudo apt install qml-module-qtmultimedia |
||||
sudo apt install qml-module-qt-labs-settings qml-module-qt-labs-sharedimage |
||||
sudo apt install qttools5-dev |
||||
sudo apt install libqt5svg5-dev |
||||
sudo apt install qt5multimedia |
||||
sudo apt install libqt5multimedia5 |
||||
sudo apt install libqt5multimedia5-plugins libqt5multimediagsttools5 libqt5multimediaquick5 libqt5multimediawidgets5 |
||||
sudo apt install qt5ct |
||||
sudo apt install qtmultimedia5-dev |
@ -0,0 +1,3 @@ |
||||
set(CMAKE_CXX_STANDARD 17) |
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON) |
||||
set(CMAKE_POSITION_INDEPENDENT_CODE ON) |
Loading…
Reference in new issue