klips/cpp/graphics/sdl-cmake/CMakeLists.txt

58 lines
1.9 KiB
CMake

################################################################################
## Author: Shaun Reed ##
## Legal: All Content (c) 2021 Shaun Reed, all rights reserved ##
## ##
## Contact: shaunrd0@gmail.com | URL: www.shaunreed.com | GitHub: shaunrd0 ##
################################################################################
# Define CMake version
cmake_minimum_required(VERSION 3.15)
project(
#[[NAME]] SDL-Cmake
DESCRIPTION "Example project for building SDL projects with CMake"
LANGUAGES CXX
)
# Add Library
add_library(
graphics-lib-sdl # Library Name
src/lib-sdl-test.cpp src/lib-sdl-test.h # Sources..
)
target_include_directories( # When calling library, include a directory
graphics-lib-sdl # Library name
PUBLIC # Visibility
${CMAKE_CURRENT_SOURCE_DIR}/src # Source directory for library
)
# Search for SDL2 package
find_package(SDL2 REQUIRED sdl2)
# If SDL2 was found successfully, link to lib-sdl-test
if (SDL2_FOUND)
# Any target that links with this library will also link to SDL2
# + Because we choose PUBLIC visibility
target_include_directories(graphics-lib-sdl PUBLIC ${SDL2_INCLUDE_DIRS})
target_link_libraries(graphics-lib-sdl PUBLIC "${SDL2_LIBRARIES}")
# Creating executable
add_executable(
graphics-cmake-sdl # Exe name
apps/sdl-test.cpp # Exe Source(s)
)
# Linking the exe to library
target_link_libraries(
graphics-cmake-sdl # Executable to link
PRIVATE # Visibility
graphics-lib-sdl # Library to link
)
else()
message(
"Error: CMake was unable to find SDL2 package.\n"
"Please install the libsdl2-dev package and try again.\n"
)
endif()