Skip to content
Snippets Groups Projects
Commit 4e4d2c5c authored by Konstantinos Sideris's avatar Konstantinos Sideris
Browse files

Remove git submodules in favor of cmake's ExternalProject

parent 735d508a
No related branches found
No related tags found
No related merge requests found
......@@ -91,3 +91,6 @@ compile_commands.json
*.rpm
*.deb
package.dir
# Dependencies
.third-party
......
[submodule "libs/lmdbxx"]
path = libs/lmdbxx
url = https://github.com/bendiken/lmdbxx
[submodule "libs/matrix-structs"]
path = libs/matrix-structs
url = https://github.com/mujx/matrix-structs
......@@ -45,13 +45,6 @@ else()
find_package_handle_standard_args(LMDB DEFAULT_MSG LMDB_INCLUDE_DIR LMDB_LIBRARY)
endif()
if (NOT EXISTS "${CMAKE_SOURCE_DIR}/libs/lmdbxx/.git" OR
NOT EXISTS "${CMAKE_SOURCE_DIR}/libs/matrix-structs/.git")
message(WARNING "The git submodules are not available.")
message(STATUS "Running git submodule update --init --recursive ...")
execute_process(COMMAND git submodule update --init --recursive)
endif()
#
# Discover Qt dependencies.
#
......@@ -219,10 +212,21 @@ set(SRC_FILES
src/main.cc
)
#
# matrix-structs
#
include(${CMAKE_SOURCE_DIR}/cmake/MatrixStructs.cmake)
include_directories(${MATRIX_STRUCTS_INCLUDE_DIRS})
#
# lmdbxx
#
include(${CMAKE_SOURCE_DIR}/cmake/LMDBXX.cmake)
include_directories(${LMDBXX_INCLUDE_DIRS})
include_directories(include)
include_directories(include/ui)
include_directories(libs/lmdbxx)
include_directories(${LMDB_INCLUDE_DIR})
qt5_wrap_cpp(MOC_HEADERS
......@@ -317,10 +321,6 @@ endif()
qt5_add_resources(LANG_QRC ${_qrc})
qt5_add_resources(QRC resources/res.qrc)
add_subdirectory(libs/matrix-structs)
include_directories(${matrix_structs_SOURCE_DIR}/include)
include_directories(${matrix_structs_SOURCE_DIR}/deps)
set(COMMON_LIBS matrix_structs Qt5::Widgets Qt5::Network Qt5::Concurrent)
if(APPVEYOR_BUILD)
......@@ -342,6 +342,8 @@ else()
target_link_libraries (nheko ${NHEKO_LIBS} Qt5::Multimedia)
endif()
add_dependencies(nheko MatrixStructs lmdbxx)
if(UNIX AND NOT APPLE)
install (TARGETS nheko RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
install (FILES "resources/nheko-16.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/16x16/apps" RENAME "nheko.png")
......
include(ExternalProject)
#
# Build lmdbxx.
#
set(THIRD_PARTY_ROOT ${CMAKE_SOURCE_DIR}/.third-party)
set(LMDBXX_ROOT ${THIRD_PARTY_ROOT}/lmdbxx)
set(LMDBXX_INCLUDE_DIRS ${LMDBXX_ROOT})
ExternalProject_Add(
lmdbxx
GIT_REPOSITORY https://github.com/bendiken/lmdbxx
GIT_TAG 0b43ca87d8cfabba392dfe884eb1edb83874de02
BUILD_IN_SOURCE 1
SOURCE_DIR ${LMDBXX_ROOT}
CONFIGURE_COMMAND ""
BUILD_COMMAND ""
INSTALL_COMMAND ""
)
include_directories(SYSTEM ${LMDBXX_ROOT})
include(ExternalProject)
#
# Build matrix-structs.
#
set(THIRD_PARTY_ROOT ${CMAKE_SOURCE_DIR}/.third-party)
set(MATRIX_STRUCTS_ROOT ${THIRD_PARTY_ROOT}/matrix_structs)
set(MATRIX_STRUCTS_INCLUDE_DIRS ${MATRIX_STRUCTS_ROOT}/deps)
ExternalProject_Add(
MatrixStructs
GIT_REPOSITORY https://github.com/mujx/matrix-structs
GIT_TAG 83be1388e632a43f0570857cb79313c09fb3da0b
BUILD_IN_SOURCE 1
SOURCE_DIR ${MATRIX_STRUCTS_ROOT}
CONFIGURE_COMMAND ${CMAKE_COMMAND} -DCMAKE_BUILD_TYPE=Release ${MATRIX_STRUCTS_ROOT}
BUILD_COMMAND ${CMAKE_COMMAND} --build ${MATRIX_STRUCTS_ROOT}
INSTALL_COMMAND ""
)
include_directories(SYSTEM ${MATRIX_STRUCTS_ROOT}/deps)
include_directories(SYSTEM ${MATRIX_STRUCTS_ROOT}/include)
link_directories(${MATRIX_STRUCTS_ROOT})
Subproject commit 0b43ca87d8cfabba392dfe884eb1edb83874de02
Subproject commit 335ece4cbe411393e9179621a299dd96433c1757
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment