|
@@ -4,6 +4,7 @@ project(Snake)
|
|
|
set(CMAKE_CXX_STANDARD 23)
|
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
|
|
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
|
|
|
|
|
include(FetchContent)
|
|
|
FetchContent_Declare(
|
|
@@ -31,6 +32,12 @@ set(Boost_USE_STATIC_LIBS ON)
|
|
|
set(Boost_USE_STATIC_RUNTIME OFF)
|
|
|
find_package(Boost 1.74.0 REQUIRED COMPONENTS serialization program_options)
|
|
|
|
|
|
+configure_file(
|
|
|
+ ${CMAKE_CURRENT_SOURCE_DIR}/Config.hxx.in
|
|
|
+ ${CMAKE_CURRENT_BINARY_DIR}/Config.hxx
|
|
|
+ @ONLY
|
|
|
+)
|
|
|
+
|
|
|
add_executable(Snake WIN32 MACOSX_BUNDLE
|
|
|
main.cxx
|
|
|
SDL.cxx SDL.hxx
|
|
@@ -50,6 +57,7 @@ add_executable(Snake WIN32 MACOSX_BUNDLE
|
|
|
game/ui/LineInput.cxx game/ui/LineInput.hxx
|
|
|
game/ui/UiColor.hxx game/ui/UiColor.cxx
|
|
|
game/HighScoreManager.cxx game/HighScoreManager.hxx
|
|
|
+ ${CMAKE_CURRENT_BINARY_DIR}/Config.hxx
|
|
|
)
|
|
|
|
|
|
file(GLOB assets assets/*)
|
|
@@ -61,4 +69,7 @@ target_link_libraries(Snake PRIVATE
|
|
|
SDL2_image::SDL2_image
|
|
|
SDL2_ttf::SDL2_ttf
|
|
|
Boost::headers Boost::serialization Boost::program_options
|
|
|
-)
|
|
|
+)
|
|
|
+
|
|
|
+install(TARGETS Snake DESTINATION bin)
|
|
|
+install(FILES ${assets} DESTINATION share/snake/assets)
|