Glad: CMAKEμ—μ„œ 직접 μ‚¬μš©ν•˜λŠ” 방법

에 λ§Œλ“  2018λ…„ 11μ›” 07일  Β·  6μ½”λ©˜νŠΈ  Β·  좜처: Dav1dde/glad

μ•ˆλ…•ν•˜μ„Έμš”,

λ‚΄ ν”„λ‘œμ νŠΈμ—μ„œ μ›Ή μ„œλΉ„μŠ€μ—μ„œ λ§Œλ“  .h 및 .c. νŒŒμΌμ„ μ‚¬μš©ν•˜κ³  μ‹Άμ§€λ§Œ 각 ~ 10k 쀄 νŒŒμΌμ„ λ‚΄ μ €μž₯μ†Œμ— μ €μž₯ν•˜κ³  싢지 μ•ŠμŠ΅λ‹ˆλ‹€.

이것을 ν¬ν•¨ν•˜κ³  CMAKEλ₯Ό 톡해 "λΉŒλ“œ"ν•˜κ³  ν•„μš”ν•œ νŒŒμΌμ„ μƒμ„±ν•˜λŠ” 방법이 μžˆμŠ΅λ‹ˆκΉŒ (GLFW와 μœ μ‚¬)?

ν”„λ‘œμ νŠΈμ— κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€

C cmake glad1 question

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

λ„€ κ°€λŠ₯ν•©λ‹ˆλ‹€. ν”„λ‘œμ νŠΈμ— ν•˜μœ„ 디렉토리λ₯Ό λ§Œλ“€κ³  파일과 ν•¨κ»˜ CMakeLists.txt λ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€.

cmake_minimum_required(VERSION 3.0)
project(Glad)

add_library(glad include/glad/glad.h src/glad.c)
target_include_directories(glad PUBLIC include/)

그런 λ‹€μŒ κΈ°λ³Έ CMakeLists.txt νŒŒμΌμ— λ‹€μŒμ„ μž…λ ₯ν•˜μ‹­μ‹œμ˜€.

add_subdirectory(glad/)
target_link_libraries(<your target> PRIVATE glad)

μ•„λ‹ˆλ©΄ 그런 것. 이λ₯Ό λ‹¬μ„±ν•˜λŠ” λ°©λ²•μ—λŠ” μ—¬λŸ¬ 가지가 μžˆμŠ΅λ‹ˆλ‹€.

λͺ¨λ“  6 λŒ“κΈ€

λ„€ κ°€λŠ₯ν•©λ‹ˆλ‹€. ν”„λ‘œμ νŠΈμ— ν•˜μœ„ 디렉토리λ₯Ό λ§Œλ“€κ³  파일과 ν•¨κ»˜ CMakeLists.txt λ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€.

cmake_minimum_required(VERSION 3.0)
project(Glad)

add_library(glad include/glad/glad.h src/glad.c)
target_include_directories(glad PUBLIC include/)

그런 λ‹€μŒ κΈ°λ³Έ CMakeLists.txt νŒŒμΌμ— λ‹€μŒμ„ μž…λ ₯ν•˜μ‹­μ‹œμ˜€.

add_subdirectory(glad/)
target_link_libraries(<your target> PRIVATE glad)

μ•„λ‹ˆλ©΄ 그런 것. 이λ₯Ό λ‹¬μ„±ν•˜λŠ” λ°©λ²•μ—λŠ” μ—¬λŸ¬ 가지가 μžˆμŠ΅λ‹ˆλ‹€.

@Shimmen μ„€λͺ… μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€!

λͺ‡ λͺ…μ˜ 멋진 μ‚¬λžŒλ“€μ΄ 더 λ§Žμ€ 방법을 μΆ”κ°€ ν•œ https://github.com/Dav1dde/glad/issues/174 문제λ₯Ό μ‚΄νŽ΄λ³Ό μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

개인적으둜 생성 된 νŒŒμΌμ„ ν¬ν•¨ν•˜κ³  μ‹Άμ§€λ§Œ 심볼을 μ •λ ¬ν•΄μ•Όν•˜λ―€λ‘œ 생성 된 νŒŒμΌμ„ ν•œ μ§€μ μ—μ„œ μ—…κ·Έλ ˆμ΄λ“œν•˜λ©΄ μ΅œμ†Œν•œμ˜ 차이λ₯Ό 얻을 수 있으며 μ™ΈλΆ€ λ¦¬μ†ŒμŠ€μ™€ Python에 λŒ€ν•œ 쒅속성이 μ—†μŒμ„ μ˜λ―Έν•©λ‹ˆλ‹€.

μ›λž˜ μ§ˆλ¬Έμ— λŒ€ν•œ 닡을 μ „ν˜€ μ œκ³΅ν•˜μ§€ μ•Šμ•˜λ‹€λŠ” 것을 방금 κΉ¨λ‹¬μ•˜μŠ΅λ‹ˆλ‹€! 개인적으둜 λ‚˜λŠ” λ‚΄ μ†ŒμŠ€ 디렉토리와 메인 μ‹€ν–‰ 파일의 λΉŒλ“œ λ‹¨κ³„μ—μ„œ 기쁜 것을 μœ μ§€ν•˜λŠ” 것을 μ’‹μ•„ν•©λ‹ˆλ‹€. κ·Έλž˜μ„œ 이것이 λ‚΄ μ˜ˆμ œκ°€ν•˜λŠ” μΌμž…λ‹ˆλ‹€.

닡변이 μžˆλ‹€κ³  κ°€μ •ν•˜κ² μŠ΅λ‹ˆλ‹€. 그렇지 μ•Šμ€ 경우 λ‹€μ‹œ μ—΄μ–΄ μ£Όμ‹œκΈ° λ°”λžλ‹ˆλ‹€.

생성 된 νŒŒμΌμ„ include 디렉터리에 λ„£λŠ” 것이 μΌλ°˜μ μ΄λΌλŠ” 것을 μ΄ν•΄ν•˜μ§€λ§Œ CMakeλ₯Ό λΉŒλ“œ ν•  λ•Œ 생성 ν•  μˆ˜μžˆλŠ” 방법이 μžˆμŠ΅λ‹ˆκΉŒ?

μ €λŠ” νŒŒμ΄μ¬μ„ μš”κ΅¬ν•˜λŠ” 것이 κ·Έλ ‡κ²Œ 큰 문제라고 μƒκ°ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 맀우 ν”ν•œ κ³³μž…λ‹ˆλ‹€. μ˜΅μ…˜μ„ κ°–λŠ” 것은 적어도 μ’‹μŠ΅λ‹ˆλ‹€.

@DerekCresswell 예, λΉŒλ“œμ—μ„œ 생성기λ₯Ό μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.이 μ €μž₯μ†Œμ˜ λ£¨νŠΈμ— CMakeLists.txt κ°€μžˆμ–΄μ΄λ₯Ό μˆ˜ν–‰ ν•  수 μžˆμŠ΅λ‹ˆλ‹€ (iirc ~ add_subdirectory ).

λ‚˜λŠ” λ˜ν•œ μ—¬κΈ° 에 CMakeLists.txt κ°€μžˆλŠ” glad2μ—μ„œ μž‘μ—…ν•˜κ³  μžˆλ‹€ .

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰