mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-07-04 15:02:05 +00:00
one target one target one target
This commit is contained in:
parent
060c15f32b
commit
c9ca9b9875
@ -101,7 +101,7 @@ else()
|
||||
add_qmk_executable(${QMK_KEYBOARD} ${KEYBOARD_SRC})
|
||||
endif()
|
||||
|
||||
add_library(qmk)
|
||||
# add_library(qmk)
|
||||
|
||||
resolve_keyboard_includes(${QMK_KEYBOARD_FOLDER_ABS})
|
||||
|
||||
|
@ -71,5 +71,5 @@ macro(add_keyboard KEYBOARD_FOLDER KEYMAP_FOLDER)
|
||||
-DQMK_KEYMAP_FOLDER=${KEYMAP_FOLDER}
|
||||
)
|
||||
|
||||
file(APPEND "${CMAKE_SOURCE_DIR}/build/targets" "${KEYBOARD_SLUG}_${KEYMAP_NAME}|${KEYBOARD_NAME}|${MANUFACTURER}|${KEYBOARD_FOLDER}\n")
|
||||
file(APPEND "${CMAKE_SOURCE_DIR}/build/targets" "${KEYBOARD_SLUG}_${KEYMAP_NAME}|${KEYBOARD_NAME} with ${KEYMAP_FOLDER}|${KEYBOARD_FOLDER}|Made by: ${MANUFACTURER}\n")
|
||||
endmacro(add_keyboard)
|
@ -1,9 +1,9 @@
|
||||
macro(find_arm_toolchain)
|
||||
find_toolchain(arm-none-eabi TOOLCHAIN_ROOT MAKE_ROOT)
|
||||
find_toolchain(arm-none-eabi TOOLCHAIN_ROOT)
|
||||
|
||||
if(NOT TOOLCHAIN_ROOT)
|
||||
include(GetARMToolchain)
|
||||
find_toolchain(arm-none-eabi TOOLCHAIN_ROOT MAKE_ROOT)
|
||||
find_toolchain(arm-none-eabi TOOLCHAIN_ROOT)
|
||||
endif()
|
||||
|
||||
if(NOT TOOLCHAIN_ROOT)
|
||||
@ -11,5 +11,4 @@ macro(find_arm_toolchain)
|
||||
endif()
|
||||
|
||||
message(STATUS "ARM toolchain found: ${TOOLCHAIN_ROOT}")
|
||||
message(STATUS "Found make: ${MAKE_ROOT}")
|
||||
endmacro()
|
@ -1,9 +1,15 @@
|
||||
macro(find_avr_toolchain)
|
||||
find_toolchain(avr TOOLCHAIN_ROOT MAKE_ROOT)
|
||||
find_toolchain(avr TOOLCHAIN_ROOT)
|
||||
|
||||
if(NOT TOOLCHAIN_ROOT)
|
||||
include(GetAVRToolchain)
|
||||
find_toolchain(avr TOOLCHAIN_ROOT MAKE_ROOT)
|
||||
find_toolchain(avr TOOLCHAIN_ROOT)
|
||||
endif()
|
||||
|
||||
find_program(DFU_PROGRAMMER NAMES dfu-programmer PATHS ${CMAKE_SOURCE_DIR}/toolchains/dfu-programmer/)
|
||||
if(${DFU_PROGRAMMER} STREQUAL "DFU_PROGRAMMER-NOTFOUND")
|
||||
include(GetDfuProgrammer)
|
||||
find_program(DFU_PROGRAMMER NAMES dfu-programmer PATHS ${CMAKE_SOURCE_DIR}/toolchains/dfu-programmer/)
|
||||
endif()
|
||||
|
||||
if(NOT TOOLCHAIN_ROOT)
|
||||
@ -11,5 +17,4 @@ macro(find_avr_toolchain)
|
||||
endif()
|
||||
|
||||
message(STATUS "AVR toolchain found: ${TOOLCHAIN_ROOT}")
|
||||
message(STATUS "Found make: ${MAKE_ROOT}")
|
||||
endmacro()
|
@ -2,7 +2,7 @@ include(UpdateSubmodule)
|
||||
update_submodule(lib/lufa)
|
||||
set(LUFA_PATH ${CMAKE_SOURCE_DIR}/lib/lufa)
|
||||
set(LUFA_ROOT_PATH ${LUFA_PATH}/LUFA)
|
||||
add_library(lufa
|
||||
target_sources(qmk PUBLIC
|
||||
${LUFA_ROOT_PATH}/Drivers/USB/Core/${ARCH}/USBController_${ARCH}.c
|
||||
${LUFA_ROOT_PATH}/Drivers/USB/Core/${ARCH}/USBInterrupt_${ARCH}.c
|
||||
${LUFA_ROOT_PATH}/Drivers/USB/Core/ConfigDescriptors.c
|
||||
@ -21,9 +21,7 @@ add_library(lufa
|
||||
${LUFA_ROOT_PATH}/Drivers/USB/Core/DeviceStandardReq.c
|
||||
${LUFA_PATH}/LUFA/Drivers/USB/USB.h
|
||||
)
|
||||
target_include_directories(lufa PUBLIC ${LUFA_PATH})
|
||||
|
||||
# target_link_libraries(lufa qmk)
|
||||
target_include_directories(qmk PUBLIC ${LUFA_PATH})
|
||||
# target_link_libraries(lufa ${QMK_TARGET})
|
||||
# target_link_libraries(lufa tmk_core_protocol)
|
||||
# target_link_libraries(lufa tmk_core_protocol_lufa)
|
22
cmake/GetDfuProgrammer.cmake
Normal file
22
cmake/GetDfuProgrammer.cmake
Normal file
@ -0,0 +1,22 @@
|
||||
message("Downloading dfu-programmer")
|
||||
if(WIN32)
|
||||
file(DOWNLOAD
|
||||
https://github.com/dfu-programmer/dfu-programmer/releases/download/v1.0.0/dfu-programmer-x64-1.0.0.7z
|
||||
${CMAKE_SOURCE_DIR}/toolchains/downloads/dfu-programmer-x64-1.0.0.7z
|
||||
SHOW_PROGRESS
|
||||
)
|
||||
file(ARCHIVE_EXTRACT
|
||||
INPUT ${CMAKE_SOURCE_DIR}/toolchains/downloads/dfu-programmer-x64-1.0.0.7z
|
||||
DESTINATION ${CMAKE_SOURCE_DIR}/toolchains/dfu-programmer/
|
||||
)
|
||||
elseif(UNIX)
|
||||
file(DOWNLOAD
|
||||
https://github.com/dfu-programmer/dfu-programmer/releases/download/v1.0.0/dfu-programmer-linux-1.0.0.7z
|
||||
${CMAKE_SOURCE_DIR}/toolchains/downloads/dfu-programmer-linux-1.0.0.7z
|
||||
SHOW_PROGRESS
|
||||
)
|
||||
file(ARCHIVE_EXTRACT
|
||||
INPUT ${CMAKE_SOURCE_DIR}/toolchains/downloads/dfu-programmer-linux-1.0.0.7z
|
||||
DESTINATION ${CMAKE_SOURCE_DIR}/toolchains/dfu-programmer/
|
||||
)
|
||||
endif()
|
@ -63,8 +63,8 @@ find_program(CMAKE_MAKE_PROGRAM NAME make
|
||||
add_compile_options(
|
||||
$<$<COMPILE_LANGUAGE:C>:-std=gnu11>
|
||||
$<$<COMPILE_LANGUAGE:CXX>:-std=gnu++14>
|
||||
# -flto
|
||||
-mrelax
|
||||
-flto
|
||||
# -mrelax
|
||||
-Os
|
||||
-Wall
|
||||
-Wstrict-prototypes
|
||||
@ -88,7 +88,7 @@ add_compile_definitions(
|
||||
F_CPU=16000000
|
||||
F_USB=16000000UL
|
||||
__AVR_ATmega32U4__
|
||||
# LTO_ENABLE
|
||||
LTO_ENABLE
|
||||
)
|
||||
|
||||
add_link_options(
|
||||
@ -114,9 +114,13 @@ macro(add_qmk_executable target_name)
|
||||
)
|
||||
|
||||
# create elf file
|
||||
add_executable(${QMK_TARGET} ${ARGN})
|
||||
add_executable(qmk ${ARGN})
|
||||
|
||||
target_link_libraries(${QMK_TARGET} qmk)
|
||||
set_target_properties(qmk
|
||||
PROPERTIES OUTPUT_NAME ${QMK_TARGET}
|
||||
)
|
||||
|
||||
# target_link_libraries(${QMK_TARGET} qmk)
|
||||
|
||||
# set_target_properties(${QMK_TARGET}
|
||||
# PROPERTIES
|
||||
@ -134,7 +138,8 @@ macro(add_qmk_executable target_name)
|
||||
# create hex file
|
||||
add_custom_command(
|
||||
OUTPUT ${hex_file}
|
||||
COMMAND ${CMAKE_OBJCOPY} -j .text -j .data -O ihex ${QMK_TARGET} ${hex_file}
|
||||
# COMMAND ${CMAKE_OBJCOPY} -j .text -j .data -O ihex ${QMK_TARGET} ${hex_file}
|
||||
COMMAND ${CMAKE_OBJCOPY} -O ihex -R .eeprom -R .fuse -R .lock -R .signature ${QMK_TARGET} ${hex_file}
|
||||
DEPENDS ${QMK_TARGET}
|
||||
)
|
||||
|
||||
|
@ -4,11 +4,11 @@ target_sources(qmk PUBLIC
|
||||
usb_device_state.c
|
||||
usb_util.c
|
||||
)
|
||||
target_compile_definitions(
|
||||
# target_compile_definitions(
|
||||
# MOUSE_ENABLED
|
||||
# EXTRAKEY_ENABLE
|
||||
# NKRO_ENABLE
|
||||
)
|
||||
# )
|
||||
target_include_directories(qmk PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
# target_link_libraries(tmk_core_protocol ${QMK_TARGET})
|
||||
# target_link_libraries(tmk_core_protocol quantum)
|
||||
|
@ -20,9 +20,10 @@ target_sources(qmk PUBLIC
|
||||
)
|
||||
|
||||
find_package(lufa REQUIRED)
|
||||
# target_compile_definitions(lufa PUBLIC ${COMPILE_DEFINITIONS})
|
||||
|
||||
target_include_directories(qmk PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
target_link_libraries(qmk lufa)
|
||||
# target_link_libraries(qmk lufa)
|
||||
|
||||
# target_link_libraries(tmk_core_protocol_lufa ${QMK_TARGET})
|
||||
# target_link_libraries(tmk_core_protocol_lufa quantum)
|
||||
|
Loading…
Reference in New Issue
Block a user