cmake_minimum_required(VERSION 3.20)
project(PIEX VERSION 0.27 LANGUAGES CXX)
include(GNUInstallDirs)
file(GLOB_RECURSE PIEX_SOURCES CONFIGURE_DEPENDS src/*.cc)
add_library(piex ${PIEX_SOURCES})
set_target_properties(piex PROPERTIES
  VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION})
target_compile_features(piex PUBLIC cxx_std_11)
target_include_directories(piex PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
install(TARGETS piex
  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
  ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(DIRECTORY src DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/piex
  FILES_MATCHING PATTERN "*.h")
configure_file(piex.pc.in piex.pc @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/piex.pc
  DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
include(CTest)
if(BUILD_TESTING)
  add_executable(piex-test piex-test.cc)
  target_link_libraries(piex-test PRIVATE piex)
  target_compile_options(piex-test PRIVATE -UNDEBUG)
  add_test(NAME public-api COMMAND piex-test)
endif()
