one target one target one target

This commit is contained in:
Jack Humbert 2023-04-04 13:42:50 -04:00
parent 060c15f32b
commit c9ca9b9875
9 changed files with 51 additions and 21 deletions

View File

@ -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})

View File

@ -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)

View File

@ -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()

View File

@ -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()

View File

@ -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)

View 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()

View File

@ -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}
)

View File

@ -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)

View File

@ -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)