add_library(queue_index SHARED queue_index.cpp ) target_include_directories(queue_index PUBLIC $ $ ) target_link_libraries(queue_index PRIVATE Threads::Threads ) # Require C++20 target_compile_features(queue_index PUBLIC cxx_std_20) # Set library properties set_target_properties(queue_index PROPERTIES VERSION ${PROJECT_VERSION} SOVERSION ${PROJECT_VERSION_MAJOR} PUBLIC_HEADER "queue_index.h" LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/ ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} ) # Install install(TARGETS queue_index LIBRARY DESTINATION lib ARCHIVE DESTINATION lib PUBLIC_HEADER DESTINATION include/fetchml )