diff --git a/.gitignore b/.gitignore index c8ed34a..3bc0cb4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ *.swp *.core -/Build/ +/builddir/ diff --git a/CMakeLists.txt b/CMakeLists.txt deleted file mode 100644 index 7483264..0000000 --- a/CMakeLists.txt +++ /dev/null @@ -1,13 +0,0 @@ -cmake_minimum_required(VERSION 3.20) -project(kappachat LANGUAGES CXX) - -list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") -find_package(deltachat-core REQUIRED) -find_package(Qt6 REQUIRED COMPONENTS Widgets) - -include(AddAutoformatTarget) -include(GNUInstallDirs) - -qt_standard_project_setup() - -add_subdirectory(src) diff --git a/build.sh b/build.sh deleted file mode 100755 index 56851bc..0000000 --- a/build.sh +++ /dev/null @@ -1,2 +0,0 @@ -[ -f Build/build.ninja ] || cmake -G Ninja -B Build -exec ninja -C Build "$@" diff --git a/cmake/AddAutoformatTarget.cmake b/cmake/AddAutoformatTarget.cmake deleted file mode 100644 index 548c2ac..0000000 --- a/cmake/AddAutoformatTarget.cmake +++ /dev/null @@ -1,28 +0,0 @@ -find_program(clang-format_EXECUTABLE clang-format) -mark_as_advanced(clang-format_EXECUTABLE) - -if(clang-format_EXECUTABLE) - add_executable(clang-format IMPORTED) - set_target_properties(clang-format PROPERTIES - IMPORTED_LOCATION ${clang-format_EXECUTABLE}) -endif() - -function(add_autoformat_target target) - get_target_property(source_dir ${target} SOURCE_DIR) - get_target_property(sources ${target} SOURCES) - foreach(source ${sources}) - get_property(generated SOURCE ${source} PROPERTY GENERATED) - if(NOT ${generated}) - list(APPEND non_generated_sources ${source}) - endif() - endforeach() - add_custom_target(autoformat_${target} - COMMAND clang-format -i -- ${non_generated_sources} - WORKING_DIRECTORY ${source_dir} - COMMENT "Autoformating sources of target ${target}" - VERBATIM) - if(NOT TARGET autoformat) - add_custom_target(autoformat) - endif() - add_dependencies(autoformat autoformat_${target}) -endfunction() diff --git a/cmake/Finddeltachat-core.cmake b/cmake/Finddeltachat-core.cmake deleted file mode 100644 index ddbeefb..0000000 --- a/cmake/Finddeltachat-core.cmake +++ /dev/null @@ -1,16 +0,0 @@ -find_path(libdeltachat_INCLUDE_DIR deltachat.h) -mark_as_advanced(libdeltachat_INCLUDE_DIR) - -find_library(libdeltachat_LIBRARY deltachat) -mark_as_advanced(libdeltachat_LIBRARY) - -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args( - deltachat-core DEFAULT_MSG libdeltachat_LIBRARY libdeltachat_INCLUDE_DIR) - -if(deltachat-core_FOUND AND NOT TARGET deltachat-core::libdeltachat) - add_library(deltachat-core::libdeltachat SHARED IMPORTED) - set_target_properties(deltachat-core::libdeltachat PROPERTIES - IMPORTED_LOCATION ${libdeltachat_LIBRARY} - INTERFACE_INCLUDE_DIRECTORIES ${libdeltachat_INCLUDE_DIR}) -endif() diff --git a/meson.build b/meson.build new file mode 100644 index 0000000..a89acdf --- /dev/null +++ b/meson.build @@ -0,0 +1,10 @@ +project('kappachat', 'cpp', + license : 'ISC', + default_options : ['buildtype=debugoptimized', + 'warning_level=3', + 'cpp_std=c++20']) + +deltachat_dep = dependency('deltachat') +qt6_dep = dependency('qt6', modules: ['Core', 'Widgets']) + +subdir('src') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt deleted file mode 100644 index de473ea..0000000 --- a/src/CMakeLists.txt +++ /dev/null @@ -1,30 +0,0 @@ -add_executable(${PROJECT_NAME} - deltachat_context.cc - deltachat_context.hh - login_dialog.cc - login_dialog.hh - main.cc - main.hh - main_window.cc - main_window.hh -) -target_link_libraries(${PROJECT_NAME} - PRIVATE - deltachat-core::libdeltachat - Qt6::Widgets -) -target_compile_features(${PROJECT_NAME} - PRIVATE - cxx_std_20 -) -target_compile_options(${PROJECT_NAME} - PRIVATE - $<$,$,$>:-Wall -Wextra> -) -set_target_properties(${PROJECT_NAME} PROPERTIES - WIN32_EXECUTABLE ON - MACOSX_BUNDLE ON -) -install(TARGETS ${PROJECT_NAME}) - -add_autoformat_target(${PROJECT_NAME}) diff --git a/src/meson.build b/src/meson.build new file mode 100644 index 0000000..2e4b14d --- /dev/null +++ b/src/meson.build @@ -0,0 +1,25 @@ +qt6 = import('qt6') +moc_files = qt6.compile_moc(headers : [ + 'deltachat_context.hh', + 'login_dialog.hh', + 'main.hh', + 'main_window.hh', + ], + dependencies : [ + deltachat_dep, + qt6_dep, + ]) +executable('kappachat', + sources : [ + 'deltachat_context.cc', + 'login_dialog.cc', + 'main.cc', + 'main_window.cc', + moc_files, + ], + dependencies : [ + deltachat_dep, + qt6_dep, + ], + gui_app : true, + install : true)