Migrate to CMake to update packages easier
This commit is contained in:
parent
69310d40ae
commit
34575a9786
12 changed files with 740 additions and 10 deletions
502
CMakeLists.txt
Normal file
502
CMakeLists.txt
Normal file
|
@ -0,0 +1,502 @@
|
||||||
|
cmake_minimum_required(VERSION 3.11)
|
||||||
|
|
||||||
|
project(Aegisub)
|
||||||
|
|
||||||
|
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
|
||||||
|
|
||||||
|
include_directories("build")
|
||||||
|
include_directories("libaegisub/include")
|
||||||
|
include_directories("vendor/luajit/include")
|
||||||
|
|
||||||
|
add_library(libaegisub STATIC
|
||||||
|
libaegisub/common/parser.cpp
|
||||||
|
libaegisub/ass/dialogue_parser.cpp
|
||||||
|
libaegisub/ass/time.cpp
|
||||||
|
libaegisub/ass/uuencode.cpp
|
||||||
|
libaegisub/audio/provider.cpp
|
||||||
|
libaegisub/audio/provider_convert.cpp
|
||||||
|
libaegisub/audio/provider_dummy.cpp
|
||||||
|
libaegisub/audio/provider_hd.cpp
|
||||||
|
libaegisub/audio/provider_lock.cpp
|
||||||
|
libaegisub/audio/provider_pcm.cpp
|
||||||
|
libaegisub/audio/provider_ram.cpp
|
||||||
|
libaegisub/common/cajun/elements.cpp
|
||||||
|
libaegisub/common/cajun/reader.cpp
|
||||||
|
libaegisub/common/cajun/writer.cpp
|
||||||
|
libaegisub/lua/modules/lfs.cpp
|
||||||
|
libaegisub/lua/modules/re.cpp
|
||||||
|
libaegisub/lua/modules/unicode.cpp
|
||||||
|
libaegisub/lua/modules/lpeg.c
|
||||||
|
libaegisub/lua/modules.cpp
|
||||||
|
libaegisub/lua/script_reader.cpp
|
||||||
|
libaegisub/lua/utils.cpp
|
||||||
|
libaegisub/common/calltip_provider.cpp
|
||||||
|
libaegisub/common/character_count.cpp
|
||||||
|
libaegisub/common/charset.cpp
|
||||||
|
libaegisub/common/charset_6937.cpp
|
||||||
|
libaegisub/common/charset_conv.cpp
|
||||||
|
libaegisub/common/color.cpp
|
||||||
|
libaegisub/common/file_mapping.cpp
|
||||||
|
libaegisub/common/format.cpp
|
||||||
|
libaegisub/common/fs.cpp
|
||||||
|
libaegisub/common/hotkey.cpp
|
||||||
|
libaegisub/common/io.cpp
|
||||||
|
libaegisub/common/json.cpp
|
||||||
|
libaegisub/common/kana_table.cpp
|
||||||
|
libaegisub/common/karaoke_matcher.cpp
|
||||||
|
libaegisub/common/keyframe.cpp
|
||||||
|
libaegisub/common/line_iterator.cpp
|
||||||
|
libaegisub/common/log.cpp
|
||||||
|
libaegisub/common/mru.cpp
|
||||||
|
libaegisub/common/option.cpp
|
||||||
|
libaegisub/common/option_value.cpp
|
||||||
|
libaegisub/common/path.cpp
|
||||||
|
libaegisub/common/thesaurus.cpp
|
||||||
|
libaegisub/common/util.cpp
|
||||||
|
libaegisub/common/vfr.cpp
|
||||||
|
libaegisub/common/ycbcr_conv.cpp
|
||||||
|
libaegisub/common/dispatch.cpp
|
||||||
|
)
|
||||||
|
if (UNIX)
|
||||||
|
target_sources(libaegisub PRIVATE
|
||||||
|
libaegisub/unix/access.cpp
|
||||||
|
libaegisub/unix/fs.cpp
|
||||||
|
libaegisub/unix/log.cpp
|
||||||
|
libaegisub/unix/path.cpp
|
||||||
|
libaegisub/unix/util.cpp
|
||||||
|
)
|
||||||
|
elseif(WIN32)
|
||||||
|
target_sources(libaegisub PRIVATE
|
||||||
|
libaegisub/windows/access.cpp
|
||||||
|
libaegisub/windows/charset_conv_win.cpp
|
||||||
|
libaegisub/windows/fs.cpp
|
||||||
|
libaegisub/windows/lagi_pre.cpp
|
||||||
|
libaegisub/windows/log_win.cpp
|
||||||
|
libaegisub/windows/path_win.cpp
|
||||||
|
libaegisub/windows/util_win.cpp
|
||||||
|
)
|
||||||
|
endif(UNIX)
|
||||||
|
SET_TARGET_PROPERTIES(libaegisub PROPERTIES PREFIX "")
|
||||||
|
|
||||||
|
add_library(luabins STATIC
|
||||||
|
vendor/luabins/src/fwrite.c
|
||||||
|
vendor/luabins/src/load.c
|
||||||
|
vendor/luabins/src/luabins.c
|
||||||
|
vendor/luabins/src/luainternals.c
|
||||||
|
vendor/luabins/src/save.c
|
||||||
|
vendor/luabins/src/savebuffer.c
|
||||||
|
vendor/luabins/src/write.c
|
||||||
|
)
|
||||||
|
|
||||||
|
add_executable(luajit-minilua vendor/luajit/src/host/minilua.c)
|
||||||
|
if (NOT MSVC)
|
||||||
|
target_link_libraries(luajit-minilua m)
|
||||||
|
endif(NOT MSVC)
|
||||||
|
add_custom_command(TARGET luajit-minilua POST_BUILD
|
||||||
|
COMMAND luajit-minilua ../dynasm/dynasm.lua -D P64 -D JIT -D FFI -D FPU -D HFABI -D VER= -o gen/buildvm_arch.h vm_x86.dasc
|
||||||
|
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/vendor/luajit/src
|
||||||
|
)
|
||||||
|
|
||||||
|
add_executable(luajit-buildvm
|
||||||
|
vendor/luajit/src/host/buildvm.c
|
||||||
|
vendor/luajit/src/host/buildvm_asm.c
|
||||||
|
vendor/luajit/src/host/buildvm_peobj.c
|
||||||
|
vendor/luajit/src/host/buildvm_lib.c
|
||||||
|
vendor/luajit/src/host/buildvm_fold.c
|
||||||
|
)
|
||||||
|
target_include_directories(luajit-buildvm PRIVATE vendor/luajit/src vendor/luajit/src/gen)
|
||||||
|
add_dependencies(luajit-buildvm luajit-minilua)
|
||||||
|
if(UNIX)
|
||||||
|
add_custom_command(TARGET luajit-buildvm POST_BUILD
|
||||||
|
COMMAND luajit-buildvm -m elfasm -o lj_vm.s
|
||||||
|
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/vendor/luajit/src
|
||||||
|
)
|
||||||
|
set_property(SOURCE vendor/luajit/src/lj_vm.s PROPERTY LANGUAGE C)
|
||||||
|
elseif(MSVC)
|
||||||
|
add_custom_command(TARGET luajit-buildvm POST_BUILD
|
||||||
|
COMMAND luajit-buildvm -m peobj -o lj_vm.obj
|
||||||
|
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/vendor/luajit/src
|
||||||
|
)
|
||||||
|
endif(UNIX)
|
||||||
|
add_custom_command(TARGET luajit-buildvm POST_BUILD
|
||||||
|
COMMAND luajit-buildvm -m ffdef -o gen/lj_ffdef.h lib_base.c lib_math.c lib_bit.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c lib_debug.c lib_jit.c lib_ffi.c
|
||||||
|
COMMAND luajit-buildvm -m bcdef -o gen/lj_bcdef.h lib_base.c lib_math.c lib_bit.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c lib_debug.c lib_jit.c lib_ffi.c
|
||||||
|
COMMAND luajit-buildvm -m folddef -o gen/lj_folddef.h lj_opt_fold.c
|
||||||
|
COMMAND luajit-buildvm -m recdef -o gen/lj_recdef.h lib_base.c lib_math.c lib_bit.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c lib_debug.c lib_jit.c lib_ffi.c
|
||||||
|
COMMAND luajit-buildvm -m libdef -o gen/lj_libdef.h lib_base.c lib_math.c lib_bit.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c lib_debug.c lib_jit.c lib_ffi.c
|
||||||
|
COMMAND luajit-buildvm -m vmdef -o jit/vmdef.lua lib_base.c lib_math.c lib_bit.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c lib_debug.c lib_jit.c lib_ffi.c
|
||||||
|
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/vendor/luajit/src
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
add_library(luajit STATIC
|
||||||
|
vendor/luajit/src/lj_gc.c
|
||||||
|
vendor/luajit/src/lj_err.c
|
||||||
|
vendor/luajit/src/lj_char.c
|
||||||
|
vendor/luajit/src/lj_bc.c
|
||||||
|
vendor/luajit/src/lj_obj.c
|
||||||
|
vendor/luajit/src/lj_str.c
|
||||||
|
vendor/luajit/src/lj_tab.c
|
||||||
|
vendor/luajit/src/lj_func.c
|
||||||
|
vendor/luajit/src/lj_udata.c
|
||||||
|
vendor/luajit/src/lj_meta.c
|
||||||
|
vendor/luajit/src/lj_debug.c
|
||||||
|
vendor/luajit/src/lj_state.c
|
||||||
|
vendor/luajit/src/lj_dispatch.c
|
||||||
|
vendor/luajit/src/lj_vmevent.c
|
||||||
|
vendor/luajit/src/lj_vmmath.c
|
||||||
|
vendor/luajit/src/lj_strscan.c
|
||||||
|
vendor/luajit/src/lj_api.c
|
||||||
|
vendor/luajit/src/lj_lex.c
|
||||||
|
vendor/luajit/src/lj_parse.c
|
||||||
|
vendor/luajit/src/lj_bcread.c
|
||||||
|
vendor/luajit/src/lj_bcwrite.c
|
||||||
|
vendor/luajit/src/lj_load.c
|
||||||
|
vendor/luajit/src/lj_ir.c
|
||||||
|
vendor/luajit/src/lj_opt_mem.c
|
||||||
|
vendor/luajit/src/lj_opt_fold.c
|
||||||
|
vendor/luajit/src/lj_opt_narrow.c
|
||||||
|
vendor/luajit/src/lj_opt_dce.c
|
||||||
|
vendor/luajit/src/lj_opt_loop.c
|
||||||
|
vendor/luajit/src/lj_opt_split.c
|
||||||
|
vendor/luajit/src/lj_opt_sink.c
|
||||||
|
vendor/luajit/src/lj_mcode.c
|
||||||
|
vendor/luajit/src/lj_snap.c
|
||||||
|
vendor/luajit/src/lj_record.c
|
||||||
|
vendor/luajit/src/lj_crecord.c
|
||||||
|
vendor/luajit/src/lj_ffrecord.c
|
||||||
|
vendor/luajit/src/lj_asm.c
|
||||||
|
vendor/luajit/src/lj_trace.c
|
||||||
|
vendor/luajit/src/lj_gdbjit.c
|
||||||
|
vendor/luajit/src/lj_ctype.c
|
||||||
|
vendor/luajit/src/lj_cdata.c
|
||||||
|
vendor/luajit/src/lj_cconv.c
|
||||||
|
vendor/luajit/src/lj_ccall.c
|
||||||
|
vendor/luajit/src/lj_ccallback.c
|
||||||
|
vendor/luajit/src/lj_carith.c
|
||||||
|
vendor/luajit/src/lj_clib.c
|
||||||
|
vendor/luajit/src/lj_cparse.c
|
||||||
|
vendor/luajit/src/lj_lib.c
|
||||||
|
vendor/luajit/src/lj_alloc.c
|
||||||
|
vendor/luajit/src/lib_aux.c
|
||||||
|
vendor/luajit/src/lib_base.c
|
||||||
|
vendor/luajit/src/lib_math.c
|
||||||
|
vendor/luajit/src/lib_bit.c
|
||||||
|
vendor/luajit/src/lib_string.c
|
||||||
|
vendor/luajit/src/lib_table.c
|
||||||
|
vendor/luajit/src/lib_io.c
|
||||||
|
vendor/luajit/src/lib_os.c
|
||||||
|
vendor/luajit/src/lib_package.c
|
||||||
|
vendor/luajit/src/lib_debug.c
|
||||||
|
vendor/luajit/src/lib_jit.c
|
||||||
|
vendor/luajit/src/lib_ffi.c
|
||||||
|
vendor/luajit/src/lib_init.c
|
||||||
|
)
|
||||||
|
if(MSVC)
|
||||||
|
target_sources(luajit PRIVATE vendor/luajit/src/lj_vm.obj)
|
||||||
|
else(MSVC)
|
||||||
|
target_sources(luajit PRIVATE vendor/luajit/src/lj_vm.s)
|
||||||
|
set_property(SOURCE vendor/luajit/src/lj_vm.s PROPERTY LANGUAGE C)
|
||||||
|
endif(MSVC)
|
||||||
|
target_include_directories(luajit PRIVATE vendor/luajit/src/gen)
|
||||||
|
add_dependencies(luajit luajit-buildvm)
|
||||||
|
target_compile_definitions(luajit PRIVATE LUAJIT_ENABLE_LUA52COMPAT)
|
||||||
|
|
||||||
|
add_library(resrc STATIC
|
||||||
|
src/libresrc/bitmap.cpp
|
||||||
|
src/libresrc/default_config.cpp
|
||||||
|
src/libresrc/libresrc.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
add_executable(Aegisub WIN32
|
||||||
|
src/command/app.cpp
|
||||||
|
src/command/audio.cpp
|
||||||
|
src/command/automation.cpp
|
||||||
|
src/command/command.cpp
|
||||||
|
src/command/edit.cpp
|
||||||
|
src/command/grid.cpp
|
||||||
|
src/command/help.cpp
|
||||||
|
src/command/keyframe.cpp
|
||||||
|
src/command/recent.cpp
|
||||||
|
src/command/subtitle.cpp
|
||||||
|
src/command/time.cpp
|
||||||
|
src/command/timecode.cpp
|
||||||
|
src/command/tool.cpp
|
||||||
|
src/command/video.cpp
|
||||||
|
src/command/vis_tool.cpp
|
||||||
|
src/dialog_about.cpp
|
||||||
|
src/dialog_attachments.cpp
|
||||||
|
src/dialog_automation.cpp
|
||||||
|
src/dialog_autosave.cpp
|
||||||
|
src/dialog_colorpicker.cpp
|
||||||
|
src/dialog_detached_video.cpp
|
||||||
|
src/dialog_dummy_video.cpp
|
||||||
|
src/dialog_export.cpp
|
||||||
|
src/dialog_export_ebu3264.cpp
|
||||||
|
src/dialog_fonts_collector.cpp
|
||||||
|
src/dialog_jumpto.cpp
|
||||||
|
src/dialog_kara_timing_copy.cpp
|
||||||
|
src/dialog_log.cpp
|
||||||
|
src/dialog_paste_over.cpp
|
||||||
|
src/dialog_progress.cpp
|
||||||
|
src/dialog_properties.cpp
|
||||||
|
src/dialog_resample.cpp
|
||||||
|
src/dialog_search_replace.cpp
|
||||||
|
src/dialog_selected_choices.cpp
|
||||||
|
src/dialog_selection.cpp
|
||||||
|
src/dialog_shift_times.cpp
|
||||||
|
src/dialog_spellchecker.cpp
|
||||||
|
src/dialog_style_editor.cpp
|
||||||
|
src/dialog_style_manager.cpp
|
||||||
|
src/dialog_styling_assistant.cpp
|
||||||
|
src/dialog_text_import.cpp
|
||||||
|
src/dialog_timing_processor.cpp
|
||||||
|
src/dialog_translation.cpp
|
||||||
|
src/dialog_version_check.cpp
|
||||||
|
src/dialog_video_details.cpp
|
||||||
|
src/dialog_video_properties.cpp
|
||||||
|
src/subtitle_format.cpp
|
||||||
|
src/subtitle_format_ass.cpp
|
||||||
|
src/subtitle_format_ebu3264.cpp
|
||||||
|
src/subtitle_format_encore.cpp
|
||||||
|
src/subtitle_format_microdvd.cpp
|
||||||
|
src/subtitle_format_mkv.cpp
|
||||||
|
src/subtitle_format_srt.cpp
|
||||||
|
src/subtitle_format_ssa.cpp
|
||||||
|
src/subtitle_format_transtation.cpp
|
||||||
|
src/subtitle_format_ttxt.cpp
|
||||||
|
src/subtitle_format_txt.cpp
|
||||||
|
src/visual_tool.cpp
|
||||||
|
src/visual_tool_clip.cpp
|
||||||
|
src/visual_tool_cross.cpp
|
||||||
|
src/visual_tool_drag.cpp
|
||||||
|
src/visual_tool_rotatexy.cpp
|
||||||
|
src/visual_tool_rotatez.cpp
|
||||||
|
src/visual_tool_scale.cpp
|
||||||
|
src/visual_tool_vector_clip.cpp
|
||||||
|
src/MatroskaParser.c
|
||||||
|
src/aegisublocale.cpp
|
||||||
|
src/ass_attachment.cpp
|
||||||
|
src/ass_dialogue.cpp
|
||||||
|
src/ass_entry.cpp
|
||||||
|
src/ass_export_filter.cpp
|
||||||
|
src/ass_exporter.cpp
|
||||||
|
src/ass_file.cpp
|
||||||
|
src/ass_karaoke.cpp
|
||||||
|
src/ass_override.cpp
|
||||||
|
src/ass_parser.cpp
|
||||||
|
src/ass_style.cpp
|
||||||
|
src/ass_style_storage.cpp
|
||||||
|
src/async_video_provider.cpp
|
||||||
|
src/audio_box.cpp
|
||||||
|
src/audio_colorscheme.cpp
|
||||||
|
src/audio_controller.cpp
|
||||||
|
src/audio_display.cpp
|
||||||
|
src/audio_karaoke.cpp
|
||||||
|
src/audio_marker.cpp
|
||||||
|
src/audio_player.cpp
|
||||||
|
src/audio_provider_factory.cpp
|
||||||
|
src/audio_renderer.cpp
|
||||||
|
src/audio_renderer_spectrum.cpp
|
||||||
|
src/audio_renderer_waveform.cpp
|
||||||
|
src/audio_timing_dialogue.cpp
|
||||||
|
src/audio_timing_karaoke.cpp
|
||||||
|
src/auto4_base.cpp
|
||||||
|
src/auto4_lua.cpp
|
||||||
|
src/auto4_lua_assfile.cpp
|
||||||
|
src/auto4_lua_dialog.cpp
|
||||||
|
src/auto4_lua_progresssink.cpp
|
||||||
|
src/avisynth_wrap.cpp
|
||||||
|
src/base_grid.cpp
|
||||||
|
src/charset_detect.cpp
|
||||||
|
src/colorspace.cpp
|
||||||
|
src/colour_button.cpp
|
||||||
|
src/compat.cpp
|
||||||
|
src/context.cpp
|
||||||
|
src/crash_writer.cpp
|
||||||
|
src/export_fixstyle.cpp
|
||||||
|
src/export_framerate.cpp
|
||||||
|
src/fft.cpp
|
||||||
|
src/font_file_lister.cpp
|
||||||
|
src/frame_main.cpp
|
||||||
|
src/gl_text.cpp
|
||||||
|
src/gl_wrap.cpp
|
||||||
|
src/grid_column.cpp
|
||||||
|
src/help_button.cpp
|
||||||
|
src/hotkey.cpp
|
||||||
|
src/hotkey_data_view_model.cpp
|
||||||
|
src/initial_line_state.cpp
|
||||||
|
src/main.cpp
|
||||||
|
src/menu.cpp
|
||||||
|
src/mkv_wrap.cpp
|
||||||
|
src/pen.cpp
|
||||||
|
src/persist_location.cpp
|
||||||
|
src/preferences.cpp
|
||||||
|
src/preferences_base.cpp
|
||||||
|
src/project.cpp
|
||||||
|
src/resolution_resampler.cpp
|
||||||
|
src/search_replace_engine.cpp
|
||||||
|
src/selection_controller.cpp
|
||||||
|
src/spellchecker.cpp
|
||||||
|
src/spline.cpp
|
||||||
|
src/spline_curve.cpp
|
||||||
|
src/string_codec.cpp
|
||||||
|
src/subs_controller.cpp
|
||||||
|
src/subs_edit_box.cpp
|
||||||
|
src/subs_edit_ctrl.cpp
|
||||||
|
src/subs_preview.cpp
|
||||||
|
src/subtitles_provider.cpp
|
||||||
|
src/subtitles_provider_libass.cpp
|
||||||
|
src/text_file_reader.cpp
|
||||||
|
src/text_file_writer.cpp
|
||||||
|
src/text_selection_controller.cpp
|
||||||
|
src/thesaurus.cpp
|
||||||
|
src/timeedit_ctrl.cpp
|
||||||
|
src/toggle_bitmap.cpp
|
||||||
|
src/toolbar.cpp
|
||||||
|
src/tooltip_manager.cpp
|
||||||
|
src/utils.cpp
|
||||||
|
src/validators.cpp
|
||||||
|
src/vector2d.cpp
|
||||||
|
src/version.cpp
|
||||||
|
src/video_box.cpp
|
||||||
|
src/video_controller.cpp
|
||||||
|
src/video_display.cpp
|
||||||
|
src/video_frame.cpp
|
||||||
|
src/video_out_gl.cpp
|
||||||
|
src/video_provider_cache.cpp
|
||||||
|
src/video_provider_dummy.cpp
|
||||||
|
src/video_provider_manager.cpp
|
||||||
|
src/video_provider_yuv4mpeg.cpp
|
||||||
|
src/video_slider.cpp
|
||||||
|
src/visual_feature.cpp
|
||||||
|
src/audio_provider_ffmpegsource.cpp
|
||||||
|
src/video_provider_ffmpegsource.cpp
|
||||||
|
src/ffmpegsource_common.cpp
|
||||||
|
src/spellchecker_hunspell.cpp
|
||||||
|
)
|
||||||
|
target_link_libraries(Aegisub ${CMAKE_DL_LIBS} libaegisub luabins luajit resrc)
|
||||||
|
|
||||||
|
if (MSVC)
|
||||||
|
set_target_properties(libaegisub PROPERTIES COMPILE_FLAGS "/Yu${PROJECT_SOURCE_DIR}/libaegisub/lagi_pre.h" COMPILE_FLAGS "/FI${PROJECT_SOURCE_DIR}/libaegisub/lagi_pre.h")
|
||||||
|
else(MSVC)
|
||||||
|
target_compile_options(libaegisub PRIVATE -include "${PROJECT_SOURCE_DIR}/libaegisub/lagi_pre.h")
|
||||||
|
endif(MSVC)
|
||||||
|
|
||||||
|
set_property(
|
||||||
|
SOURCE libaegisub/unix/path.cpp
|
||||||
|
PROPERTY COMPILE_DEFINITIONS
|
||||||
|
P_DATA="${CMAKE_INSTALL_PREFIX}/share/aegisub/"
|
||||||
|
)
|
||||||
|
|
||||||
|
if (MSVC)
|
||||||
|
add_definitions("-DNOMINMAX -MP -DINITGUID")
|
||||||
|
set_target_properties(Aegisub PROPERTIES COMPILE_FLAGS "/Yu${PROJECT_SOURCE_DIR}/src/agi_pre.h" COMPILE_FLAGS "/FI${PROJECT_SOURCE_DIR}/src/agi_pre.h")
|
||||||
|
target_link_libraries (Aegisub Usp10)
|
||||||
|
target_sources(Aegisub PRIVATE src/font_file_lister_gdi.cpp)
|
||||||
|
else(MSVC)
|
||||||
|
target_compile_options(Aegisub PRIVATE -include "${PROJECT_SOURCE_DIR}/src/agi_pre.h")
|
||||||
|
endif(MSVC)
|
||||||
|
|
||||||
|
find_package(ass REQUIRED)
|
||||||
|
include_directories(${ass_INCLUDE_DIRS})
|
||||||
|
target_link_libraries (Aegisub ${ass_LIBRARIES})
|
||||||
|
|
||||||
|
find_package(Boost REQUIRED chrono filesystem locale regex system thread)
|
||||||
|
include_directories(${Boost_INCLUDE_DIRS})
|
||||||
|
target_link_directories(Aegisub PRIVATE ${Boost_LIBRARY_DIRS})
|
||||||
|
target_link_libraries(Aegisub ${Boost_LIBRARIES})
|
||||||
|
|
||||||
|
find_package(OpenGL REQUIRED)
|
||||||
|
include_directories(${OPENGL_INCLUDE_DIR})
|
||||||
|
target_link_libraries (Aegisub ${OPENGL_LIBRARIES})
|
||||||
|
|
||||||
|
find_package(ICU REQUIRED uc)
|
||||||
|
include_directories(${ICU_INCLUDE_DIRS})
|
||||||
|
target_link_libraries (Aegisub ${ICU_LIBRARIES})
|
||||||
|
|
||||||
|
find_package(wxWidgets REQUIRED adv base core gl stc xml)
|
||||||
|
include(${wxWidgets_USE_FILE})
|
||||||
|
target_link_libraries(Aegisub ${wxWidgets_LIBRARIES})
|
||||||
|
|
||||||
|
find_package(ZLIB REQUIRED)
|
||||||
|
include_directories(${ZLIB_INCLUDE_DIRS})
|
||||||
|
target_link_libraries (Aegisub ${ZLIB_LIBRARIES})
|
||||||
|
|
||||||
|
find_package(Iconv)
|
||||||
|
if (Iconv_FOUND)
|
||||||
|
include_directories(${Iconv_INCLUDE_DIRS})
|
||||||
|
target_link_libraries (Aegisub ${Iconv_LIBRARIES})
|
||||||
|
add_definitions("-DHAVE_ICONV")
|
||||||
|
endif(Iconv_FOUND)
|
||||||
|
|
||||||
|
find_package(ALSA)
|
||||||
|
if (ALSA_FOUND)
|
||||||
|
include_directories(${ALSA_INCLUDE_DIRS})
|
||||||
|
target_link_libraries (Aegisub ${ALSA_LIBRARIES})
|
||||||
|
add_definitions("-DWITH_ALSA")
|
||||||
|
target_sources(Aegisub PRIVATE src/audio_player_alsa.cpp)
|
||||||
|
endif(ALSA_FOUND)
|
||||||
|
|
||||||
|
#ifdef WITH_AVISYNTH
|
||||||
|
#ifdef WITH_CSRI
|
||||||
|
|
||||||
|
if(MSVC)
|
||||||
|
target_link_libraries (Aegisub dsound)
|
||||||
|
add_definitions("-DWITH_DIRECTSOUND")
|
||||||
|
target_sources(Aegisub PRIVATE src/audio_player_dsound.cpp)
|
||||||
|
target_sources(Aegisub PRIVATE src/audio_player_dsound2.cpp)
|
||||||
|
endif(MSVC)
|
||||||
|
|
||||||
|
find_package(FFMS2)
|
||||||
|
if (FFMS2_FOUND)
|
||||||
|
include_directories(${FFMS2_INCLUDE_DIRS})
|
||||||
|
target_link_libraries (Aegisub ${FFMS2_LIBRARIES})
|
||||||
|
add_definitions("-DWITH_FFMS2")
|
||||||
|
endif(FFMS2_FOUND)
|
||||||
|
|
||||||
|
find_package(FFTW)
|
||||||
|
if (FFTW_FOUND)
|
||||||
|
include_directories(${FFTW_INCLUDES})
|
||||||
|
target_link_libraries (Aegisub ${FFTW_LIBRARIES})
|
||||||
|
add_definitions("-DWITH_FFTW3")
|
||||||
|
endif(FFTW_FOUND)
|
||||||
|
|
||||||
|
find_package(Fontconfig)
|
||||||
|
if (Fontconfig_FOUND)
|
||||||
|
include_directories(${FONTCONFIG_INCLUDE_DIRS})
|
||||||
|
target_link_libraries (Aegisub ${FONTCONFIG_LIBRARIES})
|
||||||
|
target_sources(Aegisub PRIVATE src/font_file_lister_fontconfig.cpp)
|
||||||
|
endif(Fontconfig_FOUND)
|
||||||
|
|
||||||
|
find_package(Hunspell)
|
||||||
|
if (HUNSPELL_FOUND)
|
||||||
|
include_directories(${HUNSPELL_INCLUDE_DIR})
|
||||||
|
target_link_libraries (Aegisub ${HUNSPELL_LIBRARIES})
|
||||||
|
add_definitions("-DWITH_HUNSPELL")
|
||||||
|
endif(HUNSPELL_FOUND)
|
||||||
|
|
||||||
|
#ifdef WITH_LIBPULSE
|
||||||
|
#add_definitions("-DWITH_LIBPULSE")
|
||||||
|
#target_sources(Aegisub PRIVATE src/audio_player_pulse.cpp)
|
||||||
|
|
||||||
|
find_package(OpenAL)
|
||||||
|
if (OpenAL_FOUND)
|
||||||
|
include_directories(${OpenAL_INCLUDE_DIRS})
|
||||||
|
target_link_libraries (Aegisub ${OpenAL_LIBRARIES})
|
||||||
|
add_definitions("-DWITH_OPENAL")
|
||||||
|
endif(OpenAL_FOUND)
|
||||||
|
|
||||||
|
#ifdef WITH_OSS
|
||||||
|
#ifdef WITH_PORTAUDIO
|
||||||
|
#ifdef WITH_STARTUPLOG
|
||||||
|
|
||||||
|
find_package(uchardet)
|
||||||
|
if (uchardet_FOUND)
|
||||||
|
include_directories(${uchardet_INCLUDE_DIRS})
|
||||||
|
target_link_libraries (Aegisub ${uchardet_LIBRARIES})
|
||||||
|
add_definitions("-DWITH_UCHARDET")
|
||||||
|
endif(uchardet_FOUND)
|
||||||
|
|
||||||
|
#ifdef WITH_UPDATE_CHECKER
|
||||||
|
|
19
cmake/FindAss.cmake
Normal file
19
cmake/FindAss.cmake
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
find_package(PkgConfig)
|
||||||
|
pkg_check_modules(PC_ass QUIET ass)
|
||||||
|
find_path(ass_INCLUDE_DIRS
|
||||||
|
NAMES ass/ass.h ass/ass_types.h
|
||||||
|
PATHS ${PC_ass_INCLUDE_DIRS}
|
||||||
|
)
|
||||||
|
find_library(ass_LIBRARIES
|
||||||
|
NAMES ass
|
||||||
|
PATHS ${PC_ass_LIBRARY_DIRS}
|
||||||
|
)
|
||||||
|
set(ass_VERSION ${PC_ass_VERSION})
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
find_package_handle_standard_args(ass
|
||||||
|
FOUND_VAR ass_FOUND
|
||||||
|
REQUIRED_VARS
|
||||||
|
ass_LIBRARIES
|
||||||
|
ass_INCLUDE_DIRS
|
||||||
|
VERSION_VAR ass_VERSION
|
||||||
|
)
|
19
cmake/FindFFMS2.cmake
Normal file
19
cmake/FindFFMS2.cmake
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
find_package(PkgConfig)
|
||||||
|
pkg_check_modules(PC_FFMS2 QUIET ffms2)
|
||||||
|
find_path(FFMS2_INCLUDE_DIRS
|
||||||
|
NAMES ffms.h ffmscompat.h
|
||||||
|
PATHS ${PC_FFMS2_INCLUDE_DIRS}
|
||||||
|
)
|
||||||
|
find_library(FFMS2_LIBRARIES
|
||||||
|
NAMES ffms2
|
||||||
|
PATHS ${PC_FFMS2_LIBRARY_DIRS}
|
||||||
|
)
|
||||||
|
set(FFMS2_VERSION ${PC_FFMS2_VERSION})
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
find_package_handle_standard_args(FFMS2
|
||||||
|
FOUND_VAR FFMS2_FOUND
|
||||||
|
REQUIRED_VARS
|
||||||
|
FFMS2_LIBRARIES
|
||||||
|
FFMS2_INCLUDE_DIRS
|
||||||
|
VERSION_VAR FFMS2_VERSION
|
||||||
|
)
|
119
cmake/FindFFTW.cmake
Normal file
119
cmake/FindFFTW.cmake
Normal file
|
@ -0,0 +1,119 @@
|
||||||
|
# - Find the FFTW library
|
||||||
|
#
|
||||||
|
# Usage:
|
||||||
|
# find_package(FFTW [REQUIRED] [QUIET] )
|
||||||
|
#
|
||||||
|
# It sets the following variables:
|
||||||
|
# FFTW_FOUND ... true if fftw is found on the system
|
||||||
|
# FFTW_LIBRARIES ... full path to fftw library
|
||||||
|
# FFTW_INCLUDES ... fftw include directory
|
||||||
|
#
|
||||||
|
# The following variables will be checked by the function
|
||||||
|
# FFTW_USE_STATIC_LIBS ... if true, only static libraries are found
|
||||||
|
# FFTW_ROOT ... if set, the libraries are exclusively searched
|
||||||
|
# under this path
|
||||||
|
# FFTW_LIBRARY ... fftw library to use
|
||||||
|
# FFTW_INCLUDE_DIR ... fftw include directory
|
||||||
|
#
|
||||||
|
|
||||||
|
#If environment variable FFTWDIR is specified, it has same effect as FFTW_ROOT
|
||||||
|
if( NOT FFTW_ROOT AND ENV{FFTWDIR} )
|
||||||
|
set( FFTW_ROOT $ENV{FFTWDIR} )
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Check if we can use PkgConfig
|
||||||
|
find_package(PkgConfig)
|
||||||
|
|
||||||
|
#Determine from PKG
|
||||||
|
if( PKG_CONFIG_FOUND AND NOT FFTW_ROOT )
|
||||||
|
pkg_check_modules( PKG_FFTW QUIET "fftw3" )
|
||||||
|
endif()
|
||||||
|
|
||||||
|
#Check whether to search static or dynamic libs
|
||||||
|
set( CMAKE_FIND_LIBRARY_SUFFIXES_SAV ${CMAKE_FIND_LIBRARY_SUFFIXES} )
|
||||||
|
|
||||||
|
if( ${FFTW_USE_STATIC_LIBS} )
|
||||||
|
set( CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_STATIC_LIBRARY_SUFFIX} )
|
||||||
|
else()
|
||||||
|
set( CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_SHARED_LIBRARY_SUFFIX} )
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if( FFTW_ROOT )
|
||||||
|
|
||||||
|
#find libs
|
||||||
|
find_library(
|
||||||
|
FFTW_LIB
|
||||||
|
NAMES "fftw3"
|
||||||
|
PATHS ${FFTW_ROOT}
|
||||||
|
PATH_SUFFIXES "lib" "lib64"
|
||||||
|
NO_DEFAULT_PATH
|
||||||
|
)
|
||||||
|
|
||||||
|
find_library(
|
||||||
|
FFTWF_LIB
|
||||||
|
NAMES "fftw3f"
|
||||||
|
PATHS ${FFTW_ROOT}
|
||||||
|
PATH_SUFFIXES "lib" "lib64"
|
||||||
|
NO_DEFAULT_PATH
|
||||||
|
)
|
||||||
|
|
||||||
|
find_library(
|
||||||
|
FFTWL_LIB
|
||||||
|
NAMES "fftw3l"
|
||||||
|
PATHS ${FFTW_ROOT}
|
||||||
|
PATH_SUFFIXES "lib" "lib64"
|
||||||
|
NO_DEFAULT_PATH
|
||||||
|
)
|
||||||
|
|
||||||
|
#find includes
|
||||||
|
find_path(
|
||||||
|
FFTW_INCLUDES
|
||||||
|
NAMES "fftw3.h"
|
||||||
|
PATHS ${FFTW_ROOT}
|
||||||
|
PATH_SUFFIXES "include"
|
||||||
|
NO_DEFAULT_PATH
|
||||||
|
)
|
||||||
|
|
||||||
|
else()
|
||||||
|
|
||||||
|
find_library(
|
||||||
|
FFTW_LIB
|
||||||
|
NAMES "fftw3"
|
||||||
|
PATHS ${PKG_FFTW_LIBRARY_DIRS} ${LIB_INSTALL_DIR}
|
||||||
|
)
|
||||||
|
|
||||||
|
find_library(
|
||||||
|
FFTWF_LIB
|
||||||
|
NAMES "fftw3f"
|
||||||
|
PATHS ${PKG_FFTW_LIBRARY_DIRS} ${LIB_INSTALL_DIR}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
find_library(
|
||||||
|
FFTWL_LIB
|
||||||
|
NAMES "fftw3l"
|
||||||
|
PATHS ${PKG_FFTW_LIBRARY_DIRS} ${LIB_INSTALL_DIR}
|
||||||
|
)
|
||||||
|
|
||||||
|
find_path(
|
||||||
|
FFTW_INCLUDES
|
||||||
|
NAMES "fftw3.h"
|
||||||
|
PATHS ${PKG_FFTW_INCLUDE_DIRS} ${INCLUDE_INSTALL_DIR}
|
||||||
|
)
|
||||||
|
|
||||||
|
endif( FFTW_ROOT )
|
||||||
|
|
||||||
|
set(FFTW_LIBRARIES ${FFTW_LIB} ${FFTWF_LIB})
|
||||||
|
|
||||||
|
if(FFTWL_LIB)
|
||||||
|
set(FFTW_LIBRARIES ${FFTW_LIBRARIES} ${FFTWL_LIB})
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set( CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_SAV} )
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
find_package_handle_standard_args(FFTW DEFAULT_MSG
|
||||||
|
FFTW_INCLUDES FFTW_LIBRARIES)
|
||||||
|
|
||||||
|
mark_as_advanced(FFTW_INCLUDES FFTW_LIBRARIES FFTW_LIB FFTWF_LIB FFTWL_LIB)
|
||||||
|
|
57
cmake/FindHunspell.cmake
Normal file
57
cmake/FindHunspell.cmake
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
# - Try to find Hunspell
|
||||||
|
# Once done this will define
|
||||||
|
#
|
||||||
|
# HUNSPELL_FOUND - system has Hunspell
|
||||||
|
# HUNSPELL_INCLUDE_DIR - the Hunspell include directory
|
||||||
|
# HUNSPELL_LIBRARIES - Link these to use Hunspell
|
||||||
|
#
|
||||||
|
# Redistribution and use of this file is allowed according to the terms of the
|
||||||
|
# MIT license. For details see the file COPYING-CMAKE-MODULES.
|
||||||
|
|
||||||
|
|
||||||
|
if ( HUNSPELL_INCLUDE_DIR AND HUNSPELL_LIBRARIES )
|
||||||
|
# in cache already
|
||||||
|
SET(Hunspell_FIND_QUIETLY TRUE)
|
||||||
|
endif ( HUNSPELL_INCLUDE_DIR AND HUNSPELL_LIBRARIES )
|
||||||
|
|
||||||
|
# use pkg-config to get the directories and then use these values
|
||||||
|
# in the FIND_PATH() and FIND_LIBRARY() calls
|
||||||
|
if( NOT WIN32 )
|
||||||
|
find_package(PkgConfig)
|
||||||
|
|
||||||
|
pkg_check_modules(HUNSPELL_PKG QUIET hunspell)
|
||||||
|
endif( NOT WIN32 )
|
||||||
|
|
||||||
|
FIND_PATH(HUNSPELL_INCLUDE_DIR NAMES hunspell.h
|
||||||
|
PATHS
|
||||||
|
/usr/local/include
|
||||||
|
/usr/include
|
||||||
|
HINTS
|
||||||
|
${HUNSPELL_PKG_INCLUDE_DIRS} # Generated by pkg-config
|
||||||
|
PATH_SUFFIXES hunspell
|
||||||
|
)
|
||||||
|
|
||||||
|
FIND_LIBRARY(HUNSPELL_LIBRARIES NAMES hunspell-1.7 hunspell-1.6 hunspell-1.5 hunspell-1.4 hunspell-1.3 hunspell-1.2 hunspell ${HUNSPELL_PKG_LIBRARIES}
|
||||||
|
PATHS
|
||||||
|
/usr/local
|
||||||
|
/usr
|
||||||
|
HINTS
|
||||||
|
${HUNSPELL_PKG_LIBRARY_DIRS} # Generated by pkg-config
|
||||||
|
PATH_SUFFIXES
|
||||||
|
lib64
|
||||||
|
lib
|
||||||
|
)
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Hunspell DEFAULT_MSG HUNSPELL_LIBRARIES HUNSPELL_INCLUDE_DIR )
|
||||||
|
|
||||||
|
# show the HUNSPELL_INCLUDE_DIR and HUNSPELL_LIBRARIES variables only in the advanced view
|
||||||
|
MARK_AS_ADVANCED(HUNSPELL_INCLUDE_DIR HUNSPELL_LIBRARIES )
|
||||||
|
|
||||||
|
add_library(hunspell UNKNOWN IMPORTED)
|
||||||
|
set_target_properties(hunspell PROPERTIES IMPORTED_LOCATION ${HUNSPELL_LIBRARIES} INTERFACE_INCLUDE_DIRECTORIES ${HUNSPELL_INCLUDE_DIR})
|
||||||
|
if (NOT BUILD_SHARED_LIBS)
|
||||||
|
# At least statically compiled hunspell 1.7.0 requires HUNSPELL_STATIC
|
||||||
|
# For other versions, it should not hurt
|
||||||
|
set_target_properties(hunspell PROPERTIES INTERFACE_COMPILE_DEFINITIONS HUNSPELL_STATIC)
|
||||||
|
endif ()
|
19
cmake/FindUchardet.cmake
Normal file
19
cmake/FindUchardet.cmake
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
find_package(PkgConfig)
|
||||||
|
pkg_check_modules(PC_uchardet QUIET uchardet)
|
||||||
|
find_path(uchardet_INCLUDE_DIRS
|
||||||
|
NAMES uchardet/uchardet.h
|
||||||
|
PATHS ${PC_uchardet_INCLUDE_DIRS}
|
||||||
|
)
|
||||||
|
find_library(uchardet_LIBRARIES
|
||||||
|
NAMES uchardet
|
||||||
|
PATHS ${PC_uchardet_LIBRARY_DIRS}
|
||||||
|
)
|
||||||
|
set(uchardet_VERSION ${PC_uchardet_VERSION})
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
find_package_handle_standard_args(uchardet
|
||||||
|
FOUND_VAR uchardet_FOUND
|
||||||
|
REQUIRED_VARS
|
||||||
|
uchardet_LIBRARIES
|
||||||
|
uchardet_INCLUDE_DIRS
|
||||||
|
VERSION_VAR uchardet_VERSION
|
||||||
|
)
|
|
@ -1,7 +1,4 @@
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
#ifndef _WIN32
|
|
||||||
#include "../acconf.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define WIN32_LEAN_AND_MEAN
|
#define WIN32_LEAN_AND_MEAN
|
||||||
|
|
||||||
|
|
|
@ -2334,7 +2334,7 @@ static int matchl (lua_State *L) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static struct luaL_reg pattreg[] = {
|
static struct luaL_Reg pattreg[] = {
|
||||||
{"match", matchl},
|
{"match", matchl},
|
||||||
{"print", printpat_l},
|
{"print", printpat_l},
|
||||||
{"locale", locale_l},
|
{"locale", locale_l},
|
||||||
|
@ -2360,7 +2360,7 @@ static struct luaL_reg pattreg[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
static struct luaL_reg metapattreg[] = {
|
static struct luaL_Reg metapattreg[] = {
|
||||||
{"__add", union_l},
|
{"__add", union_l},
|
||||||
{"__pow", star_l},
|
{"__pow", star_l},
|
||||||
{"__sub", diff_l},
|
{"__sub", diff_l},
|
||||||
|
|
|
@ -48,10 +48,6 @@
|
||||||
#define _CRT_SECURE_NO_WARNINGS
|
#define _CRT_SECURE_NO_WARNINGS
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef _WIN32
|
|
||||||
#include "../acconf.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define WIN32_LEAN_AND_MEAN
|
#define WIN32_LEAN_AND_MEAN
|
||||||
|
|
||||||
// Common C
|
// Common C
|
||||||
|
|
|
@ -45,6 +45,7 @@
|
||||||
|
|
||||||
#include <mmsystem.h>
|
#include <mmsystem.h>
|
||||||
#include <dsound.h>
|
#include <dsound.h>
|
||||||
|
#include <cguid.h>
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
class DirectSoundPlayer;
|
class DirectSoundPlayer;
|
||||||
|
|
|
@ -48,6 +48,7 @@
|
||||||
#include <mmsystem.h>
|
#include <mmsystem.h>
|
||||||
#include <process.h>
|
#include <process.h>
|
||||||
#include <dsound.h>
|
#include <dsound.h>
|
||||||
|
#include <cguid.h>
|
||||||
|
|
||||||
namespace {
|
namespace {
|
||||||
class DirectSoundPlayer2Thread;
|
class DirectSoundPlayer2Thread;
|
||||||
|
|
|
@ -275,7 +275,7 @@ wxString LocalizedLanguageName(wxString const& lang) {
|
||||||
icu::UnicodeString ustr;
|
icu::UnicodeString ustr;
|
||||||
iculoc.getDisplayName(iculoc, ustr);
|
iculoc.getDisplayName(iculoc, ustr);
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
return wxString(ustr.getBuffer());
|
return wxString((const wchar_t*)ustr.getBuffer());
|
||||||
#else
|
#else
|
||||||
std::string utf8;
|
std::string utf8;
|
||||||
ustr.toUTF8String(utf8);
|
ustr.toUTF8String(utf8);
|
||||||
|
|
Loading…
Reference in a new issue