57 lines
1.4 KiB
CMake
57 lines
1.4 KiB
CMake
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)
|
|
|