mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-03-04 10:48:52 +00:00
example tasks
This commit is contained in:
parent
40a3a431ef
commit
6468360ff1
137
.vscode/tasks.json
vendored
Normal file
137
.vscode/tasks.json
vendored
Normal file
@ -0,0 +1,137 @@
|
||||
{
|
||||
"version": "2.0.0",
|
||||
"tasks": [
|
||||
{
|
||||
"label": "Load Keyboard & Refresh Outline",
|
||||
"dependsOrder": "sequence",
|
||||
"dependsOn":[
|
||||
"Load Keyboard",
|
||||
"Configure CMake"
|
||||
],
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"isDefault": true
|
||||
}
|
||||
},
|
||||
{
|
||||
"label": "Load Keyboard",
|
||||
"type": "shell",
|
||||
"command": "cmake -Bbuild -DQMK_KEYBOARD_FOLDER=${input:keyboard}",
|
||||
"problemMatcher": []
|
||||
},
|
||||
{
|
||||
"label": "Configure CMake",
|
||||
"type": "cmake",
|
||||
"command": "configure"
|
||||
// "command": "${command:cmake.configure}",
|
||||
// "problemMatcher": [],
|
||||
},
|
||||
{
|
||||
"label": "Build",
|
||||
"problemMatcher": [
|
||||
{
|
||||
"base": "$gcc",
|
||||
"fileLocation": ["relative", "${workspaceRoot}/build"]
|
||||
},
|
||||
],
|
||||
"options": {
|
||||
"environment": {
|
||||
"CLICOLOR_FORCE": "1"
|
||||
}
|
||||
},
|
||||
"type": "cmake",
|
||||
"command": "build",
|
||||
"targets":[
|
||||
"${input:keyboard_safe}"
|
||||
],
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"isDefault": true
|
||||
},
|
||||
// "type": "shell",
|
||||
// "command": "cmake --build build --target ${input:keyboard_safe}",
|
||||
// "problemMatcher": [],
|
||||
// "group": {
|
||||
// "kind": "build",
|
||||
// "isDefault": true
|
||||
// }
|
||||
// "type": "cmake",
|
||||
// "command": "build",
|
||||
// "targets":[
|
||||
// "${input:keyboard_safe}"
|
||||
// ]
|
||||
},
|
||||
{
|
||||
"label": "Rebuild",
|
||||
// "type": "process",
|
||||
// "command": "cmake",
|
||||
// "args": [
|
||||
// "--build",
|
||||
// "build",
|
||||
// "--target",
|
||||
// "${input:keyboard_safe}",
|
||||
// "--clean-first"
|
||||
// ],
|
||||
"problemMatcher": [
|
||||
{
|
||||
"base": "$gcc",
|
||||
"fileLocation": ["relative", "${workspaceRoot}/build"]
|
||||
},
|
||||
],
|
||||
"options": {
|
||||
"environment": {
|
||||
"CLICOLOR_FORCE": "1"
|
||||
}
|
||||
},
|
||||
"type": "cmake",
|
||||
"command": "cleanRebuild",
|
||||
"targets":[
|
||||
"${input:keyboard_safe}"
|
||||
],
|
||||
"group": {
|
||||
"kind": "build",
|
||||
"isDefault": true
|
||||
},
|
||||
}
|
||||
],
|
||||
"inputs": [
|
||||
{
|
||||
"id": "keyboard",
|
||||
"description": "Keyboard:",
|
||||
"type": "pickString",
|
||||
"options":[
|
||||
"planck/rev5",
|
||||
"olkb/planck/rev3"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "keyboard_safe",
|
||||
"description": "Keyboard:",
|
||||
"type": "pickString",
|
||||
"options":[
|
||||
"planck_rev5_default",
|
||||
"olkb_planck_rev3_default"
|
||||
]
|
||||
},
|
||||
// {
|
||||
// "type": "command",
|
||||
// "id": "keyboard",
|
||||
// "command": "extension.commandvariable.pickStringRemember",
|
||||
// "args": {
|
||||
// "description": "select an option :",
|
||||
// "options": [
|
||||
// ["always 1", "5000"],
|
||||
// ["always 2", "5100"]
|
||||
// ],
|
||||
// "default": "",
|
||||
// "fileName": "${workspaceFolder}/data/keyboards.json",
|
||||
// "pattern": {
|
||||
// "regexp": "^\\s*(?!#)([^=]+?)\\s*=\\s*(?:(\\{.+\\})|(.+))$",
|
||||
// "label": "$1",
|
||||
// "json": "$2",
|
||||
// "value": "$3"
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
]
|
||||
}
|
@ -24,6 +24,9 @@ resolve_keyboard(${QMK_KEYBOARD_FOLDER} QMK_KEYBOARD_FOLDER_ABS)
|
||||
|
||||
set(TEMP_PATH ${QMK_KEYBOARD_FOLDER})
|
||||
cmake_path(IS_RELATIVE TEMP_PATH IS_KEYBOARD_FOLDER_RELATIVE)
|
||||
if(${IS_KEYBOARD_FOLDER_RELATIVE} AND NOT EXISTS ${CMAKE_SOURCE_DIR}/keyboards/${QMK_KEYBOARD_FOLDER})
|
||||
set(IS_KEYBOARD_FOLDER_RELATIVE FALSE)
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED QMK_KEYMAP_FOLDER)
|
||||
set(QMK_KEYMAP_FOLDER "default")
|
||||
@ -31,9 +34,6 @@ endif()
|
||||
|
||||
set(TEMP_PATH ${QMK_KEYMAP_FOLDER})
|
||||
cmake_path(IS_RELATIVE TEMP_PATH IS_KEYMAP_FOLDER_RELATIVE)
|
||||
if(${IS_KEYBOARD_FOLDER_RELATIVE} AND NOT EXISTS ${CMAKE_SOURCE_DIR}/keyboards/${QMK_KEYMAP_FOLDER})
|
||||
set(IS_KEYBOARD_FOLDER_RELATIVE FALSE)
|
||||
endif()
|
||||
|
||||
if(${IS_KEYBOARD_FOLDER_RELATIVE})
|
||||
set(QMK_KEYBOARD_CURRENT_FOLDER ${QMK_KEYBOARD_FOLDER})
|
||||
@ -113,7 +113,7 @@ else(${IS_KEYBOARD_FOLDER_RELATIVE})
|
||||
if(EXISTS "${QMK_KEYMAP_FOLDER}/keymap.c")
|
||||
set(QMK_KEYBOARD_KEYMAP "{QMK_KEYMAP_FOLDER}/keymap.c")
|
||||
else()
|
||||
message(FATAL_ERROR "Could not find keymap in keymap folder '${QMK_KEYMAP_FOLDER}'")
|
||||
message(FATAL_ERROR "Could not find keymap in keymap path '${QMK_KEYMAP_FOLDER}'")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
@ -53,7 +53,8 @@ find_program(AVR_UPLOAD
|
||||
add_compile_options(
|
||||
$<$<COMPILE_LANGUAGE:C>:-std=gnu11>
|
||||
$<$<COMPILE_LANGUAGE:CXX>:-std=gnu++14>
|
||||
# -flto
|
||||
-flto
|
||||
# -mrelax
|
||||
-Os
|
||||
-Wall
|
||||
-Wstrict-prototypes
|
||||
@ -77,7 +78,11 @@ add_compile_definitions(
|
||||
F_CPU=16000000
|
||||
F_USB=16000000UL
|
||||
__AVR_ATmega32U4__
|
||||
# LTO_ENABLE
|
||||
LTO_ENABLE
|
||||
)
|
||||
|
||||
add_link_options(
|
||||
-Wl,--gc-sections
|
||||
)
|
||||
|
||||
# include_directories("C:/Users/Jack/Downloads/avr-gcc-12.1.0-x64-windows/avr/include")
|
||||
@ -92,7 +97,7 @@ macro(add_qmk_executable target_name)
|
||||
set(hex_file ${target_name}-${QMK_MCU}.hex)
|
||||
set(lst_file ${target_name}-${QMK_MCU}.lst)
|
||||
|
||||
add_link_options(-Wl,--gc-sections,-Map=${map_file})
|
||||
add_link_options(-Wl,-Map=${map_file})
|
||||
|
||||
# create elf file
|
||||
add_executable(${elf_file}
|
||||
|
Loading…
Reference in New Issue
Block a user