diff options
author | cen1 <cen.is.imba@gmail.com> | 2025-04-18 15:28:40 +0200 |
---|---|---|
committer | cen1 <cen.is.imba@gmail.com> | 2025-05-25 19:42:45 +0200 |
commit | 4b38800ab7eba3db99935b5aa3d79c02395cfc95 (patch) | |
tree | b93af75e349e1644dbf02186125f3e20095775fa /test | |
parent | da046e71d9cfdfc0e143b6be0e496fddb9c6bab9 (diff) |
- modernize CMake by adding target_ where missing, split add_library and sources (target_sources), some reordering
- make tests it's own CMake project
- add CMake option to override hardcoded test data paths
- improve CMake documentation, document all options
- add basic CI build for Debian, Fedora and Windows
- add release pipeline to create .deb, .rpm and Windows li/dll archives
Diffstat (limited to 'test')
-rw-r--r-- | test/CMakeLists.txt | 20 | ||||
-rwxr-xr-x | test/StormTest.cpp | 22 |
2 files changed, 32 insertions, 10 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt new file mode 100644 index 0000000..b646613 --- /dev/null +++ b/test/CMakeLists.txt @@ -0,0 +1,20 @@ +cmake_minimum_required(VERSION 3.10) + +set(TEST_SRC_FILES + StormTest.cpp +) + +# Option to use the legacy hardcoded paths +option(STORMTEST_USE_OLD_PATHS "Use hardcoded OS-specific default paths for WORK_PATH_ROOT" ON) + +if(NOT STORMTEST_USE_OLD_PATHS) + set(WORK_PATH_ROOT "${CMAKE_CURRENT_BINARY_DIR}/work") + add_compile_definitions(WORK_PATH_ROOT="${WORK_PATH_ROOT}") +endif() + +find_package(ALSA REQUIRED) +add_executable(StormLib_test ${TEST_SRC_FILES}) +target_link_libraries(StormLib_test storm ${ALSA_LIBRARIES}) +install(TARGETS StormLib_test RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + +add_test(NAME StormLib_test COMMAND StormLib_test)
\ No newline at end of file diff --git a/test/StormTest.cpp b/test/StormTest.cpp index 5a442a5..f9f2a03 100755 --- a/test/StormTest.cpp +++ b/test/StormTest.cpp @@ -155,16 +155,18 @@ typedef struct _WAVE_FILE_HEADER //------------------------------------------------------------------------------
// Local variables
-#ifdef STORMLIB_WINDOWS
-#define WORK_PATH_ROOT _T("\\Multimedia\\MPQs")
-#endif
-
-#ifdef STORMLIB_LINUX
-#define WORK_PATH_ROOT "/media/ladik/MPQs"
-#endif
-
-#ifdef STORMLIB_HAIKU
-#define WORK_PATH_ROOT "~/StormLib/test"
+#ifndef WORK_PATH_ROOT
+ #ifdef STORMLIB_WINDOWS
+ #define WORK_PATH_ROOT _T("\\Multimedia\\MPQs")
+ #endif
+
+ #ifdef STORMLIB_LINUX
+ #define WORK_PATH_ROOT "/media/ladik/MPQs"
+ #endif
+
+ #ifdef STORMLIB_HAIKU
+ #define WORK_PATH_ROOT "~/StormLib/test"
+ #endif
#endif
// Definition of the path separator
|