1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
|
cmake_minimum_required ( VERSION 3.5 FATAL_ERROR )
project ( obexpushd NONE )
set ( VERSION_MAJOR 0 )
set ( VERSION_MINOR 11 )
set ( VERSION_PATCH 2 )
set ( VERSION "${VERSION_MAJOR}.${VERSION_MINOR}" )
if ( VERSION_PATCH GREATER 0 )
set ( VERSION "${VERSION}.${VERSION_PATCH}" )
endif ( VERSION_PATCH GREATER 0 )
list ( APPEND CMAKE_MODULE_PATH
${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules
)
enable_language ( C )
include ( MaintainerMode )
if ( CMAKE_COMPILER_IS_GNUCC )
set ( C_COMPILER_FLAGS
std=c99
)
foreach ( flag ${C_COMPILER_FLAGS} )
set ( cflag "-${flag}" )
set ( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${cflag}" )
foreach ( type DEBUG RELEASE MINSIZEREL RELWITHDEBINFO )
set ( CMAKE_C_FLAGS_${type} "${CMAKE_C_FLAGS_${type}} ${cflag}" )
endforeach ( type )
endforeach ( flag )
endif ( CMAKE_COMPILER_IS_GNUCC )
add_definitions ( -D_GNU_SOURCE )
if ( NOT CMAKE_BUILD_TYPE )
set ( CMAKE_BUILD_TYPE Release
CACHE STRING "Choice of a predefined CMake ruleset" FORCE )
endif ( NOT CMAKE_BUILD_TYPE )
if ( NOT MANPAGE_INSTALL_DIR )
set ( MANPAGE_INSTALL_DIR "share/man"
CACHE PATH "Where documentation files are copied to on installation" FORCE )
endif ( NOT MANPAGE_INSTALL_DIR )
if ( NOT DOCUMENTATION_INSTALL_DIR )
set ( DOCUMENTATION_INSTALL_DIR "share/doc/${PROJECT_NAME}"
CACHE PATH "Where documentation files are copied to on installation" FORCE )
endif ( NOT DOCUMENTATION_INSTALL_DIR )
add_subdirectory ( src )
add_subdirectory ( doc )
install (
FILES README LICENSE GPLv2.txt
DESTINATION "${DOCUMENTATION_INSTALL_DIR}"
PERMISSIONS OWNER_READ OWNER_WRITE
GROUP_READ
WORLD_READ
)
#
# Settings for CPack
#
set ( CPACK_PACKAGE_DESCRIPTION_SUMMARY "ObexPush Server" )
set ( CPACK_PACKAGE_VENDOR "Hendrik Sattler" )
set ( CPACK_PACKAGE_CONTACT "Hendrik Sattler <post@hendrik-sattler.de>" )
set ( CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README" )
set ( CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE" )
set ( CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/README" )
#setting only CPACK_PACKAGE_VERSION does not work (cmake-2.4.5)
set ( CPACK_PACKAGE_VERSION_MAJOR "${VERSION_MAJOR}" )
set ( CPACK_PACKAGE_VERSION_MINOR "${VERSION_MINOR}" )
set ( CPACK_PACKAGE_VERSION_PATCH "${VERSION_PATCH}" )
set ( CPACK_PACKAGE_VERSION "${VERSION}" )
#the compiler may have a better idea of what the target is
if ( CMAKE_COMPILER_IS_GNUCC )
execute_process (
COMMAND ${CMAKE_C_COMPILER} -dumpmachine
OUTPUT_VARIABLE CPACK_SYSTEM_NAME
)
string ( REGEX REPLACE "[\r\n]" "" CPACK_SYSTEM_NAME ${CPACK_SYSTEM_NAME} )
else ( CMAKE_COMPILER_IS_GNUCC )
set ( CPACK_SYSTEM_NAME "${CMAKE_SYSTEM_NAME}" )
endif ( CMAKE_COMPILER_IS_GNUCC )
set ( CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}-${CPACK_PACKAGE_VERSION}" )
#different cpack generators need different package names
set ( CPACK_SOURCE_PACKAGE_FILE_NAME "${CPACK_PACKAGE_FILE_NAME}-source" )
set ( CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_FILE_NAME}_${CPACK_SYSTEM_NAME}" )
if ( UNIX )
set ( CPACK_GENERATOR "TGZ" )
set ( CPACK_SOURCE_GENERATOR "TGZ" )
endif ( UNIX )
set ( CPACK_SOURCE_IGNORE_FILES
"~$"
"/\\\\.git/"
"/build/"
)
# this must _follow_ the settings!
include ( CPack )
|