mirror of
https://github.com/aaru-dps/libaaruformat.git
synced 2026-04-05 21:51:03 +00:00
build: modify compare tool handling for Windows compatibility
This commit is contained in:
@@ -4,9 +4,15 @@ project(aaruformattool C CXX)
|
||||
# Find required dependencies
|
||||
find_package(ICU COMPONENTS uc REQUIRED)
|
||||
find_package(Argtable3 CONFIG REQUIRED)
|
||||
find_package(Curses REQUIRED)
|
||||
find_package(ZLIB REQUIRED)
|
||||
|
||||
# termbox2-based compare is POSIX-only; on Windows use cli-compare instead
|
||||
if(NOT WIN32)
|
||||
set(AARUFORMATTOOL_COMPARE_SOURCES compare.c termbox2.h)
|
||||
else()
|
||||
set(AARUFORMATTOOL_COMPARE_SOURCES "")
|
||||
endif()
|
||||
|
||||
# Tool executable
|
||||
add_executable(aaruformattool
|
||||
main.c
|
||||
@@ -23,7 +29,7 @@ add_executable(aaruformattool
|
||||
commands.c
|
||||
usage.h
|
||||
usage.c
|
||||
compare.c
|
||||
${AARUFORMATTOOL_COMPARE_SOURCES}
|
||||
cli_compare.c
|
||||
convert.c
|
||||
upgrade_ddt_to_alpha21.c
|
||||
@@ -46,14 +52,15 @@ add_executable(aaruformattool
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../src/ngcw/lfg.c
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../src/ngcw/ngcw_junk.c
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/../src/ngcw/wii_crypto.c
|
||||
termbox2.h
|
||||
)
|
||||
|
||||
# Set C as the linker language (even though we enable CXX for stdlib)
|
||||
set_target_properties(aaruformattool PROPERTIES LINKER_LANGUAGE C)
|
||||
|
||||
aaru_enable_large_file_support(aaruformattool)
|
||||
|
||||
# Set up include directories
|
||||
target_include_directories(aaruformattool PRIVATE ${ICU_INCLUDE_DIRS} ${CURSES_INCLUDE_DIRS})
|
||||
target_include_directories(aaruformattool PRIVATE ${ICU_INCLUDE_DIRS})
|
||||
|
||||
# Link libraries
|
||||
target_link_libraries(aaruformattool
|
||||
@@ -62,7 +69,6 @@ target_link_libraries(aaruformattool
|
||||
argtable3::argtable3
|
||||
ICU::uc
|
||||
ZLIB::ZLIB
|
||||
${CURSES_LIBRARIES}
|
||||
)
|
||||
|
||||
# On Linux, enable GNU/POSIX feature test macros so functions like strerror_r
|
||||
|
||||
@@ -63,6 +63,7 @@ int cmd_info(int argc, char *argv[])
|
||||
return result;
|
||||
}
|
||||
|
||||
#if !defined(_WIN32) && !defined(_WIN64)
|
||||
int cmd_compare(int argc, char *argv[])
|
||||
{
|
||||
struct arg_str *filename1 = arg_str1(NULL, NULL, "<filename1>", "First image to compare");
|
||||
@@ -82,6 +83,7 @@ int cmd_compare(int argc, char *argv[])
|
||||
arg_freetable(argtable, sizeof(argtable) / sizeof(argtable[0]));
|
||||
return result;
|
||||
}
|
||||
#endif /* !_WIN32 && !_WIN64 */
|
||||
|
||||
int cmd_cli_compare(int argc, char *argv[])
|
||||
{
|
||||
@@ -293,7 +295,9 @@ Command commands[] = {
|
||||
{ "read_long", cmd_read_long},
|
||||
{ "verify", cmd_verify},
|
||||
{ "verify_sectors", cmd_verify_sectors},
|
||||
#if !defined(_WIN32) && !defined(_WIN64)
|
||||
{ "compare", cmd_compare},
|
||||
#endif
|
||||
{ "cli-compare", cmd_cli_compare},
|
||||
{ "convert", cmd_convert},
|
||||
{"upgrade-ddt-to-alpha21", cmd_upgrade_ddt_to_alpha21},
|
||||
|
||||
@@ -38,7 +38,9 @@ int cmd_read(int argc, char *argv[]);
|
||||
int cmd_read_long(int argc, char *argv[]);
|
||||
int cmd_verify(int argc, char *argv[]);
|
||||
int cmd_verify_sectors(int argc, char *argv[]);
|
||||
#if !defined(_WIN32) && !defined(_WIN64)
|
||||
int cmd_compare(int argc, char *argv[]);
|
||||
#endif
|
||||
int cmd_cli_compare(int argc, char *argv[]);
|
||||
int cmd_convert(int argc, char *argv[]);
|
||||
int cmd_upgrade_ddt_to_alpha21(int argc, char *argv[]);
|
||||
|
||||
Reference in New Issue
Block a user