sw:vec_iree: Support out-of-project model executable building

Move toolchain related setting inside of riscv_iree.cmake to
support a better out-of-tree build set up.

Change-Id: I35a9a40e6bfad66dfee14b026d5d08dd4fbf64c5
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0e22756..b8a650a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -16,10 +16,6 @@
 set(IREE_SOURCE_DIR "$ENV{ROOTDIR}/toolchain/iree" CACHE PATH
     "IREE source code path. (default: $ENV{ROOTDIR}/toolchain/iree)")
 
-# Use nano spec header and libraries.
-include_directories(BEFORE SYSTEM "${RISCV_TOOLCHAIN_ROOT}/riscv32-unknown-elf/include/newlib-nano/")
-link_directories(BEFORE "${RISCV_TOOLCHAIN_ROOT}/riscv32-unknown-elf/lib/newlib-nano/")
-
 include_directories(BEFORE SYSTEM ${CMAKE_CURRENT_LIST_DIR})
 include_directories(BEFORE SYSTEM ${CMAKE_CURRENT_BINARY_DIR})
 
@@ -52,7 +48,6 @@
 #-------------------------------------------------------------------------------
 set(SPRINGBOK_CONFIG_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/springbok_config.h")
 add_definitions(-DFLATCC_USE_GENERIC_ALIGNED_ALLOC)
-add_definitions(-DIREE_PLATFORM_GENERIC)
 add_definitions(-DIREE_SYNCHRONIZATION_DISABLE_UNSAFE=1)
 add_definitions(-DIREE_FILE_IO_ENABLE=0)
 add_definitions(-DIREE_USER_CONFIG_H="${SPRINGBOK_CONFIG_HEADER}")
diff --git a/cmake/iree_model_input.cmake b/cmake/iree_model_input.cmake
index 60bf53b..0871799 100644
--- a/cmake/iree_model_input.cmake
+++ b/cmake/iree_model_input.cmake
@@ -50,7 +50,7 @@
     set(_INPUT_FILENAME ${_RULE_SRC_TRIM})
   endif()
 
-  set(_GEN_INPUT_SCRIPT "${CMAKE_SOURCE_DIR}/build_tools/gen_mlmodel_input.py")
+  set(_GEN_INPUT_SCRIPT "${CMAKE_CURRENT_FUNCTION_LIST_DIR}/../build_tools/gen_mlmodel_input.py")
   set(_OUTPUT_BINARY ${_RULE_NAME})
   set(_ARGS)
   list(APPEND _ARGS "--i=${_INPUT_FILENAME}")
diff --git a/cmake/riscv_iree.cmake b/cmake/riscv_iree.cmake
index 265cf63..3f36c03 100644
--- a/cmake/riscv_iree.cmake
+++ b/cmake/riscv_iree.cmake
@@ -36,7 +36,6 @@
 set(RISCV_COMPILER_FLAGS_DEBUG)
 set(RISCV_COMPILER_FLAGS_RELEASE)
 set(RISCV_LINKER_FLAGS)
-set(RISCV_LINKER_FLAGS_EXE)
 
 set(CMAKE_SYSTEM_NAME Generic)
 set(CMAKE_C_STANDARD 11)
@@ -44,6 +43,16 @@
 set(CMAKE_SYSTEM_LIBRARY_PATH "${RISCV_TOOLCHAIN_ROOT}/riscv32-unknown-elf/lib")
 set(RISCV_COMPILER_FLAGS "${RISCV_COMPILER_FLAGS} -menable-experimental-extensions -march=rv32imf_zvl512b_zve32x -mabi=ilp32")
 
+add_compile_definitions(IREE_PLATFORM_GENERIC)
+
+# Use nano spec header and libraries.
+include_directories(BEFORE SYSTEM
+  "${RISCV_TOOLCHAIN_ROOT}/riscv32-unknown-elf/include/newlib-nano/"
+)
+set(RISCV_LINKER_FLAGS_EXE
+  "-L${RISCV_TOOLCHAIN_ROOT}/riscv32-unknown-elf/lib/newlib-nano/"
+)
+
 set(CMAKE_C_FLAGS             "${RISCV_COMPILER_FLAGS} ${CMAKE_C_FLAGS}")
 set(CMAKE_CXX_FLAGS           "${RISCV_COMPILER_FLAGS} ${RISCV_COMPILER_FLAGS_CXX} ${CMAKE_CXX_FLAGS}")
 set(CMAKE_ASM_FLAGS           "${RISCV_COMPILER_FLAGS} ${CMAKE_ASM_FLAGS}")