mirror of
https://github.com/osiweb/unified_retro_keyboard.git
synced 2024-06-01 05:41:29 +00:00
Cleaned up generation of keymap table and NUM_KEYMAPS definition
Toward #23 and #27
This commit is contained in:
parent
b0c01bb0ef
commit
1f2f420de0
|
@ -36,34 +36,6 @@ set(ASDF_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src)
|
||||||
set (ASDF_TARGET_NAME asdf-v${PROJECT_VERSION}-${ARCH})
|
set (ASDF_TARGET_NAME asdf-v${PROJECT_VERSION}-${ARCH})
|
||||||
set (ASDF_EXECUTABLE_TARGET_NAME ${ASDF_TARGET_NAME})
|
set (ASDF_EXECUTABLE_TARGET_NAME ${ASDF_TARGET_NAME})
|
||||||
|
|
||||||
|
|
||||||
function(create_keymap_setups keymaps keymap_table)
|
|
||||||
list(TRANSFORM keymaps REPLACE "<\(.+\):\(.+\)>" "\n [\\2] = setup_\\1_keymap" OUTPUT_VARIABLE temp_list)
|
|
||||||
list(APPEND temp_list "")
|
|
||||||
set(${keymap_table} "${temp_list}" PARENT_SCOPE)
|
|
||||||
endfunction(create_keymap_setups)
|
|
||||||
|
|
||||||
function(create_keymap_report keymaps keymap_report)
|
|
||||||
list(TRANSFORM keymaps REPLACE "<\(.+\):\(.+\)>" "\nkeymap [\\2]: \\1" OUTPUT_VARIABLE temp_list)
|
|
||||||
list(APPEND temp_list "")
|
|
||||||
set(${keymap_report} "${temp_list}" PARENT_SCOPE)
|
|
||||||
endfunction(create_keymap_report)
|
|
||||||
|
|
||||||
include(keymap_list.cmake)
|
|
||||||
|
|
||||||
create_keymap_setups("${keymap_list}" keymap_table)
|
|
||||||
create_keymap_report("${keymap_list}" keymap_report)
|
|
||||||
|
|
||||||
# get list length and decrement by one to account for trailing semicolon
|
|
||||||
list (LENGTH keymap_table num_keymaps)
|
|
||||||
math(EXPR num_keymaps "${num_keymaps}-1")
|
|
||||||
|
|
||||||
message("**********************")
|
|
||||||
message("Keymap table: ${keymap_report}")
|
|
||||||
message("**********************\n\n")
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(ARCH MATCHES test)
|
if(ARCH MATCHES test)
|
||||||
add_subdirectory(test)
|
add_subdirectory(test)
|
||||||
else()
|
else()
|
||||||
|
|
|
@ -13,19 +13,22 @@ add_valid_target atmega328p
|
||||||
add_valid_target atmega2560
|
add_valid_target atmega2560
|
||||||
|
|
||||||
build_arch() {
|
build_arch() {
|
||||||
echo one: $1 two: $2 three: $3
|
|
||||||
echo star: "[$*]"
|
|
||||||
echo amp: "[$@]"
|
|
||||||
for target_arch in "$@"
|
for target_arch in "$@"
|
||||||
do
|
do
|
||||||
if [[ ! -d "build-$target_arch" ]]
|
if [[ ! -d "build-$target_arch" ]]
|
||||||
then
|
then
|
||||||
mkdir "build-$target_arch"
|
echo -ne "\nCreating directory $target_arch..."
|
||||||
|
mkdir "build-$target_arch" && echo "[success]"
|
||||||
|
else
|
||||||
|
echo "Directory \"$target_arch\" exists."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -d "build-$target_arch" ]]
|
if [[ -d "build-$target_arch" ]]
|
||||||
then
|
then
|
||||||
|
echo -e "\nRunning CMake in directory $target_arch..."
|
||||||
(cd "build-$target_arch" && cmake -DARCH=$target_arch ..)
|
(cd "build-$target_arch" && cmake -DARCH=$target_arch ..)
|
||||||
|
echo
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,37 @@
|
||||||
message("C compiler: ${CMAKE_C_COMPILER}")
|
message("C compiler: ${CMAKE_C_COMPILER}")
|
||||||
|
|
||||||
|
function(create_keymap_setups keymaps keymap_table)
|
||||||
|
list(TRANSFORM keymaps REPLACE "<\(.+\):\(.+\)>" "\n [\\2] = setup_\\1_keymap" OUTPUT_VARIABLE temp_list)
|
||||||
|
string(REPLACE ";" "," temp_list2 "${temp_list}")
|
||||||
|
set(${keymap_table} "${temp_list2}" PARENT_SCOPE)
|
||||||
|
endfunction(create_keymap_setups)
|
||||||
|
|
||||||
|
function(create_keymap_report keymaps keymap_report)
|
||||||
|
list(TRANSFORM keymaps REPLACE "<\(.+\):\(.+\)>" "\nkeymap [\\2]: \\1" OUTPUT_VARIABLE temp_list)
|
||||||
|
string(REPLACE ";" "" temp_list2 "${temp_list}")
|
||||||
|
set(${keymap_report} "${temp_list2}" PARENT_SCOPE)
|
||||||
|
endfunction(create_keymap_report)
|
||||||
|
|
||||||
|
include(../keymap_list.cmake)
|
||||||
|
|
||||||
|
create_keymap_setups("${keymap_list}" keymap_table)
|
||||||
|
create_keymap_report("${keymap_list}" keymap_report)
|
||||||
|
|
||||||
|
# get list length and decrement by one to account for trailing semicolon
|
||||||
|
list (LENGTH keymap_list num_keymaps)
|
||||||
|
|
||||||
|
message("**********************")
|
||||||
|
message("Keymap table: ${keymap_report}")
|
||||||
|
message("**********************\n\n")
|
||||||
|
|
||||||
|
|
||||||
configure_file(${ASDF_SRC_DIR}/Arch/asdf_arch_${ARCH}.h ${CMAKE_CURRENT_BINARY_DIR}/asdf_arch.h COPYONLY)
|
configure_file(${ASDF_SRC_DIR}/Arch/asdf_arch_${ARCH}.h ${CMAKE_CURRENT_BINARY_DIR}/asdf_arch.h COPYONLY)
|
||||||
configure_file(${ASDF_SRC_DIR}/Arch/asdf_arch_${ARCH}.c ${CMAKE_CURRENT_BINARY_DIR}/asdf_arch.c COPYONLY)
|
configure_file(${ASDF_SRC_DIR}/Arch/asdf_arch_${ARCH}.c ${CMAKE_CURRENT_BINARY_DIR}/asdf_arch.c COPYONLY)
|
||||||
configure_file(${ASDF_SRC_DIR}/asdf_keymap_table.c.in ${CMAKE_CURRENT_BINARY_DIR}/asdf_keymap_table.c)
|
configure_file(${ASDF_SRC_DIR}/asdf_keymap_table.c.in ${CMAKE_CURRENT_BINARY_DIR}/asdf_keymap_table.c)
|
||||||
configure_file(${ASDF_SRC_DIR}/asdf_keymap_table.h.in ${CMAKE_CURRENT_BINARY_DIR}/asdf_keymap_table.h)
|
configure_file(${ASDF_SRC_DIR}/asdf_keymap_table.h.in ${CMAKE_CURRENT_BINARY_DIR}/asdf_keymap_table.h)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
list(APPEND C_FLAGS
|
list(APPEND C_FLAGS
|
||||||
-std=c99
|
-std=c99
|
||||||
-Wall
|
-Wall
|
||||||
|
|
Loading…
Reference in New Issue
Block a user