-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
43 lines (34 loc) · 1.44 KB
/
CMakeLists.txt
File metadata and controls
43 lines (34 loc) · 1.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
cmake_minimum_required(VERSION 3.1)
project(PodEmbedded VERSION 1.0
DESCRIPTION "Pod embedded")
# Setup coverage flags
if(CMAKE_COMPILER_IS_GNUCXX)
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/CMakeFiles/modules)
include(CodeCoverage)
append_coverage_compiler_flags()
endif()
# Run Autocoder when CMake is run
execute_process(COMMAND python ${PROJECT_SOURCE_DIR}/autocoding/autocode.py)
# Autocoder target
add_custom_target(autocoder COMMAND python ${PROJECT_SOURCE_DIR}/autocoding/autocode.py)
#put binaries in out/
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/out/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/out/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/out)
set(CMAKE_CXX_STANDARD 11)
# Add cmake projects from subdirectories
add_subdirectory(embedded/app)
add_subdirectory(embedded/data)
add_subdirectory(embedded/drivers)
add_subdirectory(embedded/examples)
add_subdirectory(embedded/peripherals)
add_subdirectory(embedded/utils)
add_subdirectory(middleware)
# Do not compile tests when cross-compiling until we determine best way to include cross compiled GTest libs
# Cross-compiled system name is "BeagleBone"
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
add_subdirectory(Test)
setup_target_for_coverage_gcovr_html(NAME pod_coverage
EXECUTABLE ${PROJECT_SOURCE_DIR}/out/run_all_tests
)
endif()