Fix MSVC builds and test runs

Change-Id: I79f839b22985a6510965559af54209d89c8703a0
This commit is contained in:
Sergiu Deitsch
2024-07-07 18:34:39 +02:00
parent 540b1f2f7a
commit e47a42c295
3 changed files with 10 additions and 4 deletions
+1 -1
View File
@@ -36,8 +36,8 @@ jobs:
run: | run: |
sudo apt-get update sudo apt-get update
sudo apt-get install -y \ sudo apt-get install -y \
git \
ccache \ ccache \
git \
ninja-build ninja-build
- uses: actions/checkout@v4 - uses: actions/checkout@v4
+1 -1
View File
@@ -34,10 +34,10 @@ jobs:
run: | run: |
apt-get update apt-get update
apt-get install -y \ apt-get install -y \
git \
build-essential \ build-essential \
ccache \ ccache \
cmake \ cmake \
git \
libbenchmark-dev \ libbenchmark-dev \
libblas-dev \ libblas-dev \
libeigen3-dev \ libeigen3-dev \
+8 -2
View File
@@ -401,6 +401,10 @@ if (BUILD_TESTING)
target_link_libraries (test_util PUBLIC GTest::gmock ceres_static) target_link_libraries (test_util PUBLIC GTest::gmock ceres_static)
target_compile_definitions(test_util PRIVATE CERES_TEST_SRCDIR_SUFFIX="../../data") target_compile_definitions(test_util PRIVATE CERES_TEST_SRCDIR_SUFFIX="../../data")
if (BUILD_SHARED_LIBS)
target_compile_definitions(test_util PUBLIC GTEST_LINKED_AS_SHARED_LIBRARY=1)
endif (BUILD_SHARED_LIBS)
macro (CERES_TEST NAME) macro (CERES_TEST NAME)
add_executable(${NAME}_test ${NAME}_test.cc) add_executable(${NAME}_test ${NAME}_test.cc)
@@ -425,8 +429,10 @@ if (BUILD_TESTING)
target_link_libraries (${NAME}_test PRIVATE SuiteSparse::SPQR) target_link_libraries (${NAME}_test PRIVATE SuiteSparse::SPQR)
endif (TARGET SuiteSparse::SPQR) endif (TARGET SuiteSparse::SPQR)
add_test(NAME ${NAME}_test add_test(NAME ${NAME}_test COMMAND ${NAME}_test)
COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${NAME}_test) # Override testing::SrcDir to support multi-configuration builds, such as MSVC
# that write binaries into addtional configuration specific subdirectories.
set_tests_properties(${NAME}_test PROPERTIES ENVIRONMENT TEST_SRCDIR=${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
endmacro (CERES_TEST) endmacro (CERES_TEST)
ceres_test(array_utils) ceres_test(array_utils)