CMakeLists.txt 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. cmake_minimum_required(VERSION 2.6)
  2. PROJECT(opkg C)
  3. INCLUDE(TestBigEndian)
  4. SET(HOST_CPU "" CACHE STRING "Override Host CPU")
  5. SET(BUILD_CPU "" CACHE STRING "Override Host CPU")
  6. SET(LOCK_FILE "/var/lock/opkg.lock" CACHE STRING "Override lock file path")
  7. SET(PATH_SPEC "/usr/sbin:/usr/bin:/sbin:/bin" CACHE STRING "Override default PATH value")
  8. SET(VERSION "" CACHE STRING "Override version")
  9. OPTION(STATIC_UBOX "Statically link libubox" OFF)
  10. OPTION(BUILD_TESTS "Build test programs" ON)
  11. OPTION(ENABLE_USIGN "Enable usign support" ON)
  12. IF(NOT HOST_CPU)
  13. SET(HOST_CPU "${CMAKE_HOST_SYSTEM_PROCESSOR}")
  14. ENDIF()
  15. IF(NOT BUILD_CPU)
  16. SET(BUILD_CPU "${CMAKE_SYSTEM_PROCESSOR}")
  17. ENDIF()
  18. IF(NOT VERSION)
  19. EXECUTE_PROCESS(COMMAND git log -1 "--format=%h (%ci)"
  20. OUTPUT_VARIABLE VERSION
  21. OUTPUT_STRIP_TRAILING_WHITESPACE
  22. )
  23. ENDIF()
  24. IF(NOT VERSION)
  25. SET(VERSION "unknown")
  26. ENDIF()
  27. TEST_BIG_ENDIAN(WORDS_BIGENDIAN)
  28. ADD_DEFINITIONS(-Os -Wall --std=gnu99 -g3 -Wmissing-declarations
  29. -DDATADIR="/usr/share"
  30. -DOPKGETCDIR="/etc"
  31. -DOPKGLOCKFILE="${LOCK_FILE}"
  32. -DOPKGLIBDIR="/usr/lib"
  33. -DHOST_CPU_STR="${HOST_CPU}"
  34. -DBUILD_CPU=${BUILD_CPU}
  35. -DPATH_SPEC="${PATH_SPEC}"
  36. -DVERSION="${VERSION}"
  37. )
  38. IF(ENABLE_USIGN)
  39. ADD_DEFINITIONS(-DHAVE_USIGN)
  40. ENDIF()
  41. IF(WORDS_BIGENDIAN)
  42. ADD_DEFINITIONS(-DWORDS_BIGENDIAN)
  43. ENDIF()
  44. ADD_SUBDIRECTORY(libbb)
  45. ADD_SUBDIRECTORY(libopkg)
  46. ADD_SUBDIRECTORY(src)
  47. IF(BUILD_TESTS)
  48. ADD_SUBDIRECTORY(tests)
  49. ENDIF()