)
endif (WIN32)
+# Keep the stable Redump DAT resources with the CMake-built executable.
+# This makes source-tree builds independent of the process working directory.
+file (MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/redump_dat")
+foreach (FRIIDUMP_REDUMP_DAT_FILE
+ "Microsoft - Xbox.dat"
+ "Nintendo - GameCube.dat"
+ "Nintendo - Wii.dat"
+ "README.txt"
+)
+ configure_file (
+ "${FriiDump_SOURCE_DIR}/redump_dat/${FRIIDUMP_REDUMP_DAT_FILE}"
+ "${CMAKE_CURRENT_BINARY_DIR}/redump_dat/${FRIIDUMP_REDUMP_DAT_FILE}"
+ COPYONLY
+ )
+endforeach ()
+
add_executable (
friidump
friidump.c
+ native_report.c
+ native_report.h
redump_dat.c
redump_dat.h
${additional_sources}
)
+if (UNIX AND NOT WIN32)
+ target_sources (friidump PRIVATE linux_rawio.c linux_rawio.h)
+endif ()
+
# Link the executable to the Hello library.
target_link_libraries (
friidump
friidumplib
)
+if (FRIIDUMP_BUILD_COMMIT)
+ target_compile_definitions (
+ friidump
+ PRIVATE FRIIDUMP_BUILD_COMMIT="${FRIIDUMP_BUILD_COMMIT}"
+ )
+endif (FRIIDUMP_BUILD_COMMIT)
+
+if (WIN32)
+ target_link_libraries (friidump ole32)
+endif (WIN32)
+
if (WIN32)
# We only want a version number on Windows (Is it any use?)
set_target_properties (friidump PROPERTIES VERSION 0.2)
TARGETS friidump
RUNTIME DESTINATION /
)
+ install(
+ DIRECTORY "${FriiDump_SOURCE_DIR}/redump_dat/"
+ DESTINATION redump_dat
+ )
else (WIN32)
install(
TARGETS friidump
RUNTIME DESTINATION bin
)
-endif (WIN32)
\ No newline at end of file
+ install(
+ DIRECTORY "${FriiDump_SOURCE_DIR}/redump_dat/"
+ DESTINATION share/friidump/redump_dat
+ )
+endif (WIN32)
+if (BUILD_NATIVE_REPORT_TESTS)
+ if (UNIX AND NOT WIN32)
+ add_executable (
+ friidump-linux-rawio-test
+ ${FriiDump_SOURCE_DIR}/tests/test_linux_rawio.c
+ linux_rawio.c
+ linux_rawio.h
+ )
+ target_include_directories (friidump-linux-rawio-test PRIVATE ${FriiDump_SOURCE_DIR}/src)
+ endif ()
+
+ add_executable (
+ friidump-report-fixtures
+ ${FriiDump_SOURCE_DIR}/tests/test_native_report.c
+ ${FriiDump_SOURCE_DIR}/libfriidump/nintendo_disc_header.c
+ ${FriiDump_SOURCE_DIR}/libfriidump/nintendo_disc_header.h
+ ${FriiDump_SOURCE_DIR}/libfriidump/xbox_region.c
+ ${FriiDump_SOURCE_DIR}/libfriidump/xbox_region.h
+ native_report.c
+ native_report.h
+ )
+ target_include_directories (friidump-report-fixtures PRIVATE ${FriiDump_SOURCE_DIR}/src ${FriiDump_SOURCE_DIR}/libfriidump)
+ if (WIN32)
+ target_link_libraries (friidump-report-fixtures ole32)
+ endif (WIN32)
+
+ add_executable (
+ friidump-redump-dat-resolver-test
+ ${FriiDump_SOURCE_DIR}/tests/test_redump_dat_resolver.c
+ redump_dat.c
+ redump_dat.h
+ )
+ target_include_directories (friidump-redump-dat-resolver-test PRIVATE ${FriiDump_SOURCE_DIR}/src)
+
+ add_executable (
+ friidump-redump-dat-verify-test
+ ${FriiDump_SOURCE_DIR}/tests/test_redump_dat_verify.c
+ redump_dat.c
+ redump_dat.h
+ )
+ target_include_directories (friidump-redump-dat-verify-test PRIVATE ${FriiDump_SOURCE_DIR}/src)
+
+ add_executable (
+ friidump-xbox-portable-metadata-test
+ ${FriiDump_SOURCE_DIR}/tests/test_xbox_portable_metadata.c
+ )
+ target_include_directories (friidump-xbox-portable-metadata-test PRIVATE ${FriiDump_SOURCE_DIR}/libfriidump)
+ target_link_libraries (friidump-xbox-portable-metadata-test friidumplib)
+endif (BUILD_NATIVE_REPORT_TESTS)