KekEngine/CMakeLists.txt

36 lines
1.1 KiB
CMake
Raw Normal View History

2022-10-07 15:48:50 +02:00
cmake_minimum_required(VERSION 3.10)
project(KekEngine VERSION 1.0)
option(BUILD_SHARED_LIBS "Build as a shared library" ON)
file(GLOB KEKENGINE_SOURCE_FILES "src/kekengine/cpp/*.cpp")
file(GLOB KEKGAME_SOURCE_FILES "src/kekgame/cpp/*.cpp")
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
add_compile_definitions(FT_CONFIG_OPTION_ERROR_STRINGS) # Freetype error strings
add_compile_options(-Wall -g)
# libkekengine
add_library(kekengine ${KEKENGINE_SOURCE_FILES})
target_link_libraries(kekengine PUBLIC glfw GLEW GL)
target_include_directories(kekengine PRIVATE "src/kekengine/include")
target_compile_definitions(kekengine PUBLIC KEKENGINE_TARGET_LINUX)
find_package(PkgConfig REQUIRED)
pkg_check_modules(GTK3 REQUIRED gtk+-3.0)
target_link_libraries(kekengine PUBLIC ${GTK3_LIBRARIES})
target_include_directories(kekengine PRIVATE ${GTK3_INCLUDE_DIRS})
# kekgame
add_executable(kekgame ${KEKGAME_SOURCE_FILES})
target_link_libraries(kekgame PUBLIC kekengine)
target_include_directories(kekgame PRIVATE "src/kekengine/include")