CMakeLists.txt 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. cmake_minimum_required(VERSION 3.10)
  2. # Use cmake -DCMAKE_SYSTEM_NAME .. for cross-compiling (inside build directory)
  3. # Set the project name
  4. project(
  5. kamailio
  6. VERSION 6.0.2
  7. DESCRIPTION "Kamailio SIP Server"
  8. HOMEPAGE_URL "https://www.kamailio.org")
  9. # Set the version number
  10. set(EXTRAVERSION "-rc0")
  11. set(RELEASE "${PROJECT_VERSION}${EXTRAVERSION}")
  12. message(STATUS "PROJECT_VERSION: ${PROJECT_VERSION}")
  13. message(STATUS "RELEASE: ${RELEASE}")
  14. # cmake-format: off
  15. # Set the version number as a single integer
  16. math(EXPR VERSIONVAL
  17. "${PROJECT_VERSION_MAJOR}*1000000
  18. + ${PROJECT_VERSION_MINOR}*1000
  19. + ${PROJECT_VERSION_PATCH}"
  20. )
  21. message(STATUS "VERSIONVAL: ${VERSIONVAL}")
  22. # cmake-format: on
  23. # Specify the C standard if non provided by user
  24. if(NOT CMAKE_C_STANDARD)
  25. set(CMAKE_C_STANDARD 11)
  26. set(CMAKE_C_STANDARD_REQUIRED True)
  27. endif()
  28. list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules")
  29. include(${CMAKE_SOURCE_DIR}/cmake/BuildType.cmake)
  30. # -----------------------
  31. # Main project name
  32. # -----------------------
  33. # main binary name
  34. set(MAIN_NAME
  35. "kamailio"
  36. CACHE STRING "Main binary name")
  37. # use kamailio config
  38. set(CFG_NAME
  39. "kamailio"
  40. CACHE STRING "Config name")
  41. include(GNUInstallDirs)
  42. include(${CMAKE_SOURCE_DIR}/cmake/defs.cmake)
  43. # Add the source directory
  44. add_subdirectory(src)
  45. # Add utils
  46. # add_subdirectory(utils)
  47. add_subdirectory(utils/kamctl)
  48. add_subdirectory(utils/kamcmd)
  49. # TODO: Packaging stuuf. These should be on different file propably
  50. set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
  51. set(CPACK_PACKAGE_NAME kamailio)
  52. set(CPACK_GENERATOR DEB)
  53. set(CPACK_DEBIAN_PACKAGE_MAINTAINER "test")
  54. include(CPack)
  55. # Add uninstall target
  56. if(NOT TARGET uninstall)
  57. configure_file(
  58. "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake-uninstall.cmake.in"
  59. "${CMAKE_CURRENT_BINARY_DIR}/cmake/cmake-uninstall.cmake" IMMEDIATE @ONLY)
  60. add_custom_target(
  61. uninstall
  62. COMMAND ${CMAKE_COMMAND} -P
  63. ${CMAKE_CURRENT_BINARY_DIR}/cmake/cmake-uninstall.cmake
  64. COMMENT "Uninstalling")
  65. endif()