gluon-packages/libs/libplatforminfo/src/CMakeLists.txt

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)