본문 바로가기
코드/C++

SFML CMAKE

by bongin 2023. 10. 2.
728x90
반응형

결론만 먼저 말하면

https://github.com/piotrek-szczygiel/newland

의 소스 코드를 다운 받아 CMakeLists.txt를 열었을 때

아래와 같이 작성되어 있다.

cmake_minimum_required(VERSION 3.1)
project(newland)

set(SFML_STATIC_LIBRARIES TRUE)
find_package(
    SFML 2.5
    COMPONENTS graphics audio
    REQUIRED)

add_definitions(-DTMX_STATIC)
include_directories(libraries)

file(GLOB_RECURSE SOURCE_FILES ${PROJECT_SOURCE_DIR}/newland/*.cpp ${PROJECT_SOURCE_DIR}/libraries/*.cpp
     ${PROJECT_SOURCE_DIR}/libraries/*.c)

add_executable(${PROJECT_NAME} ${SOURCE_FILES})
target_link_libraries(${PROJECT_NAME} sfml-graphics sfml-audio)

SFML의 주소를 지정하는 코드가 필요하다.

(https://www.reddit.com/r/sfml/comments/ka6k7y/how_to_link_to_static_version_of_sfml_in_vscode/)

 

set(SFML_DIR D:/SFML_64/lib/cmake/SFML)

set(SFML_INCLUDE_DIRS D:/SFML_64/include)

 

압축 해제된 SFML_2.6.0 폴더를 SFML_64로 이름 변경 후 D:\에 위치시킨 다음 위 두 코드를 추가한 최종 코드다.

 

cmake_minimum_required(VERSION 3.1)
project(newland)

set(SFML_DIR D:/SFML_64/lib/cmake/SFML)#추가
set(SFML_STATIC_LIBRARIES TRUE)
find_package(
    SFML 2.5
    COMPONENTS graphics audio
    REQUIRED)
set(SFML_INCLUDE_DIRS D:/SFML_64/include)#추가

add_definitions(-DTMX_STATIC)
include_directories(libraries)

file(GLOB_RECURSE SOURCE_FILES ${PROJECT_SOURCE_DIR}/newland/*.cpp ${PROJECT_SOURCE_DIR}/libraries/*.cpp
     ${PROJECT_SOURCE_DIR}/libraries/*.c)

add_executable(${PROJECT_NAME} ${SOURCE_FILES})
target_link_libraries(${PROJECT_NAME} sfml-graphics sfml-audio)

 

해당 디렉터리에 build 폴더를 생성하고 해당 폴더로 들어간 다음 주소창에 cmd를 입력하여 command 창을 띄운다.

 

cmake ..

입력 후 엔터를 누르면 솔루션 파일들이 생성된다.

 

 

 

 

 

 

 

 

 

 

728x90
반응형

'코드 > C++' 카테고리의 다른 글

class static, function static  (0) 2023.10.05
github open source rpg  (0) 2023.10.03
깃헙 남의 게임 코드 실행  (0) 2023.10.01
참조자를 반환하는 함수  (0) 2023.09.19
What does the GL_ARRAY_BUFFER target mean in glBindBuffer?  (0) 2023.08.31

댓글