diff options
author | Yann Herklotz <ymherklotz@gmail.com> | 2017-09-09 07:55:22 +0100 |
---|---|---|
committer | Yann Herklotz <ymherklotz@gmail.com> | 2017-09-09 07:55:22 +0100 |
commit | 60072c1d8089ffd3294e76636198d14710be95b8 (patch) | |
tree | 511d459e9afe69ca58d05880eb53ce44a9a183c6 /CMakeLists.txt | |
parent | 660996bd750dbb5fcdce85845ee6b260f3ed23eb (diff) | |
download | YAGE-60072c1d8089ffd3294e76636198d14710be95b8.tar.gz YAGE-60072c1d8089ffd3294e76636198d14710be95b8.zip |
Restructuring
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 91 |
1 files changed, 28 insertions, 63 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 05359e78..7897ad1b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,81 +1,46 @@ -# ---------------------------------------------------------------------------- -# CMakeLists.txt -# -# Copyright (c) 2017 Yann Herklotz Grave <ymherklotz@gmail.com> -- MIT License -# See file LICENSE for more details -# ---------------------------------------------------------------------------- - cmake_minimum_required(VERSION 3.0) # yage library cmakelists.txt -project(yage) - -# set version numbers -set(YAGE_MAJOR_VERSION 0) -set(YAGE_MINOR_VERSION 1) -set(YAGE_PATCH_VERSION 1) -set(YAGE_VERSION - "v${YAGE_MAJOR_VERSION}.${YAGE_MINOR_VERSION}.${YAGE_PATCH_VERSION}") +project(YetAnotherGameEngine) # set standard set(CMAKE_CXX_STANDARD 14) # set the test sources -set(YAGE_SOURCE_DIR "${PROJECT_SOURCE_DIR}/src") -set(YAGE_TEST_DIR "${PROJECT_SOURCE_DIR}/test") +set(YAGE_SOURCE_DIR ${PROJECT_SOURCE_DIR}/src) +set(YAGE_TEST_DIR ${PROJECT_SOURCE_DIR}/test) set(YAGE_LIBRARIES ${PROJECT_NAME}) -# add include directory -set(YAGE_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/include") - # set binary directory -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/bin") - -# add sources to library -set(YAGE_SOURCES - "${PROJECT_SOURCE_DIR}/src/body.cpp" - "${PROJECT_SOURCE_DIR}/src/camera2d.cpp" - "${PROJECT_SOURCE_DIR}/src/glslprogram.cpp" - "${PROJECT_SOURCE_DIR}/src/imageloader.cpp" - "${PROJECT_SOURCE_DIR}/src/inputmanager.cpp" - "${PROJECT_SOURCE_DIR}/src/iomanager.cpp" - "${PROJECT_SOURCE_DIR}/src/particlebody.cpp" - "${PROJECT_SOURCE_DIR}/src/picopng.cpp" - "${PROJECT_SOURCE_DIR}/src/rectanglecollider.cpp" - "${PROJECT_SOURCE_DIR}/src/resourcemanager.cpp" - "${PROJECT_SOURCE_DIR}/src/rigidbody.cpp" - "${PROJECT_SOURCE_DIR}/src/spritebatch.cpp" - "${PROJECT_SOURCE_DIR}/src/sprite.cpp" - "${PROJECT_SOURCE_DIR}/src/texturecache.cpp" - "${PROJECT_SOURCE_DIR}/src/window.cpp") - -add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/lib") +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin) # find libraries find_package(OpenGL REQUIRED) find_package(GLEW REQUIRED) + +# todo: change this to find_package include(FindPkgConfig) pkg_search_module(SDL2 REQUIRED sdl2) -# set include directory -include_directories(${YAGE_INCLUDE_DIR}) - -# make it a static library -add_library(${PROJECT_NAME} ${YAGE_SOURCES}) - -set(YAGE_LIB_DEP_L "yage;${OPENGL_LIBRARIES};${GLEW_LIBRARIES};${SDL2_LIBRARIES}") - -# enable tests -enable_testing() -set(SIMULATION_RUNS 1000) - -function(make_test test_name cycles) - add_executable(${test_name} "${YAGE_TEST_DIR}/${test_name}.cpp") - target_link_libraries(${test_name} gtest_main ${YAGE_LIB_DEP_L}) - add_test(NAME ${test_name} COMMAND ${test_name} --gtest_repeat=${cycles} --gtest_break_on_failure) -endfunction(make_test) - -make_test(yagetest ${SIMULATION_RUNS}) -make_test(matrixtest ${SIMULATION_RUNS}) -make_test(particlebodytest ${SIMULATION_RUNS}) -make_test(windowtest ${SIMULATION_RUNS}) +# adding libraries +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/lib) +add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/yage) + +if(ENABLE_TESTING) + # enable tests + enable_testing() + set(SIMULATION_RUNS 1000) + + function(make_test test_name cycles) + add_executable(${test_name} ${YAGE_TEST_DIR}/${test_name}.cpp) + target_link_libraries(${test_name} + gtest_main + yage) + add_test(NAME ${test_name} COMMAND ${test_name} --gtest_repeat=${cycles} --gtest_break_on_failure) + endfunction(make_test) + + make_test(yagetest ${SIMULATION_RUNS}) + make_test(matrixtest ${SIMULATION_RUNS}) + make_test(particlebodytest ${SIMULATION_RUNS}) + make_test(windowtest ${SIMULATION_RUNS}) +endif(ENABLE_TESTING) |