X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=CMakeLists.txt;h=ef00f7c46f52182d896c6ccc32d5a1e2d5616f77;hb=refs%2Fheads%2Faccepted%2Ftizen_ivi;hp=dc6e3c57606d673b51bdfaeeef8d202198cbe9c2;hpb=f9553d977f9a369afa2cd7b417b0e1d329352dc1;p=profile%2Fivi%2Fsmartdevicelink.git diff --git a/CMakeLists.txt b/CMakeLists.txt index dc6e3c5..ef00f7c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,6 +28,10 @@ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. +cmake_minimum_required(VERSION 2.8.0) + +set (PROJECT smartDeviceLinkCore) + #Jenkins integration section #dont modify this section if you dont know details about integration with Jenkins!!! set (HMI "web" CACHE STRING "HMI type") @@ -35,13 +39,15 @@ option(HMI2 "Use Qt HMI" OFF) option(EXTENDED_MEDIA_MODE "Turn on and off extended Madia Manager features relates to PulseAudio A2DP and GStreamer" OFF) option(BUILD_SHARED_LIBS "Build all libraries as shared (if ON) or static (if OFF)" OFF) option(BUILD_BT_SUPPORT "Bluetooth support" ON) -option(BUILD_USB_SUPPORT "libusb support" OFF) -option(BUILD_AVAHI_SUPPORT "libavahi support" OFF) +option(BUILD_USB_SUPPORT "libusb support" ON) +option(BUILD_AVAHI_SUPPORT "libavahi support" ON) option(BUILD_RWLOCK_SUPPORT "rwlocks support" OFF) option(BUILD_BACKTRACE_SUPPORT "backtrace support" ON) -option(BUILD_TESTS "Possibility to build and run tests" ON) +option(BUILD_TESTS "Possibility to build and run tests" OFF) +option(TIME_TESTER "Enable profiling time test util" ON) option(BUILD_TESTS_WITH_HMI "Possibility to build and run HMI tests" OFF) option(ENABLE_LOG "Logging feature" ON) +option(ENABLE_GCOV "gcov code coverage feature" OFF) option(EXTENDED_POLICY_FLAG "Build with specific features and extended functionality" OFF) set(OS_TYPE_OPTION "$ENV{OS_TYPE}") @@ -50,10 +56,13 @@ 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_LOG_OPTION "$ENV{ENABLE_LOG}") 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") #tests are not supported yet for QNX build set (BUILD_TESTS OFF) @@ -83,7 +92,7 @@ endif() if (DEBUG_OPTION) if (${DEBUG_OPTION} STREQUAL "DBG_OFF") message(STATUS "Jenkins integration: build release version") - set (CMAKE_BUILD_TYPE Release) + set(CMAKE_BUILD_TYPE "Release" CACHE STRING "" FORCE) endif() endif() @@ -100,12 +109,15 @@ if (HMI_ADAPTER_OPTION) endif() endif() -#Jenkins integration section end - +if (ENABLE_LOG_OPTION) + if (${ENABLE_LOG_OPTION} STREQUAL "LOG_OFF") + message(STATUS "Jenkins integration: Log is turned off") + set (ENABLE_LOG OFF) + endif() +endif() -cmake_minimum_required(VERSION 2.8.0) +#Jenkins integration section end -set (PROJECT smartDeviceLinkCore) project (${PROJECT}) #ADD_DEPENDENCIES(${PROJECT} Policy) @@ -116,9 +128,18 @@ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/") # flag is handled by CMake set(CMAKE_INSTALL_PREFIX .) set(ARCHIVE_OUTPUT_DIRECTORY ./bin) -set(CMAKE_CXX_FLAGS "-fPIC -g3 -ggdb3 -std=gnu++0x -Werror=return-type -Wuninitialized --coverage") +set(CMAKE_CXX_FLAGS "-fPIC -g3 -ggdb3 -std=gnu++0x -Werror=return-type -Wuninitialized") +if (ENABLE_GCOV) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --coverage") + add_definitions(-DGCOV_ENABLED) +endif() set(CMAKE_CXX_FLAGS_RELEASE "-fPIC -s -O2") #It will be appended to CMAKE_CXX_FLAGS in release +add_definitions(-DSDL_LOG4CXX_PROPERTIES_FILE="/etc/smartdevicelink/log4cxx.properties") +add_definitions(-DSDL_HMI_LINK_FILE="/etc/smartdevicelink/hmi_link") +add_definitions(-DSDL_CONFIG_FILE="/etc/smartdevicelink/smartDeviceLink.ini") +add_definitions(-DSDL_HMI_BROWSER_PATH="/usr/bin/xwalk-launcher" -DSDL_HMI_BROWSER_ARG0="xwalk-launcher") + if (CMAKE_SYSTEM_NAME STREQUAL "Linux") add_definitions(-DOS_LINUX) elseif(CMAKE_SYSTEM_NAME STREQUAL "QNX") @@ -137,6 +158,13 @@ if (BUILD_BT_SUPPORT) add_definitions(-DBLUETOOTH_SUPPORT) endif() +if (BUILD_MME_SUPPORT) + add_definitions(-DMME_SUPPORT) + if (MME_MQ) + add_definitions(-DMME_MQ) + endif(MME_MQ) +endif(BUILD_MME_SUPPORT) + if (BUILD_AVAHI_SUPPORT) add_definitions(-DAVAHI_SUPPORT) # --- Check libavahi-common, libavahi-client availability @@ -151,10 +179,14 @@ if (BUILD_BACKTRACE_SUPPORT) add_definitions(-DBACKTRACE_SUPPORT) endif() -if (ENABLE_LOG) +if(ENABLE_LOG) add_definitions(-DENABLE_LOG) endif() +if (TIME_TESTER) + add_definitions(-DTIME_TESTER) +endif() + # TODO(AK): check current OS here add_definitions(-DOS_POSIX)