colysis/alyson/CMakeLists.txt

61 lines
1.4 KiB
CMake

project(alyson
VERSION 0.0.1
LANGUAGES C CXX
)
cmake_minimum_required(VERSION 3.20)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
include(cmake/utils.cmake)
add_library(alyson)
target_include_directories(alyson PUBLIC includes)
CPMAddPackage(
NAME raylib
GITHUB_REPOSITORY raysan5/raylib
GIT_TAG 5.5
)
CPMAddPackage(
NAME flecs
GITHUB_REPOSITORY SanderMertens/flecs
GIT_TAG v4.0.4
)
target_link_libraries(alyson PUBLIC raylib)
target_link_libraries(alyson PUBLIC flecs::flecs_static)
target_compile_definitions(alyson PRIVATE ASSETS_PATH="${ASSETS_PATH}")
# Add alyson files
find_files(alyson_src src cpp hpp cxx hxx c h)
target_sources(alyson PRIVATE ${alyson_src})
# set(ALYSON_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/alyson/include)
# google tests
find_package(GTest QUIET)
if(NOT GTest_FOUND)
FetchContent_Declare(
googletest
GIT_REPOSITORY https://github.com/google/googletest.git
GIT_TAG release-1.12.1
)
FetchContent_MakeAvailable(googletest)
endif()
find_files(alyson_test_src tests cpp hpp cxx hxx c h)
add_executable(alyson_test ${alyson_test_src})
target_link_libraries(alyson_test PRIVATE alyson)
target_link_libraries(alyson_test PRIVATE GTest::gtest)
target_link_libraries(alyson_test PRIVATE GTest::gtest_main)
target_include_directories(alyson_test PRIVATE ${GTEST_INCLUDE_DIRS})