Skip to content

Commit

Permalink
Use CMAKE_SOURCE_DIR instead of "." for srcdir fallback
Browse files Browse the repository at this point in the history
Change-Id: I64958e8a3950b39076966d4bd6f45e32850cdd00
Reviewed-on: http://review.couchbase.org/114112
Tested-by: Build Bot <build@couchbase.com>
Reviewed-by: Sergey Avseyev <sergey.avseyev@gmail.com>
  • Loading branch information
avsej committed Sep 2, 2019
1 parent 43260cb commit 4777523
Show file tree
Hide file tree
Showing 7 changed files with 33 additions and 20 deletions.
17 changes: 0 additions & 17 deletions cmake/Modules/GenerateConfigDotH.cmake
Expand Up @@ -27,23 +27,6 @@ IF(UNIX)
CHECK_INCLUDE_FILES(arpa/nameser.h HAVE_ARPA_NAMESER_H)
ENDIF()

SET(CMAKE_TEST_SHARED_OBJECT "libm.so")
IF (WIN32)
SET(CMAKE_TEST_SHARED_OBJECT "kernel32.dll.")
CHECK_FUNCTION_EXISTS(_ftime64_s HAVE__FTIME64_S)
ELSEIF (APPLE)
SET(CMAKE_TEST_SHARED_OBJECT "libm.dylib")
ELSEIF (CMAKE_SYSTEM_NAME STREQUAL "Linux")
EXECUTE_PROCESS(COMMAND ${CMAKE_LINKER} -lm -t
OUTPUT_VARIABLE LIBM_SO_TRACE
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE)
STRING(REGEX MATCH [-_a-z0-9/]+libm.so[.0-9]+ LIBM_SO_PATH ${LIBM_SO_TRACE})
IF (EXISTS "${LIBM_SO_PATH}")
GET_FILENAME_COMPONENT(CMAKE_TEST_SHARED_OBJECT ${LIBM_SO_PATH} NAME)
ENDIF()
ENDIF()

CONFIGURE_FILE(
${PROJECT_SOURCE_DIR}/cmake/config-cmake.h.in
${LCB_GENSRCDIR}/config.h)
6 changes: 6 additions & 0 deletions cmake/check_config.h.in
@@ -0,0 +1,6 @@
#ifndef CHECK_CONFIG_H
#define CHECK_CONFIG_H
#define TEST_SHARED_OBJECT "${CMAKE_TEST_SHARED_OBJECT}"
#define TEST_SRC_DIR "${CMAKE_SOURCE_DIR}"
#endif

1 change: 0 additions & 1 deletion cmake/config-cmake.h.in
Expand Up @@ -63,7 +63,6 @@

#define LCB_LIBDIR "${CMAKE_INSTALL_LIBDIR}/libcouchbase"

#define TEST_SHARED_OBJECT "${CMAKE_TEST_SHARED_OBJECT}"
#cmakedefine COMPILER_SUPPORTS_CXX11

#define LCB_SYSTEM "${CMAKE_SYSTEM}"
Expand Down
21 changes: 21 additions & 0 deletions tests/CMakeLists.txt
@@ -1,3 +1,24 @@
SET(CMAKE_TEST_SHARED_OBJECT "libm.so")
IF (WIN32)
SET(CMAKE_TEST_SHARED_OBJECT "kernel32.dll.")
CHECK_FUNCTION_EXISTS(_ftime64_s HAVE__FTIME64_S)
ELSEIF (APPLE)
SET(CMAKE_TEST_SHARED_OBJECT "libm.dylib")
ELSEIF (CMAKE_SYSTEM_NAME STREQUAL "Linux")
EXECUTE_PROCESS(COMMAND ${CMAKE_LINKER} -lm -t
OUTPUT_VARIABLE LIBM_SO_TRACE
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE)
STRING(REGEX MATCH [-_a-z0-9/]+libm.so[.0-9]+ LIBM_SO_PATH ${LIBM_SO_TRACE})
IF (EXISTS "${LIBM_SO_PATH}")
GET_FILENAME_COMPONENT(CMAKE_TEST_SHARED_OBJECT ${LIBM_SO_PATH} NAME)
ENDIF()
ENDIF()

CONFIGURE_FILE(
${PROJECT_SOURCE_DIR}/cmake/check_config.h.in
${LCB_GENSRCDIR}/check_config.h)

# For Windows+GCC we need to link statically
IF (NOT (WIN32 AND CMAKE_COMPILER_IS_GNUCC))
SET(gtest_force_shared_crt ON CACHE BOOL "" )
Expand Down
4 changes: 3 additions & 1 deletion tests/check-all.cc
Expand Up @@ -36,6 +36,8 @@
#include <sstream>

#include "config.h"
#include "check_config.h"

#include "mocksupport/procutil.h"
#define CLIOPTS_ENABLE_CXX
#include "contrib/cliopts/cliopts.h"
Expand Down Expand Up @@ -299,7 +301,7 @@ class TestConfiguration
// Evaluated *before*
std::string getDefaultSrcroot()
{
return ".";
return TEST_SRC_DIR;
}

std::string getDefaultTestdir()
Expand Down
1 change: 1 addition & 0 deletions tests/iotests/t_behavior.cc
Expand Up @@ -16,6 +16,7 @@
*/

#include "config.h"
#include "check_config.h"
#include <gtest/gtest.h>
#include <libcouchbase/couchbase.h>
#include <map>
Expand Down
3 changes: 2 additions & 1 deletion tests/mocksupport/server.c
Expand Up @@ -15,6 +15,7 @@
* limitations under the License.
*/
#include "config.h"
#include "check_config.h"
#include "server.h"
#include <stdio.h>
#include <stdlib.h>
Expand Down Expand Up @@ -264,7 +265,7 @@ static int start_mock_server(struct test_server_info *info, char **cmdline)
const char *srcdir = getenv("srcdir");

if (srcdir == NULL) {
srcdir = ".";
srcdir = TEST_SRC_DIR;
}

snprintf(wrapper, sizeof(wrapper), "%s" DIRSEP "tests" DIRSEP WRAPPER_BASE, srcdir);
Expand Down

0 comments on commit 4777523

Please sign in to comment.