|
1 | 1 | # Sources |
2 | 2 | file(GLOB SOURCES_PY "${CMAKE_CURRENT_SOURCE_DIR}/*.py") |
3 | | -set(PY_MODULES formats tests uis languages sanity_checks statements remote) |
| 3 | + |
| 4 | +# find all the python modules |
| 5 | +file(GLOB_RECURSE __INIT__PYS "${CMAKE_CURRENT_SOURCE_DIR}/**/__init__.py") |
| 6 | +string(LENGTH "${CMAKE_CURRENT_SOURCE_DIR}" CMAKE_CURRENT_SOURCE_DIR_LEN) |
| 7 | +foreach (init_py ${__INIT__PYS}) |
| 8 | + string(SUBSTRING "${init_py}" |
| 9 | + ${CMAKE_CURRENT_SOURCE_DIR_LEN} |
| 10 | + -1 |
| 11 | + path) |
| 12 | + string(LENGTH ${path} path_len) |
| 13 | + math(EXPR path_len "${path_len} - 13") |
| 14 | + string(SUBSTRING "${path}" |
| 15 | + 1 |
| 16 | + ${path_len} |
| 17 | + path) |
| 18 | + list(APPEND PY_MODULES "${path}") |
| 19 | +endforeach () |
| 20 | +message(STATUS "Python modules: ${PY_MODULES}") |
| 21 | + |
4 | 22 | foreach(module_name ${PY_MODULES}) |
5 | 23 | file(GLOB SOURCES_PY_${module_name} |
6 | 24 | "${CMAKE_CURRENT_SOURCE_DIR}/${module_name}/*.py") |
@@ -64,7 +82,8 @@ foreach(module_name ${PY_MODULES}) |
64 | 82 | endforeach() |
65 | 83 |
|
66 | 84 | # copy the statement templates |
67 | | -set(STATEMENTS_TEMPLATES_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/statements/templates") |
| 85 | +set(STATEMENTS_TEMPLATES_SRC_DIR |
| 86 | + "${CMAKE_CURRENT_SOURCE_DIR}/statements/templates") |
68 | 87 | set(STATEMENTS_TEMPLATES_DST_DIR "${SOURCES_statements_MODULE}/templates") |
69 | 88 | add_custom_command(OUTPUT ${STATEMENTS_TEMPLATES_DST_DIR} |
70 | 89 | COMMAND ${CMAKE_COMMAND} -E copy_directory |
@@ -125,7 +144,11 @@ add_custom_command(OUTPUT ${BIN_DIRECTORY}/task-maker |
125 | 144 | DEPENDS task-maker) |
126 | 145 |
|
127 | 146 | foreach(module_name ${PY_MODULES}) |
128 | | - set(SETUP_PY_MODULES "${SETUP_PY_MODULES}, 'task_maker.${module_name}'") |
| 147 | + string(REPLACE "/" |
| 148 | + "." |
| 149 | + setup_module_name |
| 150 | + ${module_name}) |
| 151 | + set(SETUP_PY_MODULES "${SETUP_PY_MODULES}, 'task_maker.${setup_module_name}'") |
129 | 152 | endforeach() |
130 | 153 |
|
131 | 154 | # generate setup.py |
|
0 commit comments