Skip to content

Commit

Permalink
Updating Hello World example CMakeLists (#752)
Browse files Browse the repository at this point in the history
* Updating Hello World example CMakeLists

* corrections from suggested changes

---------

Co-authored-by: Duarte Fonseca <[email protected]>
  • Loading branch information
duartenfonseca and Duarte Fonseca authored Aug 22, 2024
1 parent 0c0815a commit 48bc6b8
Showing 1 changed file with 24 additions and 23 deletions.
47 changes: 24 additions & 23 deletions examples/hello_world/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,33 +3,37 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

cmake_minimum_required (VERSION 2.8.7)
cmake_minimum_required (VERSION 3.13)
project (vSomeIPHelloWorld)

find_package(Threads REQUIRED)

set(VSOMEIP_NAME "vsomeip3")

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
# create_target("executable")
function(create_target executable)
add_library(vsomeip_hello_world_${executable} INTERFACE)
target_sources(vsomeip_hello_world_${executable} INTERFACE
"${CMAKE_CURRENT_SOURCE_DIR}/hello_world_${executable}.hpp"
)
target_compile_features(vsomeip_hello_world_${executable} INTERFACE cxx_std_17)

target_include_directories(vsomeip_hello_world_${executable} INTERFACE
${CMAKE_CURRENT_SOURCE_DIR}
)
endfunction()

# link_target("executable")
function(link_target executable)
add_executable(hello_world_${executable})
target_sources(hello_world_${executable} PRIVATE hello_world_${executable}_main.cpp)
target_link_libraries(hello_world_${executable} PRIVATE vsomeip_hello_world_${executable} vsomeip3 Threads::Threads)
endfunction()

include_directories(${VSOMEIP_INCLUDE_DIRS})

add_library(vsomeip_hello_world_service INTERFACE)
target_sources(vsomeip_hello_world_service INTERFACE
"${CMAKE_CURRENT_SOURCE_DIR}/hello_world_service.hpp"
)
target_include_directories(vsomeip_hello_world_service INTERFACE
"${CMAKE_CURRENT_SOURCE_DIR}"
)

add_library(vsomeip_hello_world_client INTERFACE)
target_sources(vsomeip_hello_world_client INTERFACE
"${CMAKE_CURRENT_SOURCE_DIR}/hello_world_client.hpp"
)

target_include_directories(vsomeip_hello_world_client INTERFACE
"${CMAKE_CURRENT_SOURCE_DIR}"
)
create_target("service")
create_target("client")

if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "Android")
# This will get us acces to
Expand All @@ -40,9 +44,6 @@ if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "Android")
message("${VSOMEIP_NAME} was not found. Please specify vsomeip_DIR")
endif()

add_executable (hello_world_service hello_world_service_main.cpp)
target_link_libraries(hello_world_service vsomeip_hello_world_service ${VSOMEIP_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})

add_executable (hello_world_client hello_world_client_main.cpp)
target_link_libraries(hello_world_client vsomeip_hello_world_client ${VSOMEIP_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
link_target("client")
link_target("service")
endif()

0 comments on commit 48bc6b8

Please sign in to comment.