# Make sure the compiler can find include files from our Hello library. include_directories ( ${FriiDump_SOURCE_DIR}/libfriidump ) # Make sure the linker can find the Hello library once it is built. link_directories ( ${FriiDump_BINARY_DIR}/libfriidump ) # Add executable called "helloDemo" that is built from the source files # "demo.cxx" and "demo_b.cxx". The extensions are automatically found. if (WIN32) set( additional_sources getopt-win32.h getopt-win32.c getopt_long-win32.c ) 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) install( TARGETS friidump RUNTIME DESTINATION / ) install( DIRECTORY "${FriiDump_SOURCE_DIR}/redump_dat/" DESTINATION redump_dat ) else (WIN32) install( TARGETS friidump RUNTIME DESTINATION bin ) 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)