diff --git a/CMakeLists.txt b/CMakeLists.txt index 8b95bfbc..a11c0c44 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -22,6 +22,9 @@ add_subdirectory("ext/zlib") add_subdirectory("ext/VFS") target_link_libraries(bfVFS PRIVATE 7z) +# ja2export utility +add_subdirectory("ext/export/src") + # internal libraries that are Good add_subdirectory(Lua) diff --git a/ext/export/src/CMakeLists.txt b/ext/export/src/CMakeLists.txt new file mode 100644 index 00000000..6753f13f --- /dev/null +++ b/ext/export/src/CMakeLists.txt @@ -0,0 +1,29 @@ +option(BUILD_JA2EXPORT "Build the Ja2Export tool." ON) + +if(BUILD_JA2EXPORT) + message(STATUS "Configuring Ja2Export") + + add_executable(Ja2Export + init_vfs.cpp + main.cpp + progress_bar.cpp + ja2/himage.cpp + ja2/XMLWriter.cpp + export/jsd/export_jsd.cpp + export/jsd/structure.cpp + export/slf/export_slf.cpp + export/sti/export_sti.cpp + export/sti/Image.cpp + export/sti/stci_image_utils.cpp + export/sti/STCI_lib.cpp + ) + target_include_directories(Ja2Export PUBLIC + "${CMAKE_CURRENT_SOURCE_DIR}" + ) + target_link_libraries(Ja2Export PUBLIC bfVFS libpng) + set_target_properties(Ja2Export PROPERTIES + RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} + ) +else() + message(STATUS "BUILD_JA2EXPORT set to \"OFF\", not configuring Ja2Export by default") +endif() diff --git a/ext/export/src/main.cpp b/ext/export/src/main.cpp index 7a6902ac..013af721 100644 --- a/ext/export/src/main.cpp +++ b/ext/export/src/main.cpp @@ -81,16 +81,16 @@ int wmain(int argc, wchar_t **argv) param_list.push_back(*argv++); }; - std::auto_ptr cmd_help(new HelpCommand()); + auto cmd_help{ std::make_unique() }; g_command_map[HelpCommand::commandString] = cmd_help.get(); - std::auto_ptr cmd_sti(new ja2xp::CExportSTI()); + auto cmd_sti{ std::make_unique() }; g_command_map[ja2xp::CExportSTI::commandString] = cmd_sti.get(); - std::auto_ptr cmd_slf(new ja2xp::CExportSLF()); + auto cmd_slf{ std::make_unique() }; g_command_map[ja2xp::CExportSLF::commandString] = cmd_slf.get(); - std::auto_ptr cmd_jsd(new ja2xp::CExportJSD()); + auto cmd_jsd{ std::make_unique() }; g_command_map[ja2xp::CExportJSD::commandString] = cmd_jsd.get(); if(!param_list.empty())