Skip to content
This repository has been archived by the owner on Oct 17, 2019. It is now read-only.

Commit

Permalink
Remove git submodules in favor of cmake's ExternalProject
Browse files Browse the repository at this point in the history
  • Loading branch information
mujx committed Mar 3, 2018
1 parent 735d508 commit 4e4d2c5
Show file tree
Hide file tree
Showing 7 changed files with 69 additions and 20 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -91,3 +91,6 @@ compile_commands.json
*.rpm
*.deb
package.dir

# Dependencies
.third-party
Expand Down
6 changes: 0 additions & 6 deletions .gitmodules

This file was deleted.

26 changes: 14 additions & 12 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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.
#
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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)
Expand All @@ -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")
Expand Down
25 changes: 25 additions & 0 deletions cmake/LMDBXX.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
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})
27 changes: 27 additions & 0 deletions cmake/MatrixStructs.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
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})
1 change: 0 additions & 1 deletion libs/lmdbxx
Submodule lmdbxx deleted from 0b43ca
1 change: 0 additions & 1 deletion libs/matrix-structs
Submodule matrix-structs deleted from 335ece

0 comments on commit 4e4d2c5

Please sign in to comment.