summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorAlexander Kutsan <AKutsan@luxoft.com>2015-11-23 15:25:15 +0200
committerAlexander Kutsan <AKutsan@luxoft.com>2015-11-24 11:37:18 +0200
commitec2539adf4419d75a1061024fe63ed26b24ff559 (patch)
tree2d82f60d3d70aa94ae2311e2e2fb47217852f210 /CMakeLists.txt
parenta2bab2cd053a67cd4b1754ed6f38abbeb3779fde (diff)
downloadsdl_core-ec2539adf4419d75a1061024fe63ed26b24ff559.tar.gz
Add ENABLE_TESTS enviromentvariable
Now if ENABLE_TESTS enviroment variable is TESTS_ON SDL will be builded with unit tests. This option is need for build server
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt246
1 files changed, 127 insertions, 119 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index aef26c2952..e608fbbb1b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -56,6 +56,7 @@ set(HMI_TYPE_OPTION "$ENV{HMI_TYPE}")
set(TARGET_OPTION "$ENV{TARGET}")
set(MEDIA_MODE_OPTION "$ENV{MEDIA_MODE}")
set(HMI_ADAPTER_OPTION "$ENV{HMI_ADAPTER}")
+set(ENABLE_TESTS_OPTION "$ENV{ENABLE_TESTS}")
set(ENABLE_LOG_OPTION "$ENV{ENABLE_LOG}")
set(ARCH_TYPE_OPTION "$ENV{ARCH_TYPE}")
set(POLICY_OPTION "$ENV{POLICY_TYPE}")
@@ -63,8 +64,6 @@ set(SECURITY_OPTION "$ENV{SECURITY_MODE}")
set(COMPONENTS_DIR ${CMAKE_SOURCE_DIR}/src/components)
set(SNAPSHOT_TAG "$ENV{SNAPSHOT_TAG}")
-
-
if (ARCH_TYPE_OPTION)
if (NOT (${ARCH_TYPE_OPTION} STREQUAL "x86") AND NOT (${ARCH_TYPE_OPTION} STREQUAL "armv7"))
message(AUTHOR_WARNING "HW architecture is not defined, using x86. Allowed values are x86/armv7 (case sensitive)")
@@ -74,19 +73,6 @@ else ()
set(ARCH_TYPE_OPTION "x86")
endif()
-set(objcopy "objcopy")
-if (OS_TYPE_OPTION)
- if (${OS_TYPE_OPTION} STREQUAL "QNX")
- message(STATUS "Jenkins integration: set build process for QNX")
- #do not use include after project() command.
- #Such usecase results in infinite cycle of reinitialization of compiler and other variables
- INCLUDE("./qnx_6.5.0_linux_x86.cmake")
- set(objcopy "nto${ARCH_TYPE_OPTION}-objcopy")
- #tests are not supported yet for QNX build
- set (BUILD_TESTS OFF)
- endif()
-endif()
-
if (HMI_TYPE_OPTION)
if (${HMI_TYPE_OPTION} STREQUAL "HTML5")
message(STATUS "Jenkins integration: select HTML5 HMI")
@@ -134,6 +120,15 @@ if (ENABLE_LOG_OPTION)
endif()
endif()
+if (ENABLE_TESTS_OPTION)
+ if (${ENABLE_TESTS_OPTION} STREQUAL "TESTS_OFF")
+ message(STATUS "Jenkins integration: Unit tests is turned off")
+ set (BUILD_TESTS OFF)
+ elseif(${ENABLE_TESTS_OPTION} STREQUAL "TESTS_ON")
+ message(STATUS "Jenkins integration: Unit tests is turned on")
+ set (BUILD_TESTS ON)
+ endif()
+endif()
if (SECURITY_OPTION)
if (${SECURITY_OPTION} STREQUAL "SEC_OFF")
@@ -142,6 +137,19 @@ if (SECURITY_OPTION)
endif()
endif()
+set(objcopy "objcopy")
+if (OS_TYPE_OPTION)
+ if (${OS_TYPE_OPTION} STREQUAL "QNX")
+ message(STATUS "Jenkins integration: set build process for QNX")
+ #do not use include after project() command.
+ #Such usecase results in infinite cycle of reinitialization of compiler and other variables
+ INCLUDE("./qnx_6.5.0_linux_x86.cmake")
+ set(objcopy "nto${ARCH_TYPE_OPTION}-objcopy")
+ #tests are not supported yet for QNX build
+ set (BUILD_TESTS OFF)
+ endif()
+endif()
+
#Jenkins integration section end
add_custom_target(pasa-tarball
@@ -406,23 +414,23 @@ if(ENABLE_LOG)
else()
if(FORCE_3RD_PARTY_LOGGER)
message(STATUS "Force to rebuild logger.")
-
+
#build logger
add_custom_target(3rd_party_logger
- make
+ 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\;
+ 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}
@@ -430,74 +438,74 @@ if(ENABLE_LOG)
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}'\)\;
+ 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\)\;
+ 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\;
- 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\;
+ 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}'\)\;
+ 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\)\;
+ 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
+ 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
+ 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
+ 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
+ sudo -k \;
+ sudo make install\;
+ else
cd ${3RD_PARTY_BINARY_DIRECTORY}\;
- make install\;
+ 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()
endif()
@@ -508,23 +516,23 @@ if (HMIADAPTER STREQUAL "dbus")
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\;
+ 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}
@@ -532,72 +540,72 @@ if (HMIADAPTER STREQUAL "dbus")
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}'\)\;
+ 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\)\;
+ 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\;
- 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\;
+ 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}'\)\;
+ 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\)\;
+ 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
+ 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
+ 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
+ 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
+ sudo -k \;
+ sudo make install\;
+ else
cd ${3RD_PARTY_BINARY_DIRECTORY}\;
- make install\;
- fi\;
+ make install\;
+ fi\;
fi\"
DEPENDS 3rd_party_dbus
WORKING_DIRECTORY ${3RD_PARTY_BINARY_DIRECTORY}
)
endif()
-
+
set (install-3rd_party_dbus_var "install-3rd_party_dbus")
endif()
endif()
@@ -662,8 +670,8 @@ if(BUILD_TESTS)
include(Dart)
#add_subdirectory(./test)
endif()
-
-# Building documentation
+
+# Building documentation
# At first creating directory for generated documentation. Unfortunately doxygen
# cannot generate it byself