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)