89 lines
2.2 KiB
CMake
89 lines
2.2 KiB
CMake
cmake_minimum_required(VERSION 3.10)
|
|
|
|
########################################################
|
|
project(irdecode)
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
|
|
|
IF (CMAKE_SYSTEM_NAME MATCHES "Linux")
|
|
MESSAGE("compile platform : Linux")
|
|
add_definitions(-DPLATFORM_LINUX)
|
|
ELSEIF (CMAKE_SYSTEM_NAME MATCHES "Windows")
|
|
MESSAGE("compile platform : win32")
|
|
add_definitions(-DPLATFORM_WIN32)
|
|
ELSE ()
|
|
MESSAGE("invalid compile platform")
|
|
add_definitions(-DPLATFORM_WIN32)
|
|
ENDIF ()
|
|
|
|
include_directories(
|
|
"src/include")
|
|
|
|
set(LIB_IRDECODE_SRC
|
|
src/ir_utils.c
|
|
src/ir_tv_control.c
|
|
src/ir_ac_apply.c
|
|
src/ir_ac_build_frame.c
|
|
src/ir_ac_parse_parameter.c
|
|
src/ir_ac_parse_forbidden_info.c
|
|
src/ir_ac_parse_frame_info.c
|
|
src/ir_ac_control.c
|
|
src/ir_ac_binary_parse.c
|
|
src/ir_decode.c
|
|
src/ir_decode_test.c)
|
|
|
|
set(LIB_JNI_SRC
|
|
src/ir_decode_jni.c)
|
|
|
|
set(BIN_TEST_SRC
|
|
src/ir_decode.c)
|
|
|
|
# SET(CMAKE_SYSTEM_NAME Linux)
|
|
|
|
## ARMv7hf cross compile
|
|
# SET(CMAKE_C_COMPILER "/usr/bin/arm-linux-gnueabihf-gcc")
|
|
# SET(CMAKE_CXX_COMPILER "/usr/bin/arm-linux-gnueabihf-g++")
|
|
# SET(CMAKE_FIND_ROOT_PATH "/usr/bin")
|
|
|
|
## ARMv7el cross compile
|
|
# SET(CMAKE_C_COMPILER "/usr/bin/arm-linux-gnueabi-gcc")
|
|
# SET(CMAKE_CXX_COMPILER "/usr/bin/arm-linux-gnueabi-g++")
|
|
# SET(CMAKE_FIND_ROOT_PATH "/usr/bin")
|
|
|
|
## ARM64 cross compile
|
|
# SET(CMAKE_C_COMPILER "/usr/bin/aarch64-linux-gnu-gcc")
|
|
# SET(CMAKE_CXX_COMPILER "/usr/bin/aarch64-linux-gnu-g++")
|
|
# SET(CMAKE_FIND_ROOT_PATH "/usr/bin")
|
|
|
|
add_library(irdecode SHARED
|
|
${LIB_IRDECODE_SRC})
|
|
|
|
target_compile_options(irdecode PRIVATE
|
|
-DBOARD_PC)
|
|
|
|
add_library(irdecode_s STATIC
|
|
${LIB_IRDECODE_SRC})
|
|
|
|
target_compile_definitions(irdecode_s PRIVATE
|
|
-DBOARD_PC)
|
|
|
|
target_compile_options(irdecode_s PRIVATE
|
|
-fPIC)
|
|
|
|
add_library(irdecode_jni SHARED
|
|
${LIB_IRDECODE_SRC}
|
|
${LIB_JNI_SRC})
|
|
|
|
target_include_directories(irdecode_jni PRIVATE
|
|
"${CMAKE_SOURCE_DIR}/src/jni")
|
|
|
|
target_compile_definitions(irdecode_jni PRIVATE
|
|
-DBOARD_PC
|
|
-DBOARD_PC_JNI)
|
|
|
|
add_executable(irdecode_test
|
|
${LIB_IRDECODE_SRC}
|
|
${BIN_TEST_SRC})
|
|
|
|
target_compile_definitions(irdecode_test PRIVATE
|
|
-DBOARD_PC)
|