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