diff options
author | Alexander Kutsan <akutsan@luxoft.com> | 2017-08-09 17:30:02 +0300 |
---|---|---|
committer | Alexander Kutsan <akutsan@luxoft.com> | 2017-08-15 23:09:43 +0300 |
commit | 38b4426e797c6cde7e4e88467f85bd31e7464644 (patch) | |
tree | 4d0aaaf35c1aac43ae1d82a4d362746dd2d82c26 /src/3rd_party/CMakeLists.txt | |
parent | 33143bfdfdd142206298228bd945a8213221160e (diff) | |
download | sdl_core-38b4426e797c6cde7e4e88467f85bd31e7464644.tar.gz |
Fix instalation of bson to avoid root access
Diffstat (limited to 'src/3rd_party/CMakeLists.txt')
-rw-r--r-- | src/3rd_party/CMakeLists.txt | 51 |
1 files changed, 36 insertions, 15 deletions
diff --git a/src/3rd_party/CMakeLists.txt b/src/3rd_party/CMakeLists.txt index f9abfb55ce..9abc187d0c 100644 --- a/src/3rd_party/CMakeLists.txt +++ b/src/3rd_party/CMakeLists.txt @@ -283,22 +283,43 @@ if(HMI_DBUS_API) add_subdirectory(dbus-cmake) endif() -set(BSON_LIBS_DIRECTORY ${3RD_PARTY_INSTALL_PREFIX_ARCH}/lib PARENT_SCOPE) -set(BSON_INCLUDE_DIRECTORY ${3RD_PARTY_INSTALL_PREFIX}/include PARENT_SCOPE) -set(EMHASHMAP_INCLUDE_DIRECTORY ${3RD_PARTY_INSTALL_PREFIX}/include PARENT_SCOPE) -set(EMHASHMAP_LIBS_DIRECTORY ${3RD_PARTY_INSTALL_PREFIX_ARCH}/lib PARENT_SCOPE) -set(BSON_LIB_SOURCE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bson_c_lib) +set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}") +set(CMAKE_SOURCE_PREFIX ${CMAKE_SOURCE_PREFIX} "${3RD_PARTY_INSTALL_PREFIX}") +find_package (BSON) +message (STATUS "bson installed in " ${BSON_LIBS_DIRECTORY} " , " ${BSON_INCLUDE_DIRECTORY}) +message (STATUS "emhashmap installed in " ${EMHASHMAP_LIBS_DIRECTORY} " , " ${EMHASHMAP_INCLUDE_DIRECTORY}) -include(ExternalProject) -ExternalProject_Add(libbson - GIT_REPOSITORY "http://github.com/smartdevicelink/bson_c_lib.git" - GIT_TAG "master" - BINARY_DIR ${BSON_LIB_SOURCE_DIRECTORY} - DOWNLOAD_DIR ${BSON_LIB_SOURCE_DIRECTORY} - SOURCE_DIR ${BSON_LIB_SOURCE_DIRECTORY} - CONFIGURE_COMMAND touch aclocal.m4 configure.ac Makefile.am Makefile.in configure && ./configure - BUILD_COMMAND make - INSTALL_COMMAND sudo make install) +if (${BSON_LIB} MATCHES "BSON_LIB-NOTFOUND") + message (STATUS "Building bson required") + set(BSON_LIB_SOURCE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bson_c_lib CACHE INTERNAL "Sources of bson library" FORCE) + set(BSON_LIBS_DIRECTORY ${3RD_PARTY_INSTALL_PREFIX}/lib CACHE INTERNAL "Installation path of bson libraries" FORCE) + set(BSON_INCLUDE_DIRECTORY ${3RD_PARTY_INSTALL_PREFIX}/include CACHE INTERNAL "Installation path of bson headers" FORCE) + set(EMHASHMAP_LIBS_DIRECTORY ${3RD_PARTY_INSTALL_PREFIX}/lib CACHE INTERNAL "Installation path of emashmap libraries" FORCE) + set(EMHASHMAP_INCLUDE_DIRECTORY ${3RD_PARTY_INSTALL_PREFIX}/include CACHE INTERNAL "Installation path of emashmap headers" FORCE) + + set(BSON_INSTALL_COMMAND make install) + if (${3RD_PARTY_INSTALL_PREFIX} MATCHES "/usr/local") + set(BSON_INSTALL_COMMAND sudo make install) + endif() + include(ExternalProject) + ExternalProject_Add(libbson + GIT_REPOSITORY "http://github.com/LuxoftAKutsan/bson_c_lib.git" +# TODO Change GIT_REPOSITORY to http://github.com/smartdevicelink/bson_c_lib.git +# after merge of https://github.com/smartdevicelink/bson_c_lib/pull/2 + GIT_TAG "master" + BINARY_DIR ${BSON_LIB_SOURCE_DIRECTORY} + INSTALL_DIR ${3RD_PARTY_INSTALL_PREFIX} + DOWNLOAD_DIR ${BSON_LIB_SOURCE_DIRECTORY} + SOURCE_DIR ${BSON_LIB_SOURCE_DIRECTORY} + CONFIGURE_COMMAND touch aclocal.m4 configure.ac Makefile.am Makefile.in configure && ./configure --prefix=${3RD_PARTY_INSTALL_PREFIX} + BUILD_COMMAND make + INSTALL_COMMAND ${BSON_INSTALL_COMMAND}) +else() + get_filename_component(BSON_LIBS_DIRECTORY ${BSON_LIB} DIRECTORY) + get_filename_component(EMHASHMAP_LIBS_DIRECTORY ${EMHASHMAP_LIB} DIRECTORY) + set(BSON_LIBS_DIRECTORY ${BSON_LIBS_DIRECTORY} CACHE INTERNAL "Installation path of bson libraries" FORCE) + set(EMHASHMAP_LIBS_DIRECTORY ${BSON_LIBS_DIRECTORY} CACHE INTERNAL "Installation path of emashmap libraries" FORCE) +endif() add_custom_target(install-3rd_party DEPENDS ${install-3rd_party_logger_var} |