aboutsummaryrefslogtreecommitdiffstats
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorYann Herklotz <ymherklotz@gmail.com>2017-09-09 07:55:22 +0100
committerYann Herklotz <ymherklotz@gmail.com>2017-09-09 07:55:22 +0100
commit60072c1d8089ffd3294e76636198d14710be95b8 (patch)
tree511d459e9afe69ca58d05880eb53ce44a9a183c6 /CMakeLists.txt
parent660996bd750dbb5fcdce85845ee6b260f3ed23eb (diff)
downloadYAGE-60072c1d8089ffd3294e76636198d14710be95b8.tar.gz
YAGE-60072c1d8089ffd3294e76636198d14710be95b8.zip
Restructuring
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt91
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)