diff options
author | Sergey Levchenko (GitHub) <slevchenko.work@gmail.com> | 2016-09-16 12:30:14 +0300 |
---|---|---|
committer | Sergey Levchenko (GitHub) <slevchenko.work@gmail.com> | 2016-11-10 14:38:47 +0200 |
commit | 07598ade93708c0a0f14171eb41b55bc66d70044 (patch) | |
tree | 5ee49e804e642f56f94dcd2b301913b68e137b3f | |
parent | 927de4c1c94daf9b8e4c440958b80acaf63ec8f4 (diff) | |
download | sdl_core-07598ade93708c0a0f14171eb41b55bc66d70044.tar.gz |
Apply single compilation unit builds for commands_test
Single compilation unit builds
has been applied for am_commands_test
target, to reduce compilation time.
Related to: APPLINK-29754
-rw-r--r-- | CMakeLists.txt | 2 | ||||
-rw-r--r-- | cmake/Modules/sources.cmake (renamed from src/components/application_manager/test/commands/hmi/CMakeLists.txt) | 48 | ||||
-rw-r--r-- | src/components/application_manager/test/commands/CMakeLists.txt | 34 | ||||
-rw-r--r-- | src/components/application_manager/test/commands/mobile/CMakeLists.txt | 79 |
4 files changed, 39 insertions, 124 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 9b2b200d20..7a802e3ac3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -49,7 +49,7 @@ option(ENABLE_SANITIZE "Sanitize tool" OFF) option(ENABLE_SECURITY "Security Ford protocol protection" ON) option(ENABLE_HMI_PTU_DECRYPTION "Policy table update parsed by hmi" ON) option(ENABLE_EXTENDED_POLICY "Turns extended flow which requires embedded system interaction" ON) - +option(USE_COTIRE "Use Cotire to speed up build (currently only for commands tests)" ON) set(OS_TYPE_OPTION "$ENV{OS_TYPE}") set(DEBUG_OPTION "$ENV{DEBUG}") set(HMI_TYPE_OPTION "$ENV{HMI_TYPE}") diff --git a/src/components/application_manager/test/commands/hmi/CMakeLists.txt b/cmake/Modules/sources.cmake index d99e211bdc..1414a33809 100644 --- a/src/components/application_manager/test/commands/hmi/CMakeLists.txt +++ b/cmake/Modules/sources.cmake @@ -28,32 +28,24 @@ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. -include_directories( - ${GMOCK_INCLUDE_DIRECTORY} - ${COMPONENTS_DIR}/application_manager/include/application_manager/ - ${COMPONENTS_DIR}/application_manager/include/application_manager/commands/ - ${COMPONENTS_DIR}/application_manager/test/include/ - ${COMPONENTS_DIR}/application_manager/test/include/application_manager/commands/ -) - -file(GLOB SOURCES - ${AM_SOURCE_DIR}/src/smart_object_keys.cc - ${AM_SOURCE_DIR}/test/mock_message_helper.cc - ${COMMANDS_TEST_SOURCE_DIR}/hmi/* - ${COMMANDS_TEST_SOURCE_DIR}/hmi/vi_is_ready_request_test.cc - ${COMMANDS_TEST_SOURCE_DIR}/hmi/vr_is_ready_request_test.cc - ${COMMANDS_TEST_SOURCE_DIR}/hmi/ui_is_ready_request_test.cc +function(create_cotired_test NAME SOURCES LIBS) + add_executable( + ${NAME} + EXCLUDE_FROM_ALL + ${CMAKE_SOURCE_DIR}/src/components/test_main.cc + ${SOURCES} ) - -set(LIBRARIES - gmock - jsoncpp - Utils - ApplicationManager - connectionHandler - HMI_API - MOBILE_API - SmartObjects -) - -create_test("hmi_commands_test" "${SOURCES}" "${LIBRARIES}" ) + if(${USE_COTIRE}) + include(cotire) + cotire(${NAME}) + set(NAME "${NAME}_unity") + endif() + target_link_libraries(${NAME} ${LIBS}) + set_target_properties( + ${NAME} + PROPERTIES + EXCLUDE_FROM_ALL 0 + ) + add_test(NAME ${NAME} + COMMAND ${NAME} --gtest_output=xml:${CMAKE_BINARY_DIR}/test_results/) +endfunction() diff --git a/src/components/application_manager/test/commands/CMakeLists.txt b/src/components/application_manager/test/commands/CMakeLists.txt index ebcb1b5086..068823fcfa 100644 --- a/src/components/application_manager/test/commands/CMakeLists.txt +++ b/src/components/application_manager/test/commands/CMakeLists.txt @@ -28,36 +28,38 @@ # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. +include(sources) + include_directories( ${GMOCK_INCLUDE_DIRECTORY} ${COMPONENTS_DIR}/application_manager/include/ + ${COMPONENTS_DIR}/application_manager/include/application_manager/ + ${COMPONENTS_DIR}/application_manager/include/application_manager/commands/ ${COMPONENTS_DIR}/application_manager/test/include/ - ${COMPONENTS_DIR}/application_manager/test/include/commands/ + ${COMPONENTS_DIR}/application_manager/test/include/application_manager/ ) -set(COMMANDS_TEST_SOURCE_DIR - ${COMPONENTS_DIR}/application_manager/test/commands -) +set(COMMANDS_TEST_DIR ${AM_TEST_DIR}/commands) -set (SOURCES +file(GLOB SOURCES ${COMPONENTS_DIR}/application_manager/test/mock_message_helper.cc - ${COMMANDS_TEST_SOURCE_DIR}/command_impl_test.cc - ${COMMANDS_TEST_SOURCE_DIR}/command_response_impl_test.cc - ${COMMANDS_TEST_SOURCE_DIR}/command_request_impl_test.cc + ${COMPONENTS_DIR}/application_manager/src/smart_object_keys.cc + ${COMMANDS_TEST_DIR}/* + ${COMMANDS_TEST_DIR}/mobile/* + ${COMMANDS_TEST_DIR}/hmi/* ) set(LIBRARIES gmock Utils - ApplicationManager - connectionHandler - HMI_API - MOBILE_API SmartObjects jsoncpp + HMI_API + MOBILE_API + ApplicationManager + AMHMICommandsLibrary + AMMobileCommandsLibrary + connectionHandler ) -create_test("commands_test" "${SOURCES}" "${LIBRARIES}" ) - -add_subdirectory(mobile) -add_subdirectory(hmi) +create_cotired_test("commands_test" "${SOURCES}" "${LIBRARIES}" ) diff --git a/src/components/application_manager/test/commands/mobile/CMakeLists.txt b/src/components/application_manager/test/commands/mobile/CMakeLists.txt deleted file mode 100644 index 387e4685ba..0000000000 --- a/src/components/application_manager/test/commands/mobile/CMakeLists.txt +++ /dev/null @@ -1,79 +0,0 @@ -# Copyright (c) 2016, Ford Motor Company -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# -# Redistributions of source code must retain the above copyright notice, this -# list of conditions and the following disclaimer. -# -# Redistributions in binary form must reproduce the above copyright notice, -# this list of conditions and the following -# disclaimer in the documentation and/or other materials provided with the -# distribution. -# -# Neither the name of the Ford Motor Company nor the names of its contributors -# may be used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE -# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. - -include_directories( - ${GMOCK_INCLUDE_DIRECTORY} - ${COMPONENTS_DIR}/application_manager/include/application_manager/ - ${COMPONENTS_DIR}/application_manager/include/application_manager/commands/ - ${COMPONENTS_DIR}/application_manager/test/include/ - ${COMPONENTS_DIR}/application_manager/test/include/application_manager/commands/ -) - -set (SOURCES - ${AM_SOURCE_DIR}/src/smart_object_keys.cc - ${AM_SOURCE_DIR}/test/mock_message_helper.cc - ${COMMANDS_TEST_SOURCE_DIR}/mobile/delete_command_request_test.cc - ${COMMANDS_TEST_SOURCE_DIR}/mobile/add_command_request_test.cc - ${COMMANDS_TEST_SOURCE_DIR}/mobile/perform_interaction_test.cc - ${COMMANDS_TEST_SOURCE_DIR}/mobile/change_registration_test.cc - ${COMMANDS_TEST_SOURCE_DIR}/mobile/create_interaction_choice_set_test.cc - ${COMMANDS_TEST_SOURCE_DIR}/mobile/register_app_interface_request_test.cc - ${COMMANDS_TEST_SOURCE_DIR}/mobile/speak_request_test.cc - ${COMMANDS_TEST_SOURCE_DIR}/mobile/alert_maneuver_request_test.cc - ${COMMANDS_TEST_SOURCE_DIR}/mobile/show_test.cc - ${COMMANDS_TEST_SOURCE_DIR}/mobile/alert_request_test.cc - ${COMMANDS_TEST_SOURCE_DIR}/mobile/add_sub_menu_request_test.cc - ${COMMANDS_TEST_SOURCE_DIR}/mobile/delete_sub_menu_test.cc - ${COMMANDS_TEST_SOURCE_DIR}/mobile/delete_file_test.cc - ${COMMANDS_TEST_SOURCE_DIR}/mobile/set_media_clock_timer_test.cc - ${COMMANDS_TEST_SOURCE_DIR}/mobile/set_global_properties_test.cc - ${COMMANDS_TEST_SOURCE_DIR}/mobile/set_app_icon_test.cc - ${COMMANDS_TEST_SOURCE_DIR}/mobile/set_display_layout_test.cc - ${COMMANDS_TEST_SOURCE_DIR}/mobile/slider_test.cc - ${COMMANDS_TEST_SOURCE_DIR}/mobile/scrollable_message_test.cc - ${COMMANDS_TEST_SOURCE_DIR}/mobile/perform_audio_pass_thru_test.cc - ${COMMANDS_TEST_SOURCE_DIR}/mobile/end_audio_pass_thru_request_test.cc - ${COMMANDS_TEST_SOURCE_DIR}/mobile/list_files_request_test.cc - ${COMMANDS_TEST_SOURCE_DIR}/mobile/put_file_test.cc - ${COMMANDS_TEST_SOURCE_DIR}/mobile/subscribe_button_request_test.cc -) - -set(LIBRARIES - gmock - jsoncpp - Utils - ApplicationManager - connectionHandler - HMI_API - MOBILE_API - SmartObjects -) - -create_test("mobile_commands_test" "${SOURCES}" "${LIBRARIES}" ) |