Search
🕑

0-1 유저 헤더 및 소스코드 추가

외부 라이브러리 생성으로 프로젝트에 링크하는 방법

1.
프로젝트 상위 디렉토리에 app 폴더 생성
CMakeLists.txt파일 생성
하위 Inc, Src 디렉토리 및 관련 파일 생성
2.
cmakelists파일에 내용 추가
# App 모듈을 위한 CMake 파일 add_library(app STATIC Src/app.c ) target_include_directories(app PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/Inc ) # 필요한 경우 STM32 HAL 라이브러리에 대한 의존성 추가 target_link_libraries(app stm32cubemx )
JavaScript
복사
3.
main CMakeLists.txt 파일 수정
# App module 추가 add_subdirectory(App)
JavaScript
복사

App 디렉토리 내 새 소스 파일 추가 시

App 디렉토리 내에 새로운 소스 파일(예: led_control.c, uart_handler.c 등)을 추가할 경우:
1.
App/CMakeLists.txt 수정:
# 기존 코드 add_library(app STATIC Src/app.c # 새로운 소스 파일 추가 Src/led_control.c Src/uart_handler.c )
JavaScript
복사
1.
메인 CMakeLists.txt는 수정 필요 없음: App 라이브러리를 이미 참조하고 있으므로 자동으로 새 소스 파일들이 포함됩니다.

새로운 모듈(디렉토리) 추가 시

완전히 새로운 모듈(예: Drivers, Utils 등)을 추가하는 경우:
1.
새 모듈 디렉토리에 CMakeLists.txt 생성:
add_library(utils STATIC Src/utils.c Src/debug.c ) target_include_directories(utils PUBLIC Inc)
JavaScript
복사
1.
메인 CMakeLists.txt 수정:
# 기존 코드 add_subdirectory(App) # 새 모듈 추가 add_subdirectory(Utils) # 링크 부분 수정 target_link_libraries(${PROJECT_NAME} app utils# 새 라이브러리 추가 )
JavaScript
복사
이렇게 하면 프로젝트가 확장되어도 모듈화된 구조를 유지하면서 새로운 기능을 추가할 수 있습니다.