54 lines
1.4 KiB
CMake
54 lines
1.4 KiB
CMake
cmake_minimum_required(VERSION 2.6)
|
|
project(LIBPLATFORMINFO C)
|
|
|
|
set(LIBDIR "lib${LIB_SUFFIX}")
|
|
|
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
|
|
|
|
set(TARGET "" CACHE STRING "OpenWrt target")
|
|
set(SUBTARGET "" CACHE STRING "OpenWrt subtarget")
|
|
set(CUSTOM OFF CACHE BOOL "Use custom file definitions")
|
|
|
|
add_definitions(-DTARGET=${TARGET})
|
|
|
|
if(SUBTARGET)
|
|
set(FULL_TARGET "${TARGET}-${SUBTARGET}")
|
|
|
|
add_definitions(-DSUBTARGET=${SUBTARGET} -DTARGET_${TARGET}_${SUBTARGET})
|
|
else(SUBTARGET)
|
|
set(FULL_TARGET "${TARGET}")
|
|
|
|
add_definitions(-DTARGET_${TARGET})
|
|
endif(SUBTARGET)
|
|
|
|
if(CUSTOM)
|
|
set(TARGET_SOURCE "targets/custom.c")
|
|
add_definitions(-DBOARD_NAME=\"${BOARD_NAME}\")
|
|
add_definitions(-DMODEL=\"${MODEL}\")
|
|
add_definitions(-DIMAGE_NAME=\"${IMAGE_NAME}\")
|
|
else(CUSTOM)
|
|
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/targets/${FULL_TARGET}.c")
|
|
set(TARGET_SOURCE "targets/${FULL_TARGET}.c")
|
|
elseif(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/targets/${TARGET}.c")
|
|
set(TARGET_SOURCE "targets/${TARGET}.c")
|
|
else()
|
|
set(TARGET_SOURCE "targets/default.c")
|
|
endif()
|
|
endif(CUSTOM)
|
|
|
|
|
|
add_library(platforminfo SHARED
|
|
common.c
|
|
${TARGET_SOURCE}
|
|
)
|
|
set_target_properties(platforminfo PROPERTIES
|
|
COMPILE_FLAGS "-Wall -std=c99 -D_GNU_SOURCE"
|
|
)
|
|
install(TARGETS platforminfo
|
|
ARCHIVE DESTINATION ${LIBDIR}
|
|
LIBRARY DESTINATION ${LIBDIR}
|
|
)
|
|
|
|
|
|
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/libplatforminfo.h DESTINATION include)
|