Add Global CMake Build and OSS Tests (#1217)

Summary:
Pull Request resolved: https://github.com/facebook/yoga/pull/1217

This updates the CMake build present for being able to share options, fixing up flags, etc. A GTest build is added as well, along with a script and VSCode debug target so that OSS contributors can very easily run and debug tests on any OS.

Note that this isn't completely done (need to revise Windows, Mac, documentation), but should be finished enough otherwise for review.

Changelog: [Internal]

Reviewed By: cortinico

Differential Revision: D42406686

fbshipit-source-id: 95e7ba5e4751c496a171785490e85cf0097fa839
This commit is contained in:
Nick Gerleman
2023-01-16 07:56:11 -08:00
committed by Facebook GitHub Bot
parent 53872e2521
commit 83c6997f29
21 changed files with 380 additions and 119 deletions

28
unit_tests.bat Executable file
View File

@@ -0,0 +1,28 @@
@REM Copyright (c) Meta Platforms, Inc. and affiliates.
@REM
@REM This source code is licensed under the MIT license found in the
@REM LICENSE file in the root directory of this source tree.
@echo off
SETLOCAL
cd "%0\..\tests"
if "%1" == "" (
set build_type="Debug"
) else (
set build_type="%1"
)
where ninja
if errorlevel 1 (
cmake -B build -S . -D CMAKE_BUILD_TYPE="%build_type%"
) else (
cmake -B build -S . -D CMAKE_BUILD_TYPE="%build_type%" -G Ninja
)
if %errorlevel% neq 0 exit /b %errorlevel%
cmake --build build
if %errorlevel% neq 0 exit /b %errorlevel%
.\build\yogatests.exe