Skip to content

Commit 9fc4e8a

Browse files
Make it possible to pass extra build flags for test executable
These can be used to enable coverage or sanitizers for the tested code.
1 parent fa158ac commit 9fc4e8a

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

test/CMakeLists.txt

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,16 @@ cmake_minimum_required(VERSION 3.18)
33
project(meshAPItest LANGUAGES CXX)
44

55
set(CMAKE_CXX_STANDARD 17)
6-
set(CMAKE_BUILD_TYPE RelWithDebInfo)
6+
if(NOT CMAKE_BUILD_TYPE)
7+
set(CMAKE_BUILD_TYPE RelWithDebInfo)
8+
endif()
79
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
810

11+
set(TEST_EXTRA_CFLAGS "" CACHE STRING "Extra compiler flags for WPC library and test code. For example '--coverage'.")
12+
set(TEST_EXTRA_LDFLAGS "" CACHE STRING "Extra linker flags for the test executable. For example '--coverage'.")
13+
separate_arguments(TEST_EXTRA_CFLAGS)
14+
separate_arguments(TEST_EXTRA_LDFLAGS)
15+
916
add_compile_options(-Wall -Werror -Wextra)
1017

1118
set(WPC_LIB_DIR "${CMAKE_CURRENT_LIST_DIR}/../lib/")
@@ -42,3 +49,8 @@ target_link_libraries(${CMAKE_PROJECT_NAME}
4249
include(GoogleTest)
4350
gtest_discover_tests(${CMAKE_PROJECT_NAME})
4451

52+
target_compile_options(wpc PRIVATE ${TEST_EXTRA_CFLAGS})
53+
target_compile_options(wpc_platform PRIVATE ${TEST_EXTRA_CFLAGS})
54+
target_compile_options(${CMAKE_PROJECT_NAME} PRIVATE ${TEST_EXTRA_CFLAGS})
55+
target_link_options(${CMAKE_PROJECT_NAME} PRIVATE ${TEST_EXTRA_LDFLAGS})
56+

0 commit comments

Comments
 (0)