50 lines
1.5 KiB
CMake
50 lines
1.5 KiB
CMake
# xo-indentlog/CMakeLists.txt
|
|
|
|
cmake_minimum_required(VERSION 3.10)
|
|
|
|
project(indentlog VERSION 1.0)
|
|
|
|
include(GNUInstallDirs)
|
|
include(cmake/xo-bootstrap-macros.cmake)
|
|
|
|
xo_cxx_toplevel_options3()
|
|
|
|
# ----------------------------------------------------------------
|
|
# c++ settings
|
|
|
|
# one-time project-specific c++ flags. usually empty
|
|
#set(PROJECT_CXX_FLAGS "-Wstringop-overread")
|
|
#set(PROJECT_CXX_FLAGS "-fconcepts-diagnostics-depth=2")
|
|
add_definitions(${PROJECT_CXX_FLAGS})
|
|
|
|
# ----------------------------------------------------------------
|
|
|
|
add_subdirectory(example)
|
|
add_subdirectory(utest)
|
|
|
|
# header-only library.
|
|
# see [[https://stackoverflow.com/questions/47718485/install-and-export-interface-only-library-cmake]]
|
|
#
|
|
set(SELF_LIB indentlog)
|
|
xo_add_headeronly_library(${SELF_LIB})
|
|
xo_install_library4(${SELF_LIB} ${PROJECT_NAME}Targets)
|
|
|
|
xo_export_cmake_config(${PROJECT_NAME} ${PROJECT_VERSION} ${PROJECT_NAME}Targets)
|
|
|
|
# ----------------------------------------------------------------
|
|
|
|
if (XO_ENABLE_EXAMPLES)
|
|
install(TARGETS hello DESTINATION bin/indentlog/example)
|
|
install(TARGETS indentlog_ex1 DESTINATION bin/indentlog/example)
|
|
install(TARGETS indentlog_ex2 DESTINATION bin/indentlog/example)
|
|
install(TARGETS indentlog_ex3 DESTINATION bin/indentlog/example)
|
|
install(TARGETS indentlog_ex4 DESTINATION bin/indentlog/example)
|
|
endif()
|
|
|
|
# ----------------------------------------------------------------
|
|
# docs targets depends on other library/utest/exec targets,
|
|
# must come after them
|
|
#
|
|
add_subdirectory(docs)
|
|
|
|
# end CMakeLists.txt
|