diff --git a/CMakeLists.txt b/CMakeLists.txt index 4b133dc..7fd5d39 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,33 +2,47 @@ cmake_minimum_required(VERSION 3.10) project(mruby_mcux) +# Specify mRuby configuration file via variables if(NOT DEFINED MRUBY_MCUX_TARGET) message(WARNING "MRUBY_MCUX_TARGET not defined, using default.") - set(MRUBY_MCUX_TARGET imxrt10xx) + set(MRUBY_MCUX_TARGET imxrt1052) # Default target endif() -add_custom_command(OUTPUT libmruby.a - COMMAND "${CMAKE_COMMAND}" "-E" "env" - "MRUBY_CONFIG=${CMAKE_CURRENT_SOURCE_DIR}/configs/${MRUBY_MCUX_TARGET}.rb" +add_custom_command( + OUTPUT + "mruby/${MRUBY_MCUX_TARGET}/lib/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" + "./minirake" WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/mruby" ) -add_custom_target(mruby - DEPENDS "libmruby.a" +add_custom_target(mruby_libs + DEPENDS "mruby/${MRUBY_MCUX_TARGET}/lib/libmruby.a" ) -set_target_properties(mruby PROPERTIES +set_target_properties(mruby_libs PROPERTIES ADDITIONAL_CLEAN_FILES "${CMAKE_CURRENT_BINARY_DIR}/mruby" ) add_library(${PROJECT_NAME} INTERFACE) -target_link_libraries(${PROJECT_NAME} INTERFACE - "mruby" - "mruby_core" +add_dependencies(${PROJECT_NAME} mruby_libs) + +target_include_directories(${PROJECT_NAME} INTERFACE + "mruby/include" ) + target_link_directories(${PROJECT_NAME} INTERFACE "${CMAKE_CURRENT_BINARY_DIR}/mruby/${MRUBY_MCUX_TARGET}/lib" +) + +target_link_libraries(${PROJECT_NAME} INTERFACE + "mruby" + "c" + "m" +) \ No newline at end of file diff --git a/configs/lpc55s69.rb b/configs/lpc55s69.rb index 6eb01da..dc182ce 100644 --- a/configs/lpc55s69.rb +++ b/configs/lpc55s69.rb @@ -42,6 +42,7 @@ MRuby::CrossBuild.new("lpc55s69") do |conf| conf.disable_cxx_exception #gems from core + conf.gem :core => "mruby-compiler" conf.gem :core => "mruby-sprintf" conf.gem :core => "mruby-print" conf.gem :core => "mruby-math" diff --git a/mruby b/mruby index d7f4af0..87260e7 160000 --- a/mruby +++ b/mruby @@ -1 +1 @@ -Subproject commit d7f4af04ca2c5d7caf377623b9a0c2f86e10e9e8 +Subproject commit 87260e7bb1a9edfb2ce9b41549c4142129061ca5