update CMakeLists.txt

This commit is contained in:
Hanse-14 2023-12-15 12:00:36 +01:00
parent d7c929985f
commit 8f9e555a73

View File

@ -12,17 +12,30 @@ if(WIN32)
set(SDL2_LIBS "${SDL2_FOLDER}/lib/x64/SDL2.lib") set(SDL2_LIBS "${SDL2_FOLDER}/lib/x64/SDL2.lib")
set(SDL2_DLLS "${SDL2_FOLDER}/lib/x64/SDL2.dll") set(SDL2_DLLS "${SDL2_FOLDER}/lib/x64/SDL2.dll")
set(SDL2_DIR "${SDL2_FOLDER}/cmake/") set(SDL2_DIR "${SDL2_FOLDER}/cmake/")
# On Linux, the library is found automatically if installed
# Specify downloaded SDL2_ttf library folder location
set(SDL2_TTF_FOLDER "${CMAKE_SOURCE_DIR}/SDL2_ttf/")
set(SDL2_TTF_INCLUDE_DIRS "${SDL2_TTF_FOLDER}/include")
set(SDL2_TTF_LIBRARIES "${SDL2_TTF_FOLDER}/lib/x64/SDL2_ttf.lib")
set(SDL2_TTF_LIBS "${SDL2_TTF_FOLDER}/lib/x64/SDL2_ttf.lib")
set(SDL2_TTF_DLLS "${SDL2_TTF_FOLDER}/lib/x64/SDL2_ttf.dll")
set(SDL2_TTF_DIR "${SDL2_TTF_FOLDER}/cmake/")
set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} "${SDL2_TTF_FOLDER}")
endif() endif()
# Note: On Linux, the libraries are found automatically if installed
# --- Locate SDL2 --- # --- Locate SDL2 ---
# Uses SDL2_DIR on Windows, on Linux it's found automatically # Uses SDL2_DIR on Windows, on Linux it's found automatically
find_package(SDL2 REQUIRED) # Locate SDL2
find_package(SDL2 REQUIRED)
# Locate SDL_ttf
#find_package(SDL2_ttf REQUIRED)
find_package(SDL2_ttf REQUIRED)
#--- Include directories --- #--- Include directories ---
include_directories(${SDL2_INCLUDE_DIRS} ./include ./src) include_directories(${SDL2_INCLUDE_DIRS} ${SDL2_TTF_INCLUDE_DIRS} ./include ./src)
# --- Source files --- # --- Source files ---
@ -43,12 +56,12 @@ set(SOURCES
add_executable(Snake ${SOURCES}) add_executable(Snake ${SOURCES})
target_link_libraries(Snake ${SDL2_LIBRARIES}) target_link_libraries(Snake ${SDL2_LIBRARIES} ${SDL2_TTF_LIBRARIES})
# --- Copy SDL2 DLLs to the output folder on Windows --- # --- Copy SDL2 DLLs to the output folder on Windows ---
if(WIN32) if(WIN32)
foreach(DLL ${SDL2_DLLS}) foreach(DLL ${SDL2_DLLS} ${SDL_TTF_DLLS})
add_custom_command(TARGET Snake POST_BUILD COMMAND add_custom_command(TARGET Snake POST_BUILD COMMAND
${CMAKE_COMMAND} -E copy_if_different ${DLL} $<TARGET_FILE_DIR:Snake>) ${CMAKE_COMMAND} -E copy_if_different ${DLL} $<TARGET_FILE_DIR:Snake>)
endforeach() endforeach()