cmake_minimum_required(VERSION 3.5) project(baseencode) include(GNUInstallDirs) enable_testing() add_subdirectory(tests) set(BUILD_MAJOR "1") set(BUILD_MINOR "0") set(BUILD_VERSION "15") set(BUILD_VERSION ${BUILD_MAJOR}.${BUILD_MINOR}.${BUILD_VERSION}) set(CMAKE_C_STANDARD 11) set(BASEENCODE_HEADERS src/baseencode.h) set(SOURCE_FILES src/base32.c src/base64.c) # Removed on Debian in favor of flags set by debhelper #set(CMAKE_C_FLAGS "-Wall -Werror -fPIC") add_library(${PROJECT_NAME} SHARED ${SOURCE_FILES}) target_link_libraries(${PROJECT_NAME} ${PROJECT_LIBS}) set_target_properties(${PROJECT_NAME} PROPERTIES VERSION ${BUILD_VERSION} SOVERSION ${BUILD_MAJOR}) set(BASEENCODE_LIB_DIR "${CMAKE_INSTALL_LIBDIR}") set(BASEENCODE_INC_DIR "${CMAKE_INSTALL_INCLUDEDIR}") install( TARGETS ${PROJECT_NAME} ARCHIVE DESTINATION ${BASEENCODE_LIB_DIR} LIBRARY DESTINATION ${BASEENCODE_LIB_DIR} COMPONENT library ) install( FILES ${BASEENCODE_HEADERS} DESTINATION ${BASEENCODE_INC_DIR} ) # Allow adding prefix if CMAKE_INSTALL_INCLUDEDIR not absolute. if(IS_ABSOLUTE "${CMAKE_INSTALL_INCLUDEDIR}") set(PKGCONFIG_TARGET_INCLUDES "${CMAKE_INSTALL_INCLUDEDIR}") else() set(PKGCONFIG_TARGET_INCLUDES "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}") endif() # Allow adding prefix if CMAKE_INSTALL_LIBDIR not absolute. if(IS_ABSOLUTE "${CMAKE_INSTALL_LIBDIR}") set(PKGCONFIG_TARGET_LIBS "${CMAKE_INSTALL_LIBDIR}") else() set(PKGCONFIG_TARGET_LIBS "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}") endif() configure_file("baseencode.pc.in" "baseencode.pc" @ONLY) install(FILES "${CMAKE_CURRENT_BINARY_DIR}/baseencode.pc" DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig/)