diff options
author | Ivo Stoilov (GitHub) <istoilov@luxoft.com> | 2016-12-30 17:47:39 +0200 |
---|---|---|
committer | Ivo Stoilov (GitHub) <istoilov@luxoft.com> | 2017-01-12 18:36:30 +0200 |
commit | 1c58e66069fe65a94234e322cd76051e0aaa30e2 (patch) | |
tree | c53ae86a4bea52ef5c75f988a4961b8f579229fd /src/3rd_party | |
parent | 7063ed619c92d795a46f221fc9935a2249e65bf2 (diff) | |
download | sdl_core-1c58e66069fe65a94234e322cd76051e0aaa30e2.tar.gz |
Refactor CMake files
Merge components refactoring from Windows port barnch
- add cmake tools
- refactor protocol handler CMakeLists.txt file
- refactor interfaces CMakeLists.txt file
- refactor smart object CMakeLists.txt file
- refactor formatters CMakeLists.txt file
- refactor config profile CMakeLists.txt file
- refactor policy CMakeLists.txt file
- refactor resumption CMakeLists.txt file
- refactor connection handler CMakeLists.txt file
- refactor application manager CMakeLists.txt file
- refactor security manager CMakeLists.txt file
- refactor dbus CMakeLists.txt file
- refactor hmi message handler CMakeLists.txt file
- refactor transport manager CMakeLists.txt file
- refactor utils CMakeLists.txt file
- refactor components root CMakeLists.txt file
- refactor utils CMakeLists.txt file
- refactor components root CMakeLists.txt file
- refactor media manager CMakeLists.txt file
- refactor telemetry monitor CMakeLists.txt file
- refactor appmain CMakeLists.txt file
- refactor plugins CMakeLists.txt file
- refactor 3rd party CMakeLists.txt files
- create cmake helper for interface generation
- refactor root CMakeLists.txt file
Move cmake modules to tools
Rename src/3rd_party-static/MessageBroker to message_broker
Related tasks APPLINK-30588 APPLINK-30972
Diffstat (limited to 'src/3rd_party')
-rw-r--r-- | src/3rd_party/CMakeLists.txt | 231 | ||||
-rw-r--r-- | src/3rd_party/apache-log4cxx-cmake/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/3rd_party/iap.build.tar.bz2 | bin | 19659 -> 0 bytes |
3 files changed, 227 insertions, 6 deletions
diff --git a/src/3rd_party/CMakeLists.txt b/src/3rd_party/CMakeLists.txt index c7965992f4..cddc2d16b6 100644 --- a/src/3rd_party/CMakeLists.txt +++ b/src/3rd_party/CMakeLists.txt @@ -28,7 +28,27 @@ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. -INCLUDE("./set_3rd_party_paths.cmake") +include("./set_3rd_party_paths.cmake") + +set(3RD_PARTY_SOURCE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) +set(3RD_PARTY_BINARY_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) + +set (install-3rd_party_logger_var "") +set (install-3rd_party_dbus_var "") + +if(NO_REBUILD_3RD_PARTY) + set(NO_REBUILD_3RD_PARTY_LOGGER ON) + set(NO_REBUILD_3RD_PARTY_DBUS ON) +endif() + +if(FORCE_3RD_PARTY) + if(NO_REBUILD_3RD_PARTY) + message(FATAL_ERROR "Please don't turn on both FORCE_3RD_PARTY and NO_REBUILD_3RD_PARTY at the same time.") + else() + set(FORCE_3RD_PARTY_LOGGER ON) + set(FORCE_3RD_PARTY_DBUS ON) + endif() +endif() if(ENABLE_LOG OR HMI_DBUS_API) # --- libexpat @@ -37,14 +57,112 @@ if(ENABLE_LOG OR HMI_DBUS_API) endif() if(ENABLE_LOG) + if(NO_REBUILD_3RD_PARTY_LOGGER) + message(STATUS "Not rebuilding logger.") + else() + if(FORCE_3RD_PARTY_LOGGER) + message(STATUS "Force to rebuild logger.") + + #build logger + add_custom_target(3rd_party_logger + make + WORKING_DIRECTORY ${3RD_PARTY_BINARY_DIRECTORY} + ) + + #install logger + #install either to default place with sudo or non-default plase without sudo. + #to install with sudo to non-default place use manual installation + add_custom_target(install-3rd_party_logger + COMMAND /bin/bash -c \"USE_DEFAULT_3RD_PARTY_PATH=${USE_DEFAULT_3RD_PARTY_PATH}\; + if [ \\$$USE_DEFAULT_3RD_PARTY_PATH == "true" ]\; then + sudo -k \; + sudo make install\; + else + make install\; + fi\" + DEPENDS 3rd_party_logger + WORKING_DIRECTORY ${3RD_PARTY_BINARY_DIRECTORY} + ) + else() + #build logger + add_custom_target(3rd_party_logger + COMMAND /bin/bash -c \"cd ${CMAKE_CURRENT_SOURCE_DIR} && + grep .commit_hash ${3RD_PARTY_INSTALL_PREFIX_ARCH}/lib/liblog4cxx.so 1>/dev/null 2>&1\; + if [ \\$$? == 0 ]\; then + VAR1=\\$$\( readelf -p .commit_hash ${3RD_PARTY_INSTALL_PREFIX_ARCH}/lib/liblog4cxx.so 2>/dev/null\)\; + VAR1=\\$$\(echo \\$$VAR1 | awk '{print \\$$NF}'\)\; + VAR2=-1\; + cd ${CMAKE_CURRENT_SOURCE_DIR}\; + git log . 1>/dev/null 2>&1\; + if [ \\$$? == 0 ]; then + VAR2=\\$$\(git log --pretty=\"format:%H\" -1 ${3RD_PARTY_SOURCE_DIRECTORY}/apache-log4cxx-0.10.0\)\; + fi\; + if [ \\$$VAR1 != \\$$VAR2 ]\; then + echo " Need to rebuild logger. " \; + cd ${3RD_PARTY_BINARY_DIRECTORY}\; + make\; + else + echo " Logger is actual. " \; + fi\; + else + echo " Need to build logger. " \; + cd ${3RD_PARTY_BINARY_DIRECTORY}\; + make\; + fi\" + WORKING_DIRECTORY ${3RD_PARTY_BINARY_DIRECTORY} + ) + + #install logger + #install either to default place with sudo or non-default plase without sudo. + #to install with sudo to non-default place use manual installation + add_custom_target(install-3rd_party_logger + COMMAND /bin/bash -c \"cd ${CMAKE_CURRENT_SOURCE_DIR} && + grep .commit_hash ${3RD_PARTY_INSTALL_PREFIX_ARCH}/lib/liblog4cxx.so 1>/dev/null 2>&1\; + if [ \\$$? == 0 ]\; then + VAR1=\\$$\( readelf -p .commit_hash ${3RD_PARTY_INSTALL_PREFIX_ARCH}/lib/liblog4cxx.so 2>/dev/null\)\; + VAR1=\\$$\(echo \\$$VAR1 | awk '{print \\$$NF}'\)\; + VAR2=-1\; + cd ${CMAKE_CURRENT_SOURCE_DIR}\; + git log . 1>/dev/null 2>&1\; + if [ \\$$? == 0 ]; then + VAR2=\\$$\(git log --pretty=\"format:%H\" -1 ${3RD_PARTY_SOURCE_DIRECTORY}/apache-log4cxx-0.10.0\)\; + fi\; + if [ \\$$VAR1 != \\$$VAR2 ]\; then + USE_DEFAULT_3RD_PARTY_PATH=${USE_DEFAULT_3RD_PARTY_PATH}\; + if [ \\$$USE_DEFAULT_3RD_PARTY_PATH == "true" ]\; then + cd ${3RD_PARTY_BINARY_DIRECTORY}\; + sudo -k \; + sudo make install\; + else + cd ${3RD_PARTY_BINARY_DIRECTORY}\; + make install\; + fi\; + fi\; + else + USE_DEFAULT_3RD_PARTY_PATH=${USE_DEFAULT_3RD_PARTY_PATH}\; + if [ \\$$USE_DEFAULT_3RD_PARTY_PATH == "true" ]\; then + cd ${3RD_PARTY_BINARY_DIRECTORY}\; + sudo -k \; + sudo make install\; + else + cd ${3RD_PARTY_BINARY_DIRECTORY}\; + make install\; + fi\; + fi\" + DEPENDS 3rd_party_logger + WORKING_DIRECTORY ${3RD_PARTY_BINARY_DIRECTORY} + ) + endif() + + set(install-3rd_party_logger_var "install-3rd_party_logger") + endif() + set(APR_LIBS_DIRECTORY ${3RD_PARTY_INSTALL_PREFIX_ARCH}/lib PARENT_SCOPE) set(APR_INCLUDE_DIRECTORY ${3RD_PARTY_INSTALL_PREFIX}/include PARENT_SCOPE) set(APR_UTIL_LIBS_DIRECTORY ${3RD_PARTY_INSTALL_PREFIX_ARCH}/lib PARENT_SCOPE) set(LOG4CXX_INCLUDE_DIRECTORY ${3RD_PARTY_INSTALL_PREFIX}/include PARENT_SCOPE) set(LOG4CXX_LIBS_DIRECTORY ${3RD_PARTY_INSTALL_PREFIX_ARCH}/lib PARENT_SCOPE) -endif() -if(ENABLE_LOG) # --- libapr-1 add_subdirectory(apr-cmake) @@ -57,14 +175,117 @@ endif() # --- D-Bus if(HMI_DBUS_API) + if(NO_REBUILD_3RD_PARTY_DBUS) + message(STATUS "Not rebuilding D-Bus.") + else() + if(FORCE_3RD_PARTY_DBUS) + message(STATUS "Force to rebuild D-Bus.") + + #build d-bus + add_custom_target(3rd_party_dbus + make + WORKING_DIRECTORY ${3RD_PARTY_BINARY_DIRECTORY} + ) + + #install d-bus + #install either to default place with sudo or non-default plase without sudo. + #to install with sudo to non-default place use manual installation + add_custom_target(install-3rd_party_dbus + COMMAND /bin/bash -c \"USE_DEFAULT_3RD_PARTY_PATH=${USE_DEFAULT_3RD_PARTY_PATH}\; + if [ \\$$USE_DEFAULT_3RD_PARTY_PATH == "true" ]\; then + sudo -k \; + sudo make install\; + else + make install\; + fi\" + DEPENDS 3rd_party_dbus + WORKING_DIRECTORY ${3RD_PARTY_BINARY_DIRECTORY} + ) + else() + #build d-bus + add_custom_target(3rd_party_dbus + COMMAND /bin/bash -c \"grep .commit_hash ${3RD_PARTY_INSTALL_PREFIX_ARCH}/lib/libdbus-1.so 1>/dev/null 2>&1\; + if [ \\$$? == 0 ]\; then + VAR1=\\$$\(readelf -p .commit_hash ${3RD_PARTY_INSTALL_PREFIX_ARCH}/lib/libdbus-1.so 2>/dev/null\)\; + VAR1=\\$$\(echo \\$$VAR1 | awk '{print \\$$NF}'\)\; + VAR2=-1\; + cd ${CMAKE_CURRENT_SOURCE_DIR}\; + git log . 1>/dev/null 2>&1\; + if [ \\$$? == 0 ]; then + VAR2=\\$$\(git log --pretty=\"format:%H\" -1 ${3RD_PARTY_SOURCE_DIRECTORY}/dbus-1.7.8\)\; + fi\; + if [ \\$$VAR1 != \\$$VAR2 ]\; then + echo " Need to rebuild D-Bus. " \; + cd ${3RD_PARTY_BINARY_DIRECTORY}\; + make\; + else + echo " D-Bus is actual. " \; + fi\; + else + echo " Need to build D-Bus. " \; + cd ${3RD_PARTY_BINARY_DIRECTORY}\; + make\; + fi\" + WORKING_DIRECTORY ${3RD_PARTY_BINARY_DIRECTORY} + ) + + #install d-bus + #install either to default place with sudo or non-default plase without sudo. + #to install with sudo to non-default place use manual installation + add_custom_target(install-3rd_party_dbus + COMMAND /bin/bash -c \"grep .commit_hash ${3RD_PARTY_INSTALL_PREFIX_ARCH}/lib/libdbus-1.so 1>/dev/null 2>&1\; + if [ \\$$? == 0 ]\; then + VAR1=\\$$\(readelf -p .commit_hash ${3RD_PARTY_INSTALL_PREFIX_ARCH}/lib/libdbus-1.so 2>/dev/null\)\; + VAR1=\\$$\(echo \\$$VAR1 | awk '{print \\$$NF}'\)\; + VAR2=-1\; + cd ${CMAKE_CURRENT_SOURCE_DIR}\; + git log . 1>/dev/null 2>&1\; + if [ \\$$? == 0 ]; then + VAR2=\\$$\(git log --pretty=\"format:%H\" -1 ${3RD_PARTY_SOURCE_DIRECTORY}/dbus-1.7.8\)\; + fi\; + if [ \\$$VAR1 != \\$$VAR2 ]\; then + USE_DEFAULT_3RD_PARTY_PATH=${USE_DEFAULT_3RD_PARTY_PATH}\; + if [ \\$$USE_DEFAULT_3RD_PARTY_PATH == "true" ]\; then + cd ${3RD_PARTY_BINARY_DIRECTORY}\; + sudo -k \; + sudo make install\; + else + cd ${3RD_PARTY_BINARY_DIRECTORY}\; + make install\; + fi\; + fi\; + else + USE_DEFAULT_3RD_PARTY_PATH=${USE_DEFAULT_3RD_PARTY_PATH}\; + if [ \\$$USE_DEFAULT_3RD_PARTY_PATH == "true" ]\; then + cd ${3RD_PARTY_BINARY_DIRECTORY}\; + sudo -k \; + sudo make install\; + else + cd ${3RD_PARTY_BINARY_DIRECTORY}\; + make install\; + fi\; + fi\" + DEPENDS 3rd_party_dbus + WORKING_DIRECTORY ${3RD_PARTY_BINARY_DIRECTORY} + ) + + set(install-3rd_party_dbus_var "install-3rd_party_dbus") + endif() + endif() + + # --- D-Bus set(DBUS_INCLUDE_DIR ${3RD_PARTY_INSTALL_PREFIX}/include) set(DBUS_INCLUDE_DIR_ARCH ${3RD_PARTY_INSTALL_PREFIX_ARCH}/include) set(DBUS_INCLUDE_DIRS ${DBUS_INCLUDE_DIR} ${DBUS_INCLUDE_DIR_ARCH}) set(DBUS_INCLUDE_DIRS ${DBUS_INCLUDE_DIRS} PARENT_SCOPE) set(DBUS_LIBS_DIRECTORY ${3RD_PARTY_INSTALL_PREFIX_ARCH}/lib PARENT_SCOPE) -endif() -if(HMI_DBUS_API) add_subdirectory(dbus-cmake) endif() +add_custom_target(install-3rd_party + DEPENDS ${install-3rd_party_logger_var} + DEPENDS ${install-3rd_party_dbus_var} + WORKING_DIRECTORY ${3RD_PARTY_BINARY_DIRECTORY} +) + diff --git a/src/3rd_party/apache-log4cxx-cmake/CMakeLists.txt b/src/3rd_party/apache-log4cxx-cmake/CMakeLists.txt index a3dd48d1f7..57291f88a4 100644 --- a/src/3rd_party/apache-log4cxx-cmake/CMakeLists.txt +++ b/src/3rd_party/apache-log4cxx-cmake/CMakeLists.txt @@ -74,7 +74,7 @@ add_custom_target(liblog4cxx ALL make cd ${CMAKE_CURRENT_SOURCE_DIR} && git log --pretty=\\"format:%H\\" -1 ${LOG4CXX_SOURCE_DIRECTORY} > /tmp/commit_hash 2>/dev/null && echo \\"Adding .commit_hash section\\" && - ${objcopy} --add-section .commit_hash=/tmp/commit_hash ${LOG4CXX_LIBS_DIRECTORY}/liblog4cxx.so ${LOG4CXX_LIBS_DIRECTORY}/liblog4cxx.so 1>/dev/null 2>&1\; + objcopy --add-section .commit_hash=/tmp/commit_hash ${LOG4CXX_LIBS_DIRECTORY}/liblog4cxx.so ${LOG4CXX_LIBS_DIRECTORY}/liblog4cxx.so 1>/dev/null 2>&1\; fi; fi\" DEPENDS ${LOG4CXX_BUILD_DIRECTORY}/Makefile diff --git a/src/3rd_party/iap.build.tar.bz2 b/src/3rd_party/iap.build.tar.bz2 Binary files differdeleted file mode 100644 index 19aa8b7ae5..0000000000 --- a/src/3rd_party/iap.build.tar.bz2 +++ /dev/null |