cmake_minimum_required(VERSION 3.13) # CMake version check if(ESP_PLATFORM) idf_component_register( SRC_DIRS "." INCLUDE_DIRS "." ) else() 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) add_library(VectorAlgebra STATIC "FloatSingle.cpp" "Angle.cpp" "Vector2.cpp" "Vector3.cpp" "Quaternion.cpp" "Polar.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) endif()