cmake_minimum_required(VERSION 3.8..3.22) project(minitar LANGUAGES C VERSION 1.3.0) option(MINITAR_IGNORE_UNSUPPORTED_TYPES "Skip past entries that have unsupported types instead of panicking" OFF) set(SOURCES src/tar.c src/util.c ) add_library(minitar STATIC ${SOURCES}) if(MINITAR_IGNORE_UNSUPPORTED_TYPES) target_compile_definitions(minitar PRIVATE MINITAR_IGNORE_UNSUPPORTED_TYPES) endif() target_include_directories(minitar PUBLIC ${CMAKE_CURRENT_LIST_DIR}) # for minitar.h set_target_properties(minitar PROPERTIES OUTPUT_NAME mtar) set_target_properties(minitar PROPERTIES C_STANDARD 11) set_target_properties(minitar PROPERTIES C_STANDARD_REQUIRED ON) if (MSVC) target_compile_options(minitar PRIVATE /W4 /WX) else() target_compile_options(minitar PRIVATE -Wall -Wextra -pedantic -Werror) endif() install(TARGETS minitar DESTINATION lib) install(FILES minitar.h DESTINATION include)