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}) add_qmk_executable(${QMK_KEYBOARD} ${KEYBOARD_SRC})
endif() endif()
add_library(qmk) # add_library(qmk)
resolve_keyboard_includes(${QMK_KEYBOARD_FOLDER_ABS}) 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} -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) endmacro(add_keyboard)

View File

@ -1,9 +1,9 @@
macro(find_arm_toolchain) macro(find_arm_toolchain)
find_toolchain(arm-none-eabi TOOLCHAIN_ROOT MAKE_ROOT) find_toolchain(arm-none-eabi TOOLCHAIN_ROOT)
if(NOT TOOLCHAIN_ROOT) if(NOT TOOLCHAIN_ROOT)
include(GetARMToolchain) include(GetARMToolchain)
find_toolchain(arm-none-eabi TOOLCHAIN_ROOT MAKE_ROOT) find_toolchain(arm-none-eabi TOOLCHAIN_ROOT)
endif() endif()
if(NOT TOOLCHAIN_ROOT) if(NOT TOOLCHAIN_ROOT)
@ -11,5 +11,4 @@ macro(find_arm_toolchain)
endif() endif()
message(STATUS "ARM toolchain found: ${TOOLCHAIN_ROOT}") message(STATUS "ARM toolchain found: ${TOOLCHAIN_ROOT}")
message(STATUS "Found make: ${MAKE_ROOT}")
endmacro() endmacro()

View File

@ -1,9 +1,15 @@
macro(find_avr_toolchain) macro(find_avr_toolchain)
find_toolchain(avr TOOLCHAIN_ROOT MAKE_ROOT) find_toolchain(avr TOOLCHAIN_ROOT)
if(NOT TOOLCHAIN_ROOT) if(NOT TOOLCHAIN_ROOT)
include(GetAVRToolchain) 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() endif()
if(NOT TOOLCHAIN_ROOT) if(NOT TOOLCHAIN_ROOT)
@ -11,5 +17,4 @@ macro(find_avr_toolchain)
endif() endif()
message(STATUS "AVR toolchain found: ${TOOLCHAIN_ROOT}") message(STATUS "AVR toolchain found: ${TOOLCHAIN_ROOT}")
message(STATUS "Found make: ${MAKE_ROOT}")
endmacro() endmacro()

View File

@ -2,7 +2,7 @@ include(UpdateSubmodule)
update_submodule(lib/lufa) update_submodule(lib/lufa)
set(LUFA_PATH ${CMAKE_SOURCE_DIR}/lib/lufa) set(LUFA_PATH ${CMAKE_SOURCE_DIR}/lib/lufa)
set(LUFA_ROOT_PATH ${LUFA_PATH}/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}/USBController_${ARCH}.c
${LUFA_ROOT_PATH}/Drivers/USB/Core/${ARCH}/USBInterrupt_${ARCH}.c ${LUFA_ROOT_PATH}/Drivers/USB/Core/${ARCH}/USBInterrupt_${ARCH}.c
${LUFA_ROOT_PATH}/Drivers/USB/Core/ConfigDescriptors.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_ROOT_PATH}/Drivers/USB/Core/DeviceStandardReq.c
${LUFA_PATH}/LUFA/Drivers/USB/USB.h ${LUFA_PATH}/LUFA/Drivers/USB/USB.h
) )
target_include_directories(lufa PUBLIC ${LUFA_PATH}) target_include_directories(qmk PUBLIC ${LUFA_PATH})
# target_link_libraries(lufa qmk)
# target_link_libraries(lufa ${QMK_TARGET}) # target_link_libraries(lufa ${QMK_TARGET})
# target_link_libraries(lufa tmk_core_protocol) # target_link_libraries(lufa tmk_core_protocol)
# target_link_libraries(lufa tmk_core_protocol_lufa) # 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( add_compile_options(
$<$<COMPILE_LANGUAGE:C>:-std=gnu11> $<$<COMPILE_LANGUAGE:C>:-std=gnu11>
$<$<COMPILE_LANGUAGE:CXX>:-std=gnu++14> $<$<COMPILE_LANGUAGE:CXX>:-std=gnu++14>
# -flto -flto
-mrelax # -mrelax
-Os -Os
-Wall -Wall
-Wstrict-prototypes -Wstrict-prototypes
@ -88,7 +88,7 @@ add_compile_definitions(
F_CPU=16000000 F_CPU=16000000
F_USB=16000000UL F_USB=16000000UL
__AVR_ATmega32U4__ __AVR_ATmega32U4__
# LTO_ENABLE LTO_ENABLE
) )
add_link_options( add_link_options(
@ -114,9 +114,13 @@ macro(add_qmk_executable target_name)
) )
# create elf file # 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} # set_target_properties(${QMK_TARGET}
# PROPERTIES # PROPERTIES
@ -134,7 +138,8 @@ macro(add_qmk_executable target_name)
# create hex file # create hex file
add_custom_command( add_custom_command(
OUTPUT ${hex_file} 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} DEPENDS ${QMK_TARGET}
) )

View File

@ -4,11 +4,11 @@ target_sources(qmk PUBLIC
usb_device_state.c usb_device_state.c
usb_util.c usb_util.c
) )
target_compile_definitions( # target_compile_definitions(
# MOUSE_ENABLED # MOUSE_ENABLED
# EXTRAKEY_ENABLE # EXTRAKEY_ENABLE
# NKRO_ENABLE # NKRO_ENABLE
) # )
target_include_directories(qmk PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) target_include_directories(qmk PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
# target_link_libraries(tmk_core_protocol ${QMK_TARGET}) # target_link_libraries(tmk_core_protocol ${QMK_TARGET})
# target_link_libraries(tmk_core_protocol quantum) # target_link_libraries(tmk_core_protocol quantum)

View File

@ -20,9 +20,10 @@ target_sources(qmk PUBLIC
) )
find_package(lufa REQUIRED) find_package(lufa REQUIRED)
# target_compile_definitions(lufa PUBLIC ${COMPILE_DEFINITIONS})
target_include_directories(qmk PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) 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 ${QMK_TARGET})
# target_link_libraries(tmk_core_protocol_lufa quantum) # target_link_libraries(tmk_core_protocol_lufa quantum)