project(chunkfs
	LANGUAGES C
	)

cmake_minimum_required(VERSION 3.0)

set(VERSION 0.8)
add_definitions(-DVERSION="${VERSION}")
set(CMAKE_CXX_FLAGS "-O3 -Wall -Wextra -Wshadow -Wconversion -Wcast-qual -Wformat=2 ${CMAKE_CXX_FLAGS}")

include(GNUInstallDirs)
mark_as_advanced(CLEAR
    CMAKE_INSTALL_BINDIR
    CMAKE_INSTALL_DOCDIR
    CMAKE_INSTALL_MANDIR
	)

add_executable(chunkfs
    chunkfs.c
	utils.c
	)

target_link_libraries(chunkfs fuse)

add_executable(unchunkfs
    unchunkfs.c
	utils.c
	)

target_link_libraries(unchunkfs fuse)

add_custom_target(manpage ALL)

add_custom_command(TARGET manpage
    COMMAND pod2man -c '' -n CHUNKFS -r 'ChunkFS ${VERSION}' -s 1 ${CMAKE_SOURCE_DIR}/manpage.pod chunkfs.1
	)

execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink  chunkfs.1 unchunkfs.1
                WORKING_DIRECTORY ${CMAKE_BINARY_DIR})

install(TARGETS chunkfs unchunkfs
    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
	)

install(FILES ${CMAKE_BINARY_DIR}/chunkfs.1 ${CMAKE_BINARY_DIR}/unchunkfs.1

    DESTINATION ${CMAKE_INSTALL_MANDIR}/man1
	)

install(FILES ${CMAKE_SOURCE_DIR}/writeoverlay.sh
    DESTINATION ${CMAKE_INSTALL_DOCDIR}/examples
	)
