53 lines
1.1 KiB
CMake
53 lines
1.1 KiB
CMake
cmake_minimum_required(VERSION 3.8 FATAL_ERROR)
|
|
|
|
set(SKULLC_VERSION 0.1.0)
|
|
|
|
project(skullc
|
|
VERSION ${SKULLC_VERSION}
|
|
LANGUAGES
|
|
C
|
|
CXX
|
|
)
|
|
|
|
#list(APPEND CMAKE_MODULE_PATH ${CMAKE_BINARY_DIR})
|
|
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/)
|
|
|
|
option(SKULLC_WITH_TESTS "Enable unit testing." OFF)
|
|
option(SKULLC_WITH_HAL "Enable the compiling and deployment of the HAL dependent sections." OFF)
|
|
option(SKULLC_WITH_DOCS "Enable documentation building." OFF)
|
|
|
|
include(skullc-install)
|
|
|
|
add_subdirectory(Peripherals)
|
|
add_subdirectory(Utility)
|
|
add_subdirectory(Messaging)
|
|
|
|
if(SKULLC_WITH_TESTS)
|
|
enable_testing()
|
|
add_subdirectory(Tests)
|
|
endif()
|
|
|
|
if(SKULLC_WITH_DOCS)
|
|
add_subdirectory(Docs)
|
|
endif()
|
|
|
|
## Install
|
|
|
|
configure_file(skullc-config.cmake
|
|
"${CMAKE_BINARY_DIR}/skullc-config.cmake"
|
|
@ONLY
|
|
)
|
|
|
|
include(CMakePackageConfigHelpers)
|
|
write_basic_package_version_file(
|
|
"${CMAKE_BINARY_DIR}/skullc-config-version.cmake"
|
|
VERSION ${version}
|
|
COMPATIBILITY AnyNewerVersion
|
|
)
|
|
|
|
install(
|
|
FILES
|
|
"${CMAKE_BINARY_DIR}/skullc-config.cmake"
|
|
DESTINATION lib/cmake/skullc
|
|
)
|