55 lines
1.1 KiB
CMake
55 lines
1.1 KiB
CMake
cmake_minimum_required(VERSION 3.16)
|
|
|
|
project(GpioModuleTest LANGUAGES CXX)
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
|
|
|
find_package(Threads REQUIRED)
|
|
|
|
set(GPIO_MODULE_ROOT
|
|
"${CMAKE_CURRENT_LIST_DIR}/../../Module/GpioModule")
|
|
set(GPIO_MODULE_HEADER
|
|
"${GPIO_MODULE_ROOT}/Inc/GpioInput.h")
|
|
set(GPIO_MODULE_SOURCE
|
|
"${GPIO_MODULE_ROOT}/Src/GpioInput.cpp")
|
|
|
|
if(NOT EXISTS "${GPIO_MODULE_HEADER}" OR
|
|
NOT EXISTS "${GPIO_MODULE_SOURCE}")
|
|
message(FATAL_ERROR
|
|
"Module/GpioModule sources were not found under ${GPIO_MODULE_ROOT}")
|
|
endif()
|
|
|
|
add_library(GpioModuleForTest STATIC
|
|
"${GPIO_MODULE_HEADER}"
|
|
"${GPIO_MODULE_SOURCE}"
|
|
)
|
|
|
|
target_include_directories(GpioModuleForTest
|
|
PUBLIC
|
|
"${GPIO_MODULE_ROOT}/Inc"
|
|
)
|
|
|
|
target_link_libraries(GpioModuleForTest
|
|
PUBLIC
|
|
Threads::Threads
|
|
)
|
|
|
|
add_executable(GpioModuleTest
|
|
main.cpp
|
|
)
|
|
|
|
target_link_libraries(GpioModuleTest
|
|
PRIVATE
|
|
GpioModuleForTest
|
|
)
|
|
|
|
set_target_properties(GpioModuleTest PROPERTIES
|
|
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
|
|
)
|
|
|
|
install(TARGETS GpioModuleTest
|
|
RUNTIME DESTINATION bin
|
|
)
|