MRuby_MCUXpresso/CMakeLists.txt

35 lines
965 B
CMake

cmake_minimum_required(VERSION 3.10)
project(mruby_mcux)
if(NOT DEFINED MRUBY_MCUX_TARGET)
message(WARNING "MRUBY_MCUX_TARGET not defined, using default.")
set(MRUBY_MCUX_TARGET imxrt10xx)
endif()
add_custom_command(OUTPUT libmruby.a
COMMAND "${CMAKE_COMMAND}" "-E" "env"
"MRUBY_CONFIG=${CMAKE_CURRENT_SOURCE_DIR}/configs/${MRUBY_MCUX_TARGET}.rb"
"MRUBY_BUILD_DIR=${CMAKE_CURRENT_BINARY_DIR}/mruby"
"INSTALL_DIR=${CMAKE_CURRENT_BINARY_DIR}/mruby/bin"
"./minirake"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/mruby"
)
add_custom_target(mruby
DEPENDS "libmruby.a"
)
set_target_properties(mruby PROPERTIES
ADDITIONAL_CLEAN_FILES "${CMAKE_CURRENT_BINARY_DIR}/mruby"
)
add_library(${PROJECT_NAME} INTERFACE)
target_link_libraries(${PROJECT_NAME} INTERFACE
"mruby"
"mruby_core"
)
target_link_directories(${PROJECT_NAME} INTERFACE
"${CMAKE_CURRENT_BINARY_DIR}/mruby/${MRUBY_MCUX_TARGET}/lib"