Move to CMake
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
cmake_minimum_required(VERSION 3.10)
|
||||
set(CMAKE_CXX_STANDARD 14)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED True)
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
enable_language(CXX)
|
||||
include(ExternalProject)
|
||||
|
||||
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
||||
find_package(Threads REQUIRED)
|
||||
|
||||
project(Mario)
|
||||
|
||||
list(APPEND CommonFiles
|
||||
global_vars.cpp
|
||||
sprites.cpp
|
||||
maploader.cpp
|
||||
mapobject.cpp
|
||||
blocks/simpleblocks.cpp
|
||||
mario.cpp
|
||||
blocks.cpp
|
||||
)
|
||||
set(SDLPPDir ${CMAKE_CURRENT_SOURCE_DIR}/../sdlpp)
|
||||
|
||||
add_library(sdlpp STATIC IMPORTED)
|
||||
set_target_properties(sdlpp PROPERTIES
|
||||
IMPORTED_LOCATION libsdlpp.a
|
||||
)
|
||||
|
||||
ExternalProject_Add(sdlpp_external
|
||||
SOURCE_DIR ${SDLPPDir}
|
||||
CONFIGURE_COMMAND ""
|
||||
BUILD_COMMAND make libsdlpp.a
|
||||
BUILD_IN_SOURCE 1
|
||||
INSTALL_COMMAND install -m 644 "${SDLPPDir}/libsdlpp.a" ${CMAKE_CURRENT_BINARY_DIR}
|
||||
)
|
||||
|
||||
add_executable(mario
|
||||
${CommonFiles}
|
||||
main.cpp
|
||||
visitors/mario_visitor.cpp
|
||||
visitors/bounce_visitor.cpp
|
||||
visitors/visitor_generator.cpp
|
||||
blocks/coinblock.cpp
|
||||
)
|
||||
|
||||
add_executable(editor
|
||||
${CommonFiles}
|
||||
blocks/coineditorblock.cpp
|
||||
editor.cpp
|
||||
edit_box.cpp
|
||||
tool_box.cpp
|
||||
editor_visitor.cpp
|
||||
)
|
||||
|
||||
target_compile_definitions(editor PUBLIC EDITOR)
|
||||
target_link_libraries(mario PRIVATE sdlpp)
|
||||
target_link_libraries(editor PRIVATE sdlpp)
|
||||
|
||||
target_link_libraries(mario PRIVATE SDL2 SDL2_image SDL2_gfx SDL2_ttf Threads::Threads)
|
||||
target_link_libraries(editor PRIVATE SDL2 SDL2_image SDL2_gfx SDL2_ttf Threads::Threads)
|
||||
|
||||
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/testfont.ttf ${CMAKE_CURRENT_SOURCE_DIR}/sprites DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
|
||||
Reference in New Issue
Block a user