duckhandy/CMakeLists.txt

53 lines
1.2 KiB
Text
Raw Permalink Normal View History

2018-10-13 00:22:37 +01:00
cmake_minimum_required(VERSION 3.8 FATAL_ERROR)
2020-05-05 01:50:37 +02:00
project(duckhandy VERSION 0.1.0)
2016-07-14 15:23:36 +01:00
list (APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules)
include(shared_git_project)
include(CTest)
find_package(Sprout REQUIRED)
set(DUCKHANDY_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
2020-05-05 01:50:37 +02:00
if (BUILD_TESTING)
set(BUILD_TESTS CACHE BOOL ON)
else()
set(BUILD_TESTS CACHE BOOL OFF)
endif()
2016-07-14 15:23:36 +01:00
add_library(${PROJECT_NAME} INTERFACE)
target_compile_features(${PROJECT_NAME}
INTERFACE cxx_nullptr
INTERFACE cxx_range_for
INTERFACE cxx_lambdas
INTERFACE cxx_decltype_auto
INTERFACE cxx_defaulted_functions
INTERFACE cxx_deleted_functions
INTERFACE cxx_auto_type
INTERFACE cxx_decltype_incomplete_return_types
INTERFACE cxx_noexcept
INTERFACE cxx_rvalue_references
2018-10-13 00:22:37 +01:00
INTERFACE cxx_std_17
2016-07-14 15:23:36 +01:00
)
target_include_directories(${PROJECT_NAME}
INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/include
)
target_include_directories(${PROJECT_NAME} SYSTEM
INTERFACE ${SPROUT_INCLUDE_DIRS}
)
target_compile_definitions(${PROJECT_NAME}
INTERFACE SPROUT_NO_CXX11_NUMERIC_LIMITS
INTERFACE SPROUT_USE_TEMPLATE_ALIASES
)
if (BUILD_TESTING)
add_subdirectory(test/unit)
endif()
2020-05-05 01:50:37 +02:00
install(
DIRECTORY include/duckhandy
DESTINATION include
)