فهرست منبع

move to single lib

Jack Humbert 3 سال پیش
والد
کامیت
6a960cbf05

+ 2 - 0
CMakeLists.txt

@@ -101,6 +101,8 @@ else()
   add_qmk_executable(${QMK_KEYBOARD} ${KEYBOARD_SRC})
 endif()
 
+add_library(qmk)
+
 add_subdirectory(quantum)
 add_subdirectory(platforms)
 add_subdirectory(tmk_core/protocol)

+ 4 - 3
cmake/Findlufa.cmake

@@ -23,6 +23,7 @@ add_library(lufa
 )
 target_include_directories(lufa PUBLIC ${LUFA_PATH})
 
-target_link_libraries(lufa ${QMK_TARGET})
-target_link_libraries(lufa tmk_core_protocol)
-target_link_libraries(lufa tmk_core_protocol_lufa)
+# target_link_libraries(lufa qmk)
+# target_link_libraries(lufa ${QMK_TARGET})
+# target_link_libraries(lufa tmk_core_protocol)
+# target_link_libraries(lufa tmk_core_protocol_lufa)

+ 5 - 4
cmake/features/backlight.cmake

@@ -22,10 +22,11 @@ if(${BACKLIGHT_ENABLE} AND NOT ${NO_BACKLIGHT_PIN} STREQUAL "backlight-NOTFOUND"
             target_sources(backlight PRIVATE quantum/backlight/backlight_${BACKLIGHT_DRIVER}.c)
         endif()
     endif()
-    target_include_directories(backlight PUBLIC quantum/backlight)
-    target_include_directories(backlight PUBLIC drivers/oled)
+    target_include_directories(qmk PUBLIC quantum/backlight)
+    target_include_directories(qmk PUBLIC drivers/oled)
+    target_link_libraries(backlight qmk)
     # target_include_directories(backlight PUBLIC quantum/backlight)
     # target_include_directories(quantum PUBLIC quantum/backlight)
-    target_link_libraries(backlight ${QMK_TARGET})
-    target_link_libraries(backlight quantum)
+    # target_link_libraries(backlight ${QMK_TARGET})
+    # target_link_libraries(backlight quantum)
 endif()

+ 3 - 2
cmake/features/oled.cmake

@@ -7,6 +7,7 @@ if(${OLED_ENABLE})
     target_include_directories(oled PUBLIC drivers)
     target_include_directories(oled PUBLIC drivers/oled)
     target_include_directories(oled PUBLIC platforms/${QMK_PLATFORM}/drivers)
-    target_link_libraries(oled ${QMK_TARGET})
-    target_link_libraries(oled platforms)
+    target_link_libraries(oled qmk)
+    # target_link_libraries(oled ${QMK_TARGET})
+    # target_link_libraries(oled platforms)
 endif()

+ 1 - 1
cmake/toolchains/avr.cmake

@@ -116,7 +116,7 @@ macro(add_qmk_executable target_name)
     # create elf file
     add_executable(${QMK_TARGET} ${ARGN})
 
-    target_link_libraries(${QMK_TARGET} quantum)
+    target_link_libraries(${QMK_TARGET} qmk)
 
     # set_target_properties(${QMK_TARGET}
     #     PROPERTIES

+ 4 - 4
platforms/CMakeLists.txt

@@ -1,6 +1,6 @@
-add_library(platforms suspend.c synchronization_util.c timer.c)
-target_include_directories(platforms PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
-target_link_libraries(platforms ${QMK_TARGET})
-target_link_libraries(platforms quantum)
+target_sources(qmk PUBLIC suspend.c synchronization_util.c timer.c)
+target_include_directories(qmk PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
+# target_link_libraries(platforms ${QMK_TARGET})
+# target_link_libraries(platforms quantum)
 
 add_subdirectory(${QMK_PLATFORM})

+ 4 - 4
platforms/avr/CMakeLists.txt

@@ -4,7 +4,7 @@
 # add_link_options(
 #     -mmcu=${QMK_MCU}
 # )
-add_library(platforms_avr 
+target_sources(qmk PUBLIC 
     hardware_id.c
     platform.c
     suspend.c
@@ -13,7 +13,7 @@ add_library(platforms_avr
     bootloaders/bootloadhid.c
     xprintf.S
 )
-target_include_directories(platforms_avr PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
+target_include_directories(qmk PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
 
-target_link_libraries(platforms_avr ${QMK_TARGET})
-target_link_libraries(platforms_avr quantum)
+# target_link_libraries(platforms_avr ${QMK_TARGET})
+# target_link_libraries(platforms_avr quantum)

+ 3 - 3
platforms/chibios/CMakeLists.txt

@@ -1,6 +1,6 @@
 add_link_options(
     -mcpu=${QMK_MCU}
 )
-add_library(platforms_chibios)
-include_directories(${CMAKE_CURRENT_SOURCE_DIR})
-target_link_libraries(platforms_chibios ${QMK_TARGET})
+# add_library(platforms_chibios)
+target_include_directories(qmk PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
+# target_link_libraries(platforms_chibios ${QMK_TARGET})

+ 12 - 12
quantum/CMakeLists.txt

@@ -1,4 +1,4 @@
-add_library(quantum 
+target_sources(qmk PUBLIC
     main.c 
     keymap_introspection.c
     quantum.c
@@ -21,18 +21,18 @@ add_library(quantum
     bootmagic/magic.c
 )
 
-target_include_directories(quantum PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
-target_include_directories(quantum PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/logging)
-target_include_directories(quantum PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/keymap_extras)
-target_include_directories(quantum PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/process_keycode)
-target_include_directories(quantum PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/sequencer)
-target_include_directories(quantum PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/bootmagic)
+target_include_directories(qmk PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
+target_include_directories(qmk PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/logging)
+target_include_directories(qmk PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/keymap_extras)
+target_include_directories(qmk PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/process_keycode)
+target_include_directories(qmk PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/sequencer)
+target_include_directories(qmk PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/bootmagic)
 
-target_link_libraries(quantum ${QMK_TARGET})
-target_link_libraries(quantum platforms)
-target_link_libraries(quantum platforms_${QMK_PLATFORM})
-target_link_libraries(quantum tmk_core_protocol)
-target_link_libraries(quantum tmk_core_protocol_${QMK_PROTOCOL})
+# target_link_libraries(quantum ${QMK_TARGET})
+# target_link_libraries(quantum platforms)
+# target_link_libraries(quantum platforms_${QMK_PLATFORM})
+# target_link_libraries(quantum tmk_core_protocol)
+# target_link_libraries(quantum tmk_core_protocol_${QMK_PROTOCOL})
 
 # if no printf
 # target_sources(quantum PRIVATE ${CMAKE_SOURCE_DIR}/lib/printf/src/printf/printf.c)

+ 6 - 6
tmk_core/protocol/CMakeLists.txt

@@ -1,4 +1,4 @@
-add_library(tmk_core_protocol
+target_sources(qmk PUBLIC
     host.c
     report.c
     usb_device_state.c
@@ -9,10 +9,10 @@ add_compile_definitions(
     # EXTRAKEY_ENABLE
     # NKRO_ENABLE
 )
-target_include_directories(tmk_core_protocol PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
-target_link_libraries(tmk_core_protocol ${QMK_TARGET})
-target_link_libraries(tmk_core_protocol quantum)
-target_link_libraries(tmk_core_protocol tmk_core_protocol_${QMK_PROTOCOL})
-target_link_libraries(tmk_core_protocol platforms_${QMK_PLATFORM})
+target_include_directories(qmk PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
+# target_link_libraries(tmk_core_protocol ${QMK_TARGET})
+# target_link_libraries(tmk_core_protocol quantum)
+# target_link_libraries(tmk_core_protocol tmk_core_protocol_${QMK_PROTOCOL})
+# target_link_libraries(tmk_core_protocol platforms_${QMK_PLATFORM})
 
 add_subdirectory(${QMK_PROTOCOL})

+ 10 - 9
tmk_core/protocol/lufa/CMakeLists.txt

@@ -1,7 +1,7 @@
 set(ARCH AVR8)
 set(USE_STATIC_OPTIONS "(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)")
 
-add_compile_definitions(
+target_compile_definitions(qmk PUBLIC
     PROTOCOL_LUFA
     ARCH=ARCH_${ARCH}
     BOARD=BOARD_NONE
@@ -13,7 +13,7 @@ add_compile_definitions(
     FIXED_NUM_CONFIGURATIONS=1
 )
 
-add_library(tmk_core_protocol_lufa 
+target_sources(qmk PUBLIC 
     lufa.c
     ../usb_descriptor.c
     usb_util.c 
@@ -21,11 +21,12 @@ add_library(tmk_core_protocol_lufa
 
 find_package(lufa REQUIRED)
 
-target_include_directories(tmk_core_protocol_lufa PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
+target_include_directories(qmk PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
+target_link_libraries(qmk lufa)
 
-target_link_libraries(tmk_core_protocol_lufa ${QMK_TARGET})
-target_link_libraries(tmk_core_protocol_lufa quantum)
-target_link_libraries(tmk_core_protocol_lufa tmk_core_protocol)
-target_link_libraries(tmk_core_protocol_lufa lufa)
-target_link_libraries(tmk_core_protocol_lufa platforms)
-target_link_libraries(tmk_core_protocol_lufa platforms_${QMK_PLATFORM})
+# target_link_libraries(tmk_core_protocol_lufa ${QMK_TARGET})
+# target_link_libraries(tmk_core_protocol_lufa quantum)
+# target_link_libraries(tmk_core_protocol_lufa tmk_core_protocol)
+# target_link_libraries(tmk_core_protocol_lufa lufa)
+# target_link_libraries(tmk_core_protocol_lufa platforms)
+# target_link_libraries(tmk_core_protocol_lufa platforms_${QMK_PLATFORM})