基于SDL的超级简单的飞机大战小游戏
This commit is contained in:
56
CMakeLists.txt
Normal file
56
CMakeLists.txt
Normal file
@ -0,0 +1,56 @@
|
||||
cmake_minimum_required(VERSION 3.30)
|
||||
|
||||
set(PROJECT_NAME "space_shoot")
|
||||
project(${PROJECT_NAME} VERSION 0.0.1 LANGUAGES C CXX)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED True)
|
||||
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static")
|
||||
|
||||
add_subdirectory(lib/spdlog)
|
||||
|
||||
set(CMAKE_PREFIX_PATH "lib/SDL/cmake")
|
||||
find_package(SDL2 REQUIRED)
|
||||
find_package(SDL2_image REQUIRED)
|
||||
find_package(SDL2_ttf REQUIRED)
|
||||
find_package(SDL2_mixer REQUIRED)
|
||||
|
||||
|
||||
file(GLOB ASSETS src/assets/*)
|
||||
file(COPY ${ASSETS} DESTINATION "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/assets")
|
||||
|
||||
file(GLOB DLL_INCLUDES lib/SDL/x86_64-w64-mingw32/bin/*.dll)
|
||||
file(COPY ${DLL_INCLUDES} DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
|
||||
|
||||
file(GLOB_RECURSE SOURCE_CODE src/**.cpp)
|
||||
|
||||
|
||||
# add no console
|
||||
add_executable(${PROJECT_NAME} ${SOURCE_CODE})
|
||||
|
||||
|
||||
target_link_libraries(${PROJECT_NAME}
|
||||
${SDL2_LIBRARIES}
|
||||
SDL2_mixer::SDL2_mixer
|
||||
SDL2_ttf::SDL2_ttf
|
||||
SDL2_image::SDL2_image
|
||||
spdlog::spdlog
|
||||
)
|
||||
|
||||
# add console
|
||||
set(PROJECT_NAME "${PROJECT_NAME}-console")
|
||||
|
||||
add_executable(${PROJECT_NAME} ${SOURCE_CODE})
|
||||
|
||||
target_link_libraries(${PROJECT_NAME}
|
||||
${SDL3_LIBRARIES}
|
||||
SDL2_mixer::SDL2_mixer
|
||||
SDL2_ttf::SDL2_ttf
|
||||
SDL2_image::SDL2_image
|
||||
spdlog::spdlog
|
||||
)
|
||||
|
||||
target_link_options(${PROJECT_NAME} PRIVATE -Wl,-subsystem,console)
|
||||
|
||||
Reference in New Issue
Block a user