Skip to content

Commit cde3380

Browse files
committed
Improved how cmake toggles on and off unit test to reduce compile times after flags are changed
1 parent d2ad53c commit cde3380

File tree

4 files changed

+42
-39
lines changed

4 files changed

+42
-39
lines changed

projects/biogears/unit/CircuitTest/test_circuit_Gastrointestinal.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,10 @@
3434
#include <biogears/cdm/properties/SEScalarNeg1To1.h>
3535
#include <biogears/schema/cdm/EnvironmentConditions.hxx>
3636
//
37-
#ifdef DISABLE_BIOGEARS_Circuit_TEST
38-
#define TEST_FIXTURE_NAME DISABLED_Circuit_Fixture
37+
#ifdef DISABLE_BIOGEARS_Gastrointestinal_TEST
38+
#define TEST_FIXTURE_NAME DISABLED_Circuit_Gastrointestinal_Fixture
3939
#else
40-
#define TEST_FIXTURE_NAME Circuit_Fixture
40+
#define TEST_FIXTURE_NAME Circuit_Gastrointestinal_Fixture
4141
#endif
4242

4343
using namespace biogears;
@@ -211,4 +211,4 @@ TEST_F(TEST_FIXTURE_NAME, ExternalTemperature_Circuit)
211211
// //CoreToTemperatureGround.GetCapacitanceBaseline().SetValue((1.0 - skinMassFraction) * m_Patient->GetWeight(MassUnit::kg) * m_Config.GetBodySpecificHeat(HeatCapacitancePerMassUnit::J_Per_K_kg), HeatCapacitanceUnit::J_Per_K);
212212
// Core.GetHeatBaseline().SetValue(CoreToTemperatureGround.GetCapacitanceBaseline().GetValue(HeatCapacitanceUnit::J_Per_K) * Core.GetTemperature().GetValue(TemperatureUnit::K), EnergyUnit::J);
213213
// // GetValue(HeatCapacitanceUnit::J_Per_K) is the call that results in a throw
214-
//}
214+
//}

projects/biogears/unit/CircuitTest/test_circuit_MajorSystems.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212

1313

1414
#ifdef DISABLE_BIOGEARS_MajorSystems_TEST
15-
#define TEST_FIXTURE_NAME DISABLED_MajorSystems_Fixture
15+
#define TEST_FIXTURE_NAME DISABLED_Circuit_MajorSystems_Fixture
1616
#else
17-
#define TEST_FIXTURE_NAME SEMajorSystems_Fixture
17+
#define TEST_FIXTURE_NAME Circuit_MajorSystems_Fixture
1818
#endif
1919

2020
using namespace biogears;

projects/biogears/unit/cdm/properties/test_core_SENervouSystem.cpp renamed to projects/biogears/unit/cdm/properties/test_core_SENervousSystem.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@
2525
#include <biogears/cdm/properties/SEScalarTypes.h>
2626

2727
#ifdef DISABLE_BIOGEARS_SENervousSystem_TEST
28-
#define TEST_FIXTURE_NAME DISABLED_SENervousSystem_Fixture
28+
#define TEST_FIXTURE_NAME DISABLED_Core_SENervousSystem_Fixture
2929
#else
30-
#define TEST_FIXTURE_NAME SENervousSystem_Fixture
30+
#define TEST_FIXTURE_NAME Core_SENervousSystem_Fixture
3131
#endif
3232

3333
using namespace biogears;
@@ -177,4 +177,4 @@ TEST_F(TEST_FIXTURE_NAME, RightEyePupillaryResponse)
177177
EXPECT_EQ(NULL, dvalue);
178178
}
179179
//LeftEyePupillaryResponse
180-
//RightEyePupillaryResponse
180+
//RightEyePupillaryResponse

projects/unit/CMakeLists.txt

Lines changed: 33 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,8 @@ list(APPEND UNITTEST_LIBRARIES GTest::GTest GTest::Main
5959
${UNITTEST_HEADERS}
6060
${BIOGEARS_CORE_UNITTEST_HEADERS}
6161
${BIOGEARS_CORE_UNITTEST_SOURCES}
62-
${BIOGEARS_COMMON_UNITTEST_HEADERS}
63-
${BIOGEARS_COMMON_UNITTEST_SOURCES}
62+
${BIOGEARS_COMMON_UNITTEST_HEADERS}
63+
${BIOGEARS_COMMON_UNITTEST_SOURCES}
6464
${BIOGEARS_CMDLINE_UNITTEST_HEADERS}
6565
${BIOGEARS_CMDLINE_UNITTEST_SOURCES}
6666
${BIOGEARS_CIRCUIT_UNITTEST_HEADERS}
@@ -73,39 +73,46 @@ list(APPEND UNITTEST_LIBRARIES GTest::GTest GTest::Main
7373
# import unit test from Project/cmake/unit.cmake
7474
##################################################################V#############
7575
function( setup_unittest )
76-
cmake_parse_arguments( "_l"
77-
""
78-
"GROUP"
79-
"TESTS"
80-
${ARGN}
81-
)
82-
83-
if(UNITTEST_${_l_GROUP})
84-
foreach ( test_name IN LISTS _l_TESTS )
85-
option(UNITTEST_${_l_GROUP}_${test_name} "Enable test_core_angles" ON)
86-
mark_as_advanced(UNITTEST_${_l_GROUP}_${test_name})
87-
if ( NOT UNITTEST_${_l_GROUP}_${test_name})
88-
add_compile_definitions( DISABLE_BIOGEARS_${test_name}_TEST )
89-
endif()
90-
endforeach()
91-
endif()
76+
cmake_parse_arguments( "_l"
77+
""
78+
"GROUP;PREFIX"
79+
"TESTS"
80+
${ARGN}
81+
)
82+
if(UNITTEST_${_l_GROUP})
83+
foreach ( filepath IN LISTS _l_TESTS )
84+
string(REGEX REPLACE ".*\\/test_${_l_PREFIX}_(.*).cpp" "\\1" test_name ${filepath})
85+
option(UNITTEST_${_l_GROUP}_${test_name} "Enable ${_l_GROUP}_${test_name}" ON)
86+
mark_as_advanced(UNITTEST_${_l_GROUP}_${test_name})
87+
if ( NOT UNITTEST_${_l_GROUP}_${test_name})
88+
set_property( SOURCE ${filepath}
89+
PROPERTY
90+
COMPILE_DEFINITIONS DISABLE_BIOGEARS_${test_name}_TEST )
91+
endif()
92+
endforeach()
93+
endif()
9294
endfunction()
9395

9496
set(COMMON_TEST_LIST ${BIOGEARS_COMMON_UNITTEST_SOURCES})
95-
list(TRANSFORM COMMON_TEST_LIST REPLACE ".*\\/test_common_(.*).cpp" "\\1")
96-
setup_unittest( GROUP biogears-common
97+
# list(TRANSFORM COMMON_TEST_LIST REPLACE ".*\\/test_common_(.*).cpp" "\\1")
98+
setup_unittest( GROUP biogears-common PREFIX common
9799
TESTS
98100
${COMMON_TEST_LIST})
99101
set(CORE_TEST_LIST ${BIOGEARS_CORE_UNITTEST_SOURCES})
100-
list(TRANSFORM CORE_TEST_LIST REPLACE ".*\\/test_core_(.*).cpp" "\\1")
101-
setup_unittest( GROUP biogears-core
102+
# list(TRANSFORM CORE_TEST_LIST REPLACE ".*\\/test_core_(.*).cpp" "\\1")
103+
setup_unittest( GROUP biogears-core PREFIX core
102104
TESTS
103105
${CORE_TEST_LIST})
104106
set(CMDLINE_TEST_LIST ${BIOGEARS_CMDLINE_UNITTEST_SOURCES})
105-
list(TRANSFORM CMDLINE_TEST_LIST REPLACE ".*\\/test_cmdline_(.*).cpp" "\\1")
106-
setup_unittest( GROUP biogears-cmd
107+
# list(TRANSFORM CMDLINE_TEST_LIST REPLACE ".*\\/test_cmdline_(.*).cpp" "\\1")
108+
setup_unittest( GROUP biogears-cmd PREFIX cmd
107109
TESTS
108110
${CMDLINE_TEST_LIST})
111+
set(CIRCUIT_TEST_LIST ${BIOGEARS_CIRCUIT_UNITTEST_SOURCES})
112+
# list(TRANSFORM CIRCUIT_TEST_LIST REPLACE ".*\\/test_circuit_(.*).cpp" "\\1")
113+
setup_unittest( GROUP biogears-circuit PREFIX circuit
114+
TESTS
115+
${CIRCUIT_TEST_LIST})
109116

110117
set_target_properties(unittest PROPERTIES
111118
DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}
@@ -123,15 +130,11 @@ list(APPEND UNITTEST_LIBRARIES GTest::GTest GTest::Main
123130
)
124131

125132
if(WIN32)
126-
target_compile_options(unittest
127-
PRIVATE "-D_CRT_SECURE_NO_WARNINGS"
133+
target_compile_definitions(unittest
134+
PRIVATE "_CRT_SECURE_NO_WARNINGS"
128135
)
129136
endif()
130137

131-
if (${PROJECT_NAME}_BUILD_STATIC)
132-
add_definitions("-D${PROJECT_NAME}_BUILT_AS_STATIC")
133-
endif()
134-
135138
target_link_libraries(unittest
136139
${UNITTEST_LIBRARIES}
137140
${bio_LIBRARIES}

0 commit comments

Comments
 (0)