53 lines
1.2 KiB
CMake
53 lines
1.2 KiB
CMake
project(mycurry_gamelib CXX)
|
|
|
|
PKG_SEARCH_MODULE(SDL2 REQUIRED IMPORTED_TARGET sdl2)
|
|
PKG_SEARCH_MODULE(SDL2IMAGE REQUIRED IMPORTED_TARGET SDL2_image>=2.0.0)
|
|
find_package(PNG REQUIRED)
|
|
|
|
add_library(${PROJECT_NAME}
|
|
csvloader.cpp
|
|
ingamescene.cpp
|
|
gamescenebase.cpp
|
|
worldgrid.cpp
|
|
worldviewport.cpp
|
|
tileiterator.cpp
|
|
texture.cpp
|
|
movingobject.cpp
|
|
character.cpp
|
|
rect_to_sdl.cpp
|
|
worldsizenotifiable.cpp
|
|
worlditems.cpp
|
|
moveable.cpp
|
|
grid_raytrace.cpp
|
|
drawable.cpp
|
|
drawing_queue.cpp
|
|
world_moveable.cpp
|
|
collider.cpp
|
|
)
|
|
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD 14)
|
|
set_property(TARGET ${PROJECT_NAME} PROPERTY CXX_STANDARD_REQUIRED ON)
|
|
|
|
target_include_directories(${PROJECT_NAME} SYSTEM
|
|
PRIVATE ${PNG_INCLUDE_DIRS}
|
|
PRIVATE ${Boost_INCLUDE_DIRS}
|
|
)
|
|
target_include_directories(${PROJECT_NAME}
|
|
PUBLIC ${CMAKE_SOURCE_DIR}/lib/vectorwrapper/include
|
|
PRIVATE ${CMAKE_BINARY_DIR}
|
|
)
|
|
|
|
target_link_libraries(${PROJECT_NAME}
|
|
PRIVATE PkgConfig::SDL2
|
|
PRIVATE PkgConfig::SDL2IMAGE
|
|
PRIVATE ${PNG_LIBRARIES}
|
|
PUBLIC mycurry_toplevel
|
|
PUBLIC cloonelgraphics
|
|
PRIVATE tmxlite
|
|
)
|
|
|
|
target_compile_definitions(${PROJECT_NAME}
|
|
PRIVATE ${PNG_DEFINITIONS}
|
|
PUBLIC VWR_WITH_IMPLICIT_CONVERSIONS=1
|
|
PUBLIC VWR_EXTRA_ACCESSORS
|
|
)
|