aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/CMakeLists.txt20
-rwxr-xr-xtest/StormTest.cpp22
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 b769e02..c4eff22 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