상세 컨텐츠

본문 제목

[CMake] list()

cmake

by 빨간눈동자 2024. 6. 30. 10:37

본문

반응형

리스트를 조작하는데 사용한다. 

리스트는 공백으로 구분된 문자열의 집합으로, 다양한 작업을 수행할 수 있다. 

 

APPEND: 리스트에 항목을 추가
INSERT: 리스트의 특정 위치에 항목을 삽입
REMOVE_ITEM: 리스트에서 특정 항목을 제거
REMOVE_AT: 리스트의 특정 인덱스에 있는 항목을 제거
REMOVE_DUPLICATES: 리스트에서 중복 항목을 제거
REVERSE: 리스트의 순서를 반대
SORT: 리스트를 정렬
LENGTH: 리스트의 길이를 반환
GET: 리스트의 특정 인덱스에 있는 항목을 가져옴
FIND: 리스트에서 특정 항목의 인덱스를 리턴
SUBLIST: 리스트의 부분 리스트를 리턴
JOIN: 리스트의 항목을 하나의 문자열로 결합

 

 

리스트에 항목 추가 

# 리스트 정의
set(MY_LIST "item1" "item2")

# 리스트에 항목 추가
list(APPEND MY_LIST "item3" "item4")

# 리스트 출력
message(STATUS "MY_LIST: ${MY_LIST}")

 

 

리스트의 특정 위치에 항목 삽입

# 리스트 정의
set(MY_LIST "item1" "item2")

# 리스트의 특정 위치에 항목 삽입
list(INSERT MY_LIST 1 "new_item")

# 리스트 출력
message(STATUS "MY_LIST: ${MY_LIST}")

 

 

리스트에서 특정 항목 제거

# 리스트 정의
set(MY_LIST "item1" "item2" "item3")

# 리스트에서 특정 항목 제거
list(REMOVE_ITEM MY_LIST "item2")

# 리스트 출력
message(STATUS "MY_LIST: ${MY_LIST}")

 

 

리스트의 특정 인덱스에 있는 항목 제거

# 리스트 정의
set(MY_LIST "item1" "item2" "item3")

# 리스트의 특정 인덱스에 있는 항목 제거
list(REMOVE_AT MY_LIST 1)

# 리스트 출력
message(STATUS "MY_LIST: ${MY_LIST}")

 

 

 리스트에서 중복 항목 제거

# 리스트 정의
set(MY_LIST "item1" "item2" "item1" "item3")

# 리스트에서 중복 항목 제거
list(REMOVE_DUPLICATES MY_LIST)

# 리스트 출력
message(STATUS "MY_LIST: ${MY_LIST}")

 

 

리스트의 순서를 반대로 뒤집기

# 리스트 정의
set(MY_LIST "item1" "item2" "item3")

# 리스트의 순서를 반대로 뒤집기
list(REVERSE MY_LIST)

# 리스트 출력
message(STATUS "MY_LIST: ${MY_LIST}")

 

 

리스트 정렬

# 리스트 정의
set(MY_LIST "item3" "item1" "item2")

# 리스트 정렬
list(SORT MY_LIST)

# 리스트 출력
message(STATUS "MY_LIST: ${MY_LIST}")

 

 

리스트의 길이 반환

# 리스트 정의
set(MY_LIST "item1" "item2" "item3")

# 리스트의 길이 반환
list(LENGTH MY_LIST length)

# 리스트 길이 출력
message(STATUS "Length of MY_LIST: ${length}")

 

 

리스트의 특정 인덱스에 있는 항목 가져오기

# 리스트 정의
set(MY_LIST "item1" "item2" "item3")

# 리스트의 특정 인덱스에 있는 항목 가져오기
list(GET MY_LIST 1 item)

# 항목 출력
message(STATUS "Item at index 1: ${item}")

 

 

리스트에서 특정 항목의 인덱스 찾기

# 리스트 정의
set(MY_LIST "item1" "item2" "item3")

# 리스트에서 특정 항목의 인덱스 찾기
list(FIND MY_LIST "item2" index)

# 인덱스 출력
message(STATUS "Index of 'item2': ${index}")

 

 

리스트의 부분 리스트 가져오기

# 리스트 정의
set(MY_LIST "item1" "item2" "item3" "item4")

# 리스트의 부분 리스트 가져오기
list(SUBLIST MY_LIST 1 2 sublist)

# 부분 리스트 출력
message(STATUS "Sublist: ${sublist}")

 

 

리스트의 항목을 하나의 문자열로 결합

# 리스트 정의
set(MY_LIST "item1" "item2" "item3")

# 리스트의 항목을 하나의 문자열로 결합
list(JOIN MY_LIST ", " joined_list)

# 결합된 문자열 출력
message(STATUS "Joined list: ${joined_list}")
반응형

'cmake' 카테고리의 다른 글

[CMAKE] execute_process()  (0) 2024.06.29
[CMake] foreach()  (0) 2024.06.28
[CMAKE] Cache 변수  (0) 2024.06.27
[CMAKE] Cache 변수  (0) 2024.06.26
[CMAKE] include()  (0) 2024.06.26

관련글 더보기