36 lines
1.1 KiB
CMake
36 lines
1.1 KiB
CMake
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") |