|
|
@@ -83,12 +83,21 @@ message(STATUS "Running getarch") |
|
|
|
execute_process(COMMAND ${GETARCH_BIN} 0 OUTPUT_VARIABLE GETARCH_MAKE_OUT) |
|
|
|
execute_process(COMMAND ${GETARCH_BIN} 1 OUTPUT_VARIABLE GETARCH_CONF_OUT) |
|
|
|
|
|
|
|
message(STATUS "GETARCH results:\n${GETARCH_MAKE_OUT}") |
|
|
|
#message(STATUS "GETARCH results:\n${GETARCH_MAKE_OUT}") |
|
|
|
|
|
|
|
# append config data from getarch to the TARGET file |
|
|
|
file(APPEND ${TARGET_CONF} ${GETARCH_CONF_OUT}) |
|
|
|
|
|
|
|
## TODO: config.h is ready for getarch_2nd now, so compile that |
|
|
|
# TODO: make this a function, the exact same code is used again with getarch2 |
|
|
|
string(REGEX MATCHALL "[0-9_a-zA-Z]+=[0-9_a-zA-Z]+" GETARCH_RESULT_LIST "${GETARCH_MAKE_OUT}") |
|
|
|
foreach (GETARCH_LINE ${GETARCH_RESULT_LIST}) |
|
|
|
# split the line into var and value, then assign the value to a CMake var |
|
|
|
string(REGEX MATCHALL "[0-9_a-zA-Z]+" SPLIT_VAR "${GETARCH_LINE}") |
|
|
|
list(GET SPLIT_VAR 0 VAR_NAME) |
|
|
|
list(GET SPLIT_VAR 1 VAR_VALUE) |
|
|
|
set(${VAR_NAME} ${VAR_VALUE}) |
|
|
|
endforeach () |
|
|
|
|
|
|
|
set(GETARCH2_DIR "${PROJECT_BINARY_DIR}/getarch2_build") |
|
|
|
set(GETARCH2_BIN "getarch_2nd${CMAKE_EXECUTABLE_SUFFIX}") |
|
|
|
file(MAKE_DIRECTORY ${GETARCH2_DIR}) |
|
|
@@ -99,20 +108,21 @@ try_compile(GETARCH2_RESULT ${GETARCH2_DIR} |
|
|
|
COPY_FILE ${GETARCH2_BIN} |
|
|
|
) |
|
|
|
|
|
|
|
message(STATUS "getarch2 result ${GETARCH2_RESULT}") |
|
|
|
message(STATUS "getarch2 log ${GETARCH2_LOG}") |
|
|
|
# use the cmake binary w/ the -E param to run a shell command in a cross-platform way |
|
|
|
execute_process(COMMAND ${GETARCH2_BIN} 0 OUTPUT_VARIABLE GETARCH2_MAKE_OUT) |
|
|
|
execute_process(COMMAND ${GETARCH2_BIN} 1 OUTPUT_VARIABLE GETARCH2_CONF_OUT) |
|
|
|
|
|
|
|
message(STATUS "GETARCH_2 results:\n${GETARCH2_MAKE_OUT}") |
|
|
|
message(STATUS "GETARCH_2 cresults:\n${GETARCH2_CONF_OUT}") |
|
|
|
#message(STATUS "GETARCH_2 results:\n${GETARCH2_MAKE_OUT}") |
|
|
|
|
|
|
|
# append config data from getarch_2nd to the TARGET file |
|
|
|
file(APPEND ${TARGET_CONF} ${GETARCH2_CONF_OUT}) |
|
|
|
|
|
|
|
# TODO: parse the MAKE variables from getarch/getarch2 (GETARCH_MAKE_OUT) into CMAKE vars |
|
|
|
# for now I temporarily hardcoded to get system.cmake working |
|
|
|
set(NUM_CORES 4) |
|
|
|
set(CORE "GENERIC") |
|
|
|
string(REGEX MATCHALL "[0-9_a-zA-Z]+=[0-9_a-zA-Z]+" GETARCH_RESULT_LIST "${GETARCH2_MAKE_OUT}") |
|
|
|
foreach (GETARCH_LINE ${GETARCH_RESULT_LIST}) |
|
|
|
# split the line into var and value, then assign the value to a CMake var |
|
|
|
string(REGEX MATCHALL "[0-9_a-zA-Z]+" SPLIT_VAR "${GETARCH_LINE}") |
|
|
|
list(GET SPLIT_VAR 0 VAR_NAME) |
|
|
|
list(GET SPLIT_VAR 1 VAR_VALUE) |
|
|
|
set(${VAR_NAME} ${VAR_VALUE}) |
|
|
|
endforeach () |
|
|
|
|