mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Improve test building with the Xcode generator.
Add CONFIGURATIONS keyword to unadorned tests, enables tests with multi-config generators. Add CONFIGURATION generator expression to libgtest.a and libgmock.a build directory specs when building with Xcode so that it can find them when building tests.
This commit is contained in:
@@ -78,7 +78,7 @@ function(gnc_add_test _TARGET _SOURCE_FILES TEST_INCLUDE_VAR_NAME TEST_LIBS_VAR_
|
||||
)
|
||||
set_tests_properties(${_TARGET} PROPERTIES ENVIRONMENT "GNC_UNINSTALLED=YES;GNC_BUILDDIR=${CMAKE_BINARY_DIR};${ARGN}")
|
||||
else()
|
||||
add_test(NAME ${_TARGET} COMMAND ${_TARGET})
|
||||
add_test(NAME ${_TARGET} COMMAND ${_TARGET} CONFIGURATIONS Debug;Release)
|
||||
set_tests_properties(${_TARGET} PROPERTIES ENVIRONMENT "GNC_UNINSTALLED=YES;GNC_BUILDDIR=${CMAKE_BINARY_DIR}")
|
||||
endif()
|
||||
add_dependencies(check ${_TARGET})
|
||||
@@ -133,7 +133,11 @@ function(gnc_gtest_configure)
|
||||
"${GTEST_SRC_DIR}/src/gtest_main.cc"
|
||||
"${GTEST_SRC_DIR}/src/gtest-all.cc"
|
||||
PARENT_SCOPE)
|
||||
set(GTEST_LIB "${CMAKE_BINARY_DIR}/common/test-core/libgtest.a" PARENT_SCOPE)
|
||||
if (CMAKE_GENERATOR STREQUAL Xcode)
|
||||
set(GTEST_LIB "${CMAKE_BINARY_DIR}/common/test-core/$<CONFIGURATION>/libgtest.a" PARENT_SCOPE)
|
||||
else()
|
||||
set(GTEST_LIB "${CMAKE_BINARY_DIR}/common/test-core/libgtest.a" PARENT_SCOPE)
|
||||
endif()
|
||||
endif()
|
||||
else()
|
||||
message(FATAL_ERROR "GTEST not found. Please install it or set GTEST_ROOT or GMOCK_ROOT")
|
||||
@@ -163,7 +167,11 @@ function(gnc_gtest_configure)
|
||||
unset(GMOCK_SRC_DIR CACHE)
|
||||
else()
|
||||
set(GMOCK_SRC "${GMOCK_MAIN_SRC_DIR}/gmock-all.cc" PARENT_SCOPE)
|
||||
set(GMOCK_LIB "${CMAKE_BINARY_DIR}/common/test-core/libgmock.a" PARENT_SCOPE)
|
||||
if (CMAKE_GENERATOR STREQUAL Xcode)
|
||||
set(GMOCK_LIB "${CMAKE_BINARY_DIR}/common/test-core/$<CONFIGURATION>/libgmock.a" PARENT_SCOPE)
|
||||
else()
|
||||
set(GMOCK_LIB "${CMAKE_BINARY_DIR}/common/test-core/libgmock.a" PARENT_SCOPE)
|
||||
endif()
|
||||
endif()
|
||||
else()
|
||||
message(FATAL_ERROR "GMOCK not found. Please install it or set GMOCK_ROOT")
|
||||
|
||||
@@ -98,5 +98,6 @@ set(test-real-data-env
|
||||
add_test(NAME test-real-data
|
||||
COMMAND ${CMAKE_COMMAND} -E env
|
||||
${SHELL} ${CMAKE_CURRENT_SOURCE_DIR}/test-real-data.sh
|
||||
CONFIGURATIONS Debug;Release
|
||||
)
|
||||
set_tests_properties(test-real-data PROPERTIES ENVIRONMENT "${test-real-data-env}")
|
||||
|
||||
@@ -19,7 +19,7 @@ endmacro()
|
||||
|
||||
add_executable(test-link EXCLUDE_FROM_ALL test-link.c)
|
||||
target_link_libraries(test-link gnc-core-utils)
|
||||
add_test(NAME test-link COMMAND test-link)
|
||||
add_test(NAME test-link COMMAND test-link CONFIGURATIONS Debug;Release)
|
||||
add_dependencies(check test-link)
|
||||
|
||||
#################################################
|
||||
|
||||
Reference in New Issue
Block a user