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