Skip to content

Commit 01ff301

Browse files
committed
Directional Stats Unit tests updates for Average Orientations
1 parent 3a8dae7 commit 01ff301

21 files changed

Lines changed: 820 additions & 434 deletions

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ release
3737
debug
3838
Test/ProjectTest/Build
3939
CMakeUserPresets.json
40+
.claude
4041

4142
# Python build-related files
4243
pyebsd/build/

CMakeLists.txt

Lines changed: 68 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ project(EbsdLibProj VERSION 2.2.0)
4141

4242

4343
# Request C++17 standard, using new CMake variables.
44-
set(CMAKE_CXX_STANDARD 17)
44+
set(CMAKE_CXX_STANDARD 20)
4545
set(CMAKE_CXX_STANDARD_REQUIRED ON)
4646
set(CMAKE_CXX_EXTENSIONS OFF)
4747

@@ -114,6 +114,13 @@ else()
114114
message(WARNING "The Eigen Library is required for some algorithms to execute. These algorithms will be disabled.")
115115
endif()
116116

117+
118+
# -----------------------------------------------------------------------
119+
# Find FMT library
120+
# -----------------------------------------------------------------------
121+
find_package(fmt CONFIG REQUIRED)
122+
123+
117124
#-------------------------------------------------------------------------------
118125
# Determine if we need the ghcFilesystem library
119126
#-------------------------------------------------------------------------------
@@ -160,6 +167,66 @@ endif()
160167

161168
include(${EbsdLibProj_SOURCE_DIR}/Source/EbsdLib/SourceList.cmake)
162169

170+
171+
172+
# ------------------------------------------------------------------------------
173+
# Check if a different Data_Archive web site is being used.
174+
# The alternate would be for the internal build bots that can download from a
175+
# local webserver
176+
# ------------------------------------------------------------------------------
177+
if("${DATA_ARCHIVE_WEB_SITE}" STREQUAL "")
178+
set(DATA_ARCHIVE_WEB_SITE "https://github.com/bluequartzsoftware/ebsdlib/releases/download/Data_Archive/")
179+
endif()
180+
181+
file(TO_CMAKE_PATH "${EBSDLIB_DATA_DIR}" EBSDLIB_DATA_DIR_NORM)
182+
183+
184+
# -----------------------------------------------------------------------
185+
# This section creates a global file that holds the commands to copy data
186+
# files, test data files, pipelines into a single cmake file that gets
187+
# generated. This reduces the many copy targets to a single target.
188+
# -----------------------------------------------------------------------
189+
set_property(GLOBAL PROPERTY FETCH_FILE_INDEX 0)
190+
set(FETCH_FILE_PATH "${EbsdLibProj_BINARY_DIR}/EbsdLibProj_fetch_remote_files.cmake")
191+
set_property(GLOBAL PROPERTY FETCH_FILE_PATH "${FETCH_FILE_PATH}")
192+
file(WRITE ${FETCH_FILE_PATH} "# -----------------------------------------------------------------------
193+
# This file is programmatically generated from the CMake file ${CMAKE_CURRENT_LIST_FILE}
194+
# This file has the commands to download each of the test files.
195+
# The WORKING_DIRECTORY is set to the following CMake code:
196+
# ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/$<$<CONFIG:Debug>:Debug>$<$<CONFIG:Release>:Release>
197+
# -----------------------------------------------------------------------\n
198+
cmake_policy(SET CMP0012 NEW)
199+
cmake_policy(SET CMP0054 NEW)
200+
# The ``FindPythonInterp`` and ``FindPythonLibs`` modules are removed.
201+
# if(CMAKE_VERSION VERSION_GREATER \"3.27.0\")
202+
# cmake_policy(SET CMP0148 NEW)
203+
# endif()
204+
# resolves symlinks before collapsing ../ components.
205+
if(CMAKE_VERSION VERSION_GREATER \"3.28.0\")
206+
cmake_policy(SET CMP0152 NEW)
207+
endif()
208+
set(CONFIG \${CMAKE_CONFIG})
209+
set(LOG_FILE \"${EbsdLibProj_BINARY_DIR}/EbsdLibProj_fetch_remote_files.log\")\n
210+
FILE(WRITE \"\${LOG_FILE}\" \"Featch File Log Start\n\")\n
211+
")
212+
213+
message(STATUS "FETCH_FILE_PATH: ${FETCH_FILE_PATH}")
214+
215+
set(TEST_WORKING_DIR "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}")
216+
if(CMAKE_GENERATOR MATCHES "Visual Studio")
217+
set(TEST_WORKING_DIR "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/$<$<CONFIG:Debug>:Debug>$<$<CONFIG:Release>:Release>")
218+
endif()
219+
220+
if(EBSDLIB_DOWNLOAD_TEST_FILES)
221+
add_custom_target(EbsdLib_Fetch_Remote_Data_Files ALL
222+
COMMAND "${CMAKE_COMMAND}" -DCMAKE_CONFIG=$<CONFIG> -P "${FETCH_FILE_PATH}"
223+
COMMENT "Downloading EbsdLib Test Data Files"
224+
# WORKING_DIRECTORY "${TEST_WORKING_DIR}"
225+
)
226+
set_target_properties(EbsdLib_Fetch_Remote_Data_Files PROPERTIES FOLDER ZZ_FETCH_TEST_FILES)
227+
endif()
228+
229+
163230
# ------------------------------------------------------------------------------
164231
# Build Unit Test
165232
# ------------------------------------------------------------------------------

CMakePresets.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,14 @@
6161
"type": "BOOL",
6262
"value": "ON"
6363
},
64+
"EBSDLIB_DOWNLOAD_TEST_FILES": {
65+
"type": "BOOL",
66+
"value": "ON"
67+
},
68+
"EBSDLIB_DATA_DIR": {
69+
"type": "PATH",
70+
"value": "${sourceDir}/../EbsdLib_Data"
71+
},
6472
"BUILDNAME": {
6573
"type": "STRING",
6674
"value": "$env{PRESET_NAME}-$env{BUILD_BUILDNUMBER}-PR$env{SYSTEM_PULLREQUEST_PULLREQUESTNUMBER}"

Source/Apps/generate_ipf_legends.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,16 +33,16 @@
3333

3434
using namespace ebsdlib;
3535

36-
// const std::string k_Output_Dir(UnitTest::DataDir + "/IPF_Legend/");
37-
const std::string k_Output_Dir(UnitTest::TestTempDir + "/IPF_Legend/");
36+
// const std::string k_Output_Dir(ebsdlib::unit_test::DataDir + "/IPF_Legend/");
37+
const std::string k_Output_Dir(ebsdlib::unit_test::TestTempDir + "/IPF_Legend/");
3838

3939
using EbsdDoubleArrayType = EbsdDataArray<float>;
4040
using EbsdDoubleArrayPointerType = EbsdDoubleArrayType::Pointer;
4141
using OCType = OrientationConverter<ebsdlib::DoubleArrayType, float>;
4242

4343
std::map<std::string, int32_t> k_AlgorithmIndexMap = {{"eu", 0}, {"om", 1}, {"qu", 2}, {"aa", 3}, {"ro", 4}, {"ho", 5}, {"cu", 6}, {"st", 7}};
4444

45-
const std::string k_QuatsFilePath(UnitTest::DataDir + "IPF_Legend/quats_000_1_deg.txt");
45+
const std::string k_QuatsFilePath(ebsdlib::unit_test::DataDir + "IPF_Legend/quats_000_1_deg.txt");
4646

4747
// -----------------------------------------------------------------------------
4848
template <typename T>

0 commit comments

Comments
 (0)