cmake_minimum_required(VERSION 3.13)  # CMake version check
project(VectorAlgebra)               # Create project "simple_example"

set(CMAKE_CXX_STANDARD 11)            # Enable c++11 standard
set(CMAKE_POSITION_INDEPENDENT_CODE ON)

add_compile_definitions(GTEST)
include(FetchContent)
FetchContent_Declare(
    googletest
    URL https://github.com/google/googletest/archive/refs/heads/main.zip
)
# For Windows: Prevent overriding the parent project's compiler/linker settings
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
FetchContent_MakeAvailable(googletest)
include_directories(include)

add_library(VectorAlgebra STATIC "src/FloatSingle.cpp" "src/Angle.cpp" "src/Vector2.cpp" "src/Vector3.cpp" "src/Quaternion.cpp" )

enable_testing()

add_executable(
 VectorAlgebraTest
 "test/Angle_test.cc"
 "test/FloatSingle_test.cc"
 "test/Vector2_test.cc"
 "test/Vector3_test.cc"
 "test/Quaternion_test.cc"
 )
target_link_libraries(
 VectorAlgebraTest
 gtest_main
 VectorAlgebra
)

include(GoogleTest)
gtest_discover_tests(VectorAlgebraTest)