MyCurry/src/gamelib/CMakeLists.txt

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
)