blob: 9d7e9213f2f36b62cc6627455d9290834abd6572 [file] [log] [blame]
############################################################################
# apps/benchmarks/rt-tests/CMakeLists.txt
#
# SPDX-License-Identifier: Apache-2.0
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership. The
# ASF licenses this file to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance with the
# License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
############################################################################
if(CONFIG_BENCHMARK_RTTESTS)
if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/rt-tests/.git)
set(RTTESTS_URL
"https://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git")
set(RTTESTS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/rt-tests)
execute_process(
COMMAND git clone ${RTTESTS_URL} ${RTTESTS_DIR}
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
RESULT_VARIABLE GIT_CLONE_RESULT)
if(NOT ${GIT_CLONE_RESULT} EQUAL 0)
message(FATAL_ERROR "Failed to clone rt-tests repository")
endif()
execute_process(
COMMAND cd ${RTTESTS_DIR} && git checkout -q ${RTTESTS_VERSION} && patch
-p1 < ../0001-rt-tests-cyclictest-Port-for-NuttX.patch
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
add_custom_target(distclean COMMAND ${CMAKE_COMMAND} -E remove_directory
${RTTESTS_DIR})
endif()
list(
APPEND
SRCS
rt-tests/src/cyclictest/cyclictest.c
rt-tests/src/lib/rt-error.c
rt-tests/src/lib/histogram.c
rt-tests/src/lib/rt-utils.c
rt-tests/src/lib/rt-numa.c)
list(
APPEND
CFLAGS
-Irt-tests/src/include
-I.
-DVERSION=0.1
-DSYS_gettid=0
-Dgettid=rttest_gettid
-D'syscall
(x)
=
((pid_t) (x))
'
-w
-DRTTESTS_PRIORITY=${CONFIG_BENCHMARK_RTTESTS_PRIORITY}+1)
nuttx_add_application(
NAME
cyclictest
PRIORITY
${CONFIG_BENCHMARK_RTTESTS_PRIORITY}
STACKSIZE
${CONFIG_BENCHMARK_RTTESTS_STACKSIZE}
MODULE
${CONFIG_BENCHMARK_RTTESTS}
COMPILE_FLAGS
${CFLAGS}
SRCS
${SRCS})
endif()