Skip to content
Snippets Groups Projects
Commit 2d461cc5 authored by Albert  Babí Oller's avatar Albert Babí Oller Committed by Sébastien Blin
Browse files

build: add support for custom lrc installation path

- qmake: add custom lrc path support
- cmake: add custom lrc path support, check qt version, update dependencies, optional test compilation
- readme: update flags building with make-ring.py
- tests: avoid using pandoc

Change-Id: I97dea21ca7c720c2d619c44bfa7dae5290de72f9
parent 92e6f92c
No related branches found
No related tags found
No related merge requests found
...@@ -18,8 +18,18 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}") ...@@ -18,8 +18,18 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}")
set(QML_RESOURCES ${CMAKE_SOURCE_DIR}/resources.qrc) set(QML_RESOURCES ${CMAKE_SOURCE_DIR}/resources.qrc)
set(QML_RESOURCES_QML ${CMAKE_SOURCE_DIR}/qml.qrc) set(QML_RESOURCES_QML ${CMAKE_SOURCE_DIR}/qml.qrc)
# todo: check LRC exists? if(NOT DEFINED LRC)
set(LRC ${CMAKE_CURRENT_SOURCE_DIR}/../install/lrc) set(LRC ${CMAKE_CURRENT_SOURCE_DIR}/../install/lrc)
set(LRCPATH ${LRC}/include/libringclient)
set(LRCLIBDIR ${LRC}/lib)
else()
set(LRCPATH ${LRC}/src)
if (NOT DEFINED LRCBUILD)
set(LRCLIBDIR ${LRC}/build)
else()
set(LRCLIBDIR ${LRCBUILD})
endif()
endif()
set(QML_LIBS set(QML_LIBS
Qt5::Quick Qt5::Quick
...@@ -68,9 +78,12 @@ set(COMMON_SOURCES ...@@ -68,9 +78,12 @@ set(COMMON_SOURCES
${SRC_DIR}/videoformatresolutionmodel.cpp ${SRC_DIR}/videoformatresolutionmodel.cpp
${SRC_DIR}/audiomanagerlistmodel.cpp ${SRC_DIR}/audiomanagerlistmodel.cpp
${SRC_DIR}/qmlregister.cpp ${SRC_DIR}/qmlregister.cpp
${SRC_DIR}/utilsadapter.cpp) ${SRC_DIR}/utilsadapter.cpp
${SRC_DIR}/dbuserrorhandler.cpp
${SRC_DIR}/xrectsel.c)
set(COMMON_HEADERS set(COMMON_HEADERS
${SRC_DIR}/avatarimageprovider.h
${SRC_DIR}/networkmanager.h ${SRC_DIR}/networkmanager.h
${SRC_DIR}/smartlistmodel.h ${SRC_DIR}/smartlistmodel.h
${SRC_DIR}/updatemanager.h ${SRC_DIR}/updatemanager.h
...@@ -115,7 +128,9 @@ set(COMMON_HEADERS ...@@ -115,7 +128,9 @@ set(COMMON_HEADERS
${SRC_DIR}/audiomanagerlistmodel.h ${SRC_DIR}/audiomanagerlistmodel.h
${SRC_DIR}/qmlregister.h ${SRC_DIR}/qmlregister.h
${SRC_DIR}/qtutils.h ${SRC_DIR}/qtutils.h
${SRC_DIR}/utilsadapter.h) ${SRC_DIR}/utilsadapter.h
${SRC_DIR}/dbuserrorhandler.h
${SRC_DIR}/xrectsel.h)
find_package(PkgConfig REQUIRED) find_package(PkgConfig REQUIRED)
pkg_check_modules(LIBNM libnm) pkg_check_modules(LIBNM libnm)
...@@ -124,20 +139,43 @@ if(LIBNM_FOUND) ...@@ -124,20 +139,43 @@ if(LIBNM_FOUND)
add_definitions(-DUSE_LIBNM) add_definitions(-DUSE_LIBNM)
endif() endif()
find_package(Qt5 CONFIG REQUIRED if(QT5_VER AND QT5_PATH)
Core string(REPLACE "." ";" VERSION_LIST ${QT5_VER})
Quick list(GET VERSION_LIST 0 QT5_VER_MAJOR)
QuickWidgets list(GET VERSION_LIST 1 QT5_VER_MINOR)
Network list(GET VERSION_LIST 2 QT5_VER_PATCH)
Svg
QuickControls2 if ((${QT5_VER_MAJOR} GREATER_EQUAL 5) AND (${QT5_VER_MINOR} GREATER_EQUAL 14))
WebEngine message(STATUS "Using custom Qt version")
DBus) find_package(Qt5 ${QT5_VER} REQUIRED
COMPONENTS
Core
Quick
QuickWidgets
Network
Svg
QuickControls2
WebEngine
DBus
PATHS ${QT5_PATH} NO_DEFAULT_PATH)
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH true)
endif()
else()
find_package(Qt5 REQUIRED
COMPONENTS
Core
Quick
QuickWidgets
Network
Svg
QuickControls2
WebEngine
DBus)
endif()
include_directories(${CMAKE_CURRENT_SOURCE_DIR} include_directories(${CMAKE_CURRENT_SOURCE_DIR}
${SRC_DIR} ${SRC_DIR}
${LRC}/include/libringclient ${LRCPATH}
${LRC}/include
${LIBNM_INCLUDE_DIRS}) ${LIBNM_INCLUDE_DIRS})
link_libraries(${LIBNM_LIBRARIES}) link_libraries(${LIBNM_LIBRARIES})
...@@ -149,13 +187,19 @@ add_executable(${PROJECT_NAME} ...@@ -149,13 +187,19 @@ add_executable(${PROJECT_NAME}
${QML_RESOURCES} ${QML_RESOURCES}
${QML_RESOURCES_QML}) ${QML_RESOURCES_QML})
find_library(ringclient ringclient ${LRC}/lib NO_DEFAULT_PATH) message(${LRCLIBDIR})
find_library(ringclient ringclient ${LRCLIBDIR} NO_DEFAULT_PATH)
find_library(qrencode qrencode) find_library(qrencode qrencode)
find_library(X11 X11)
target_link_libraries(jami-qt target_link_libraries(jami-qt
${QML_LIBS} ${QML_LIBS}
${ringclient} ${ringclient}
${qrencode} ${qrencode}
${X11}
) )
add_subdirectory(tests) if(ENABLE_TESTS)
message("Add Jami tests")
add_subdirectory(tests)
endif()
...@@ -60,7 +60,7 @@ Then you will need to install dependencies: ...@@ -60,7 +60,7 @@ Then you will need to install dependencies:
+ For GNU/Linux + For GNU/Linux
```bash ```bash
./make-ring.py --dependencies # needs sudo ./make-ring.py --dependencies --qt # needs sudo
``` ```
Then, you can build daemon, lrc and client-qt with: Then, you can build daemon, lrc and client-qt with:
...@@ -81,7 +81,7 @@ And you will have the daemon in `daemon/bin/dring` and the client in `client-qt/ ...@@ -81,7 +81,7 @@ And you will have the daemon in `daemon/bin/dring` and the client in `client-qt/
cd client-qt cd client-qt
mkdir build mkdir build
cd build cd build
${YOUR_QT5_gcc64_PATH}/bin/qmake /jami-qt.pro ${YOUR_QT5_gcc64_PATH}/bin/qmake ../jami-qt.pro
make -j9 make -j9
``` ```
......
...@@ -21,7 +21,7 @@ echo "Building lrc in "$PWD ...@@ -21,7 +21,7 @@ echo "Building lrc in "$PWD
cmake .. -DCMAKE_INSTALL_PREFIX=$installDir/lrc \ cmake .. -DCMAKE_INSTALL_PREFIX=$installDir/lrc \
-DRING_INCLUDE_DIR=$daemonDir/src/dring \ -DRING_INCLUDE_DIR=$daemonDir/src/dring \
-DRING_XML_INTERFACES_DIR=$daemonDir/bin/dbus -DRING_XML_INTERFACES_DIR=$daemonDir/bin/dbus
make make -j${cpuCount}
make install make install
# Build client and tests # Build client and tests
...@@ -29,7 +29,6 @@ cd $clientDir ...@@ -29,7 +29,6 @@ cd $clientDir
mkdir -p build mkdir -p build
cd build cd build
echo "Building client in "$PWD echo "Building client in "$PWD
pandoc -f markdown -t html5 -o ../changelog.html ../changelog.md
cmake .. cmake ..
make -j${cpuCount} make -j${cpuCount}
......
...@@ -95,13 +95,23 @@ unix { ...@@ -95,13 +95,23 @@ unix {
QMAKE_CXXFLAGS += -std=c++17 QMAKE_CXXFLAGS += -std=c++17
} }
isEmpty(LRC) { LRC=$$PWD/../install/lrc/ }
INCLUDEPATH += $${LRC}/include/libringclient
INCLUDEPATH += $${LRC}/include
INCLUDEPATH += ../src INCLUDEPATH += ../src
LIBS += -L$${LRC}/lib -lringclient isEmpty(LRC) {
LRC=$$PWD/../install/lrc
INCLUDEPATH += $${LRC}/include/libringclient
LIBDIR = $${LRC}/lib
} else {
INCLUDEPATH += $${LRC}/src
isEmpty(LRCBUILD) {
LIBDIR = $${LRC}/build
} else {
LIBDIR = $${LRCBUILD}
}
}
QMAKE_RPATHDIR += $${LIBDIR}
LIBS += -L$${LIBDIR} -lringclient
LIBS += -lqrencode LIBS += -lqrencode
LIBS += -lX11 LIBS += -lX11
......
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