|
1 | | -# NOTE find_package try to use at least python3.8 as follows depending on platform version |
2 | | -# Ubuntu18.04; explictly installed python3.8 (default is python3.6) |
3 | | -# Ubuntu20.04; default python3.8 |
| 1 | +# NOTE find_package will try to use at least python3.10 as follows depending on platform version |
| 2 | +# Ubuntu20.04; explictly installed python3.10 (default is python3.8) |
4 | 3 | # Ubuntu22.04; default python3.10 |
5 | 4 | # Ubuntu24.04; explicitly installed python3.8 (default is python3.12) |
6 | 5 | # refer https://github.com/Samsung/ONE/issues/9962 |
7 | | -find_package(Python 3.8 EXACT COMPONENTS Interpreter QUIET) |
| 6 | +# refer https://github.com/Samsung/ONE/issues/15226 |
| 7 | +find_package(Python 3.10 EXACT COMPONENTS Interpreter QUIET) |
8 | 8 | if(NOT Python_FOUND) |
9 | | - find_package(Python 3.8 COMPONENTS Interpreter QUIET) |
| 9 | + find_package(Python 3 COMPONENTS Interpreter QUIET) |
10 | 10 | endif() |
11 | 11 |
|
12 | | -# tensorflow 2.12.1 supports Python 3.8 ~ 3.11 |
13 | | -if(Python_VERSION VERSION_GREATER_EQUAL 3.12) |
14 | | - message(STATUS "Build one-cmds: FALSE (Python version 3.12 or higher is not supported yet)") |
15 | | - return() |
16 | | -endif() |
17 | | -if(Python_VERSION VERSION_LESS 3.8) |
18 | | - message(STATUS "Build one-cmds: FAILED (Install Python version 3.8 or 3.10)") |
| 12 | +if(NOT Python_Interpreter_FOUND) |
| 13 | + message(STATUS "Build one-cmds: FAILED (Python3 is missing)") |
19 | 14 | return() |
20 | 15 | endif() |
21 | 16 |
|
22 | | -if(NOT Python_Interpreter_FOUND) |
23 | | - message(STATUS "Build one-cmds: FAILED (Python3 is missing)") |
| 17 | +# NOTE assume only use 3.10.x or 3.12.x |
| 18 | +if((Python_VERSION VERSION_GREATER_EQUAL 3.10) AND (Python_VERSION VERSION_LESS 3.11)) |
| 19 | + set(PYTHON_VERSION_MINOR 10) |
| 20 | +elseif((Python_VERSION VERSION_GREATER_EQUAL 3.12) AND (Python_VERSION VERSION_LESS 3.13)) |
| 21 | + set(PYTHON_VERSION_MINOR 12) |
| 22 | +else() |
| 23 | + # TODO support more |
| 24 | + message(STATUS "Build one-cmds: FAILED (Unsupported python: ${Python_VERSION})") |
24 | 25 | return() |
25 | 26 | endif() |
26 | 27 |
|
@@ -91,25 +92,31 @@ foreach(ONE_COMMAND IN ITEMS ${ONE_COMMAND_FILES}) |
91 | 92 |
|
92 | 93 | endforeach(ONE_COMMAND) |
93 | 94 |
|
| 95 | +unset(ONNX2CIRCLE_SOURCE_PATH) |
94 | 96 | # if ONE_ONNX2CIRCLE_PATH is set, install that file to bin folder |
95 | 97 | if(DEFINED ENV{ONE_ONNX2CIRCLE_PATH}) |
96 | | - message(STATUS "ONNX2CIRCLE from env-var $ENV{ONE_ONNX2CIRCLE_PATH}") |
97 | | - install(FILES $ENV{ONE_ONNX2CIRCLE_PATH} |
98 | | - PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE |
99 | | - GROUP_READ GROUP_EXECUTE |
100 | | - WORLD_READ WORLD_EXECUTE |
101 | | - DESTINATION bin) |
| 98 | + set(ONNX2CIRCLE_SOURCE_PATH $ENV{ONE_ONNX2CIRCLE_PATH}) |
102 | 99 | else() |
| 100 | + # if local build/install of circle-mlir exist, use it |
103 | 101 | set(ONNX2CIRCLE_PATH "${NNAS_PROJECT_SOURCE_DIR}/circle-mlir/build/install/bin/onnx2circle") |
104 | 102 | if (EXISTS ${ONNX2CIRCLE_PATH}) |
105 | | - message(STATUS "ONNX2CIRCLE from ${ONNX2CIRCLE_PATH}") |
106 | | - install(FILES ${ONNX2CIRCLE_PATH} |
107 | | - PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE |
108 | | - GROUP_READ GROUP_EXECUTE |
109 | | - WORLD_READ WORLD_EXECUTE |
110 | | - DESTINATION bin) |
| 103 | + set(ONNX2CIRCLE_SOURCE_PATH ${ONNX2CIRCLE_PATH}) |
| 104 | + else() |
| 105 | + # if circletools/onnx2circle package is installed, use it |
| 106 | + set(ONNX2CIRCLE_PATH "/usr/share/circletools/bin/onnx2circle") |
| 107 | + if (EXISTS ${ONNX2CIRCLE_PATH}) |
| 108 | + set(ONNX2CIRCLE_SOURCE_PATH ${ONNX2CIRCLE_PATH}) |
| 109 | + endif() |
111 | 110 | endif() |
112 | 111 | endif() |
| 112 | +if(DEFINED ONNX2CIRCLE_SOURCE_PATH AND EXISTS ${ONNX2CIRCLE_SOURCE_PATH}) |
| 113 | + message(STATUS "ONNX2CIRCLE from ${ONNX2CIRCLE_SOURCE_PATH}") |
| 114 | + install(FILES ${ONNX2CIRCLE_SOURCE_PATH} |
| 115 | + PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE |
| 116 | + GROUP_READ GROUP_EXECUTE |
| 117 | + WORLD_READ WORLD_EXECUTE |
| 118 | + DESTINATION bin) |
| 119 | +endif() |
113 | 120 |
|
114 | 121 | set(ONE_UTILITY_FILES |
115 | 122 | one-build.template.cfg |
|
0 commit comments