34 lines
944 B
CMake
34 lines
944 B
CMake
cmake_minimum_required(VERSION 3.8..3.22)
|
|
|
|
project(minitar LANGUAGES C VERSION 1.5.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)
|
|
|
|
add_subdirectory(examples) |