상세 컨텐츠

본문 제목

[CMAKE] file()

cmake

by 빨간눈동자 2021. 11. 3. 11:44

본문

반응형

file(WRITE ...): 파일에 내용을 씁니다.
file(APPEND ...): 파일에 내용을 추가합니다.
file(READ ...): 파일의 내용을 읽습니다.
file(COPY ...): 파일이나 디렉토리를 복사합니다.
file(RENAME ...): 파일이나 디렉토리의 이름을 변경합니다.
file(REMOVE ...): 파일을 삭제합니다.
file(REMOVE_RECURSE ...): 디렉토리와 그 안의 모든 파일을 삭제합니다.
file(MAKE_DIRECTORY ...): 디렉토리를 생성합니다.
file(GLOB ...): 파일 패턴을 사용하여 파일 목록을 생성합니다.
file(GLOB_RECURSE ...): 하위 디렉토리를 포함하여 파일 패턴을 사용하여 파일 목록을 생성합니다.

 

사용 예

파일 쓰기
file(WRITE "${CMAKE_BINARY_DIR}/example.txt" "Hello, World!\n")

파일 추가 쓰기
file(APPEND "${CMAKE_BINARY_DIR}/example.txt" "This is an appended line.\n")

파일 읽기
file(READ "${CMAKE_BINARY_DIR}/example.txt" file_content)
message(STATUS "File content: ${file_content}")

파일 복사
file(COPY "${CMAKE_SOURCE_DIR}/source.txt" DESTINATION "${CMAKE_BINARY_DIR}/destination.txt")

파일 이름 변경
file(RENAME "${CMAKE_BINARY_DIR}/old_name.txt" "${CMAKE_BINARY_DIR}/new_name.txt")

파일 삭제
file(REMOVE "${CMAKE_BINARY_DIR}/example.txt")

디렉토리와 그 안의 모든 파일 삭제
file(REMOVE_RECURSE "${CMAKE_BINARY_DIR}/old_directory")

디렉토리 생성
file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/new_directory")

파일 패턴을 사용하여 파일 목록 생성
file(GLOB txt_files "${CMAKE_SOURCE_DIR}/*.txt")
foreach(txt_file ${txt_files})
    message(STATUS "Found text file: ${txt_file}")
endforeach()

하위 디렉토리를 포함하여 파일 패턴을 사용하여 파일 목록 생성
file(GLOB_RECURSE cpp_files "${CMAKE_SOURCE_DIR}/*.cpp")
foreach(cpp_file ${cpp_files})
    message(STATUS "Found C++ file: ${cpp_file}")
endforeach()

 

반응형

관련글 더보기