aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-11-04 21:30:53 +0800
committerYuqian Yang <crupest@crupest.life>2025-11-04 21:30:53 +0800
commit327f54b605b92a7b81a5a4de95f9f3741b786be5 (patch)
treec296f0de50253a8378f297c5aaacb263a0c54ac4
parent43285bf1374c68b9703e002702e14dc1c186c358 (diff)
downloadcru-327f54b605b92a7b81a5a4de95f9f3741b786be5.tar.gz
cru-327f54b605b92a7b81a5a4de95f9f3741b786be5.tar.bz2
cru-327f54b605b92a7b81a5a4de95f9f3741b786be5.zip
Remove meson related things.
-rw-r--r--CMakeLists.txt3
-rw-r--r--demos/CMakeLists.txt2
-rw-r--r--lib/meson-projects/meson.build26
-rw-r--r--lib/meson-projects/meson_options.txt11
-rw-r--r--lib/meson-projects/subprojects/.gitignore5
-rw-r--r--lib/meson-projects/subprojects/cairo.wrap10
-rw-r--r--lib/meson-projects/subprojects/pango.wrap13
-rw-r--r--scripts/cmake/meson-projects.cmake25
-rw-r--r--scripts/cmake/patch-compile-commands.cmake28
-rw-r--r--scripts/meson-emscripten.ini.in50
-rw-r--r--src/platform/graphics/cairo/CMakeLists.txt9
-rw-r--r--test/platform/CMakeLists.txt3
12 files changed, 2 insertions, 183 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1a8da2e4..0ac56fab 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -39,9 +39,6 @@ function(target_add_resources target res_dir)
endforeach(RES_FILE)
endfunction()
-# We don't use meson at present. Enable it in future.
-# include(scripts/cmake/meson-projects.cmake)
-
add_subdirectory(src)
add_subdirectory(test)
add_subdirectory(demos)
diff --git a/demos/CMakeLists.txt b/demos/CMakeLists.txt
index 9466b4ba..516ef7ae 100644
--- a/demos/CMakeLists.txt
+++ b/demos/CMakeLists.txt
@@ -7,7 +7,7 @@ add_subdirectory(main)
add_subdirectory(ScrollView)
add_subdirectory(InputMethod)
-if(UNIX AND NOT APPLE)
+if(UNIX AND NOT APPLE AND NOT EMSCRIPTEN)
add_subdirectory(xcb)
endif()
diff --git a/lib/meson-projects/meson.build b/lib/meson-projects/meson.build
deleted file mode 100644
index 5efa46af..00000000
--- a/lib/meson-projects/meson.build
+++ /dev/null
@@ -1,26 +0,0 @@
-project('cru-deps', 'c', 'cpp')
-
-hello_word_test = '''
-#include <stdio.h>
-
-int main() {
- printf("Hello world!");
- return 0;
-}
-'''
-
-cc = meson.get_compiler('c')
-hello_world_result = cc.run(hello_word_test, name: 'hello world')
-
-if hello_world_result.returncode() != 0
- error('Failed to hello world!')
-endif
-
-if get_option('cairo').enabled()
- subproject('cairo')
-endif
-
-if get_option('pango').enabled()
- subproject('pango')
-endif
-
diff --git a/lib/meson-projects/meson_options.txt b/lib/meson-projects/meson_options.txt
deleted file mode 100644
index b905968d..00000000
--- a/lib/meson-projects/meson_options.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-option(
- 'cairo',
- type: 'feature',
- value: 'auto',
-)
-
-option(
- 'pango',
- type: 'feature',
- value: 'auto'
-)
diff --git a/lib/meson-projects/subprojects/.gitignore b/lib/meson-projects/subprojects/.gitignore
deleted file mode 100644
index a268818f..00000000
--- a/lib/meson-projects/subprojects/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-*
-!.gitignore
-!cairo.wrap
-!pango.wrap
-
diff --git a/lib/meson-projects/subprojects/cairo.wrap b/lib/meson-projects/subprojects/cairo.wrap
deleted file mode 100644
index fb8aa712..00000000
--- a/lib/meson-projects/subprojects/cairo.wrap
+++ /dev/null
@@ -1,10 +0,0 @@
-[wrap-git]
-directory = cairo
-url = https://gitlab.freedesktop.org/cairo/cairo.git
-push-url = ssh://git@gitlab.freedesktop.org:cairo/cairo.git
-revision = master
-depth = 1
-
-[provide]
-cairo = libcairo_dep
-cairo-gobject = libcairogobject_dep
diff --git a/lib/meson-projects/subprojects/pango.wrap b/lib/meson-projects/subprojects/pango.wrap
deleted file mode 100644
index b75c158b..00000000
--- a/lib/meson-projects/subprojects/pango.wrap
+++ /dev/null
@@ -1,13 +0,0 @@
-[wrap-git]
-directory = pango
-url = https://gitlab.gnome.org/GNOME/pango.git
-push-url = ssh://git@ssh.gitlab.gnome.org:GNOME/pango.git
-revision = main
-depth = 1
-
-[provide]
-pango = libpango_dep
-pangoft2 = libpangoft2_dep
-pangoxft = libpangoxft_dep
-pangowin32 = libpangowin32_dep
-pangocairo = libpangocairo_dep
diff --git a/scripts/cmake/meson-projects.cmake b/scripts/cmake/meson-projects.cmake
deleted file mode 100644
index 613b54fd..00000000
--- a/scripts/cmake/meson-projects.cmake
+++ /dev/null
@@ -1,25 +0,0 @@
-find_program(MESON meson REQUIRED)
-find_program(NINJA ninja REQUIRED)
-
-set(MESON_PROJECTS_BUILD_DIR ${CMAKE_BINARY_DIR}/meson-projects/build)
-set(MESON_PROJECTS_INSTALL_DIR ${CMAKE_BINARY_DIR}/meson-projects/install)
-
-set(MESON_PROJECTS_MESON_SETUP meson setup ${MESON_PROJECTS_BUILD_DIR} -Dpango=enabled -Dcairo=enabled --prefix=${MESON_PROJECTS_INSTALL_DIR})
-
-if(EMSCRIPTEN)
- cmake_path(GET CMAKE_C_COMPILER PARENT_PATH EMSCRIPTEN_TOOLCHAIN)
- set(EMSCRIPTEN_CROSS_FILE_TEMPLATE ${PROJECT_SOURCE_DIR}/scripts/meson-emscripten.ini.in)
- set(EMSCRIPTEN_CROSS_FILE ${MESON_PROJECTS_BUILD_DIR}/emscripten.ini)
- configure_file(${EMSCRIPTEN_CROSS_FILE_TEMPLATE} ${EMSCRIPTEN_CROSS_FILE})
- set(MESON_PROJECTS_MESON_SETUP ${EMSCRIPTEN_TOOLCHAIN}/emconfigure ${MESON_PROJECTS_MESON_SETUP} --cross-file ${EMSCRIPTEN_CROSS_FILE})
-endif()
-
-add_custom_target(
- build-meson-projects
- COMMAND mkdir -p ${MESON_PROJECTS_BUILD_DIR} ${MESON_PROJECTS_INSTALL_DIR}
- COMMAND ${MESON_PROJECTS_MESON_SETUP}
- COMMAND ninja -C ${MESON_PROJECTS_BUILD_DIR}
- COMMAND ninja -C ${MESON_PROJECTS_BUILD_DIR} install
- WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/lib/meson-projects
-)
-
diff --git a/scripts/cmake/patch-compile-commands.cmake b/scripts/cmake/patch-compile-commands.cmake
deleted file mode 100644
index d855ce3c..00000000
--- a/scripts/cmake/patch-compile-commands.cmake
+++ /dev/null
@@ -1,28 +0,0 @@
-function (patch_compile_commands input output_var)
- set(ENTRY_FILE ${CMAKE_BINARY_DIR}/compile_commands_entry)
- set(RESULT "[]")
- string(JSON COUNT LENGTH "${input}")
- message("Total commands need to patch: " ${COUNT})
- math(EXPR COUNT "${COUNT} - 1")
- foreach(INDEX RANGE ${COUNT})
- message("Patching: " ${INDEX} "/" ${COUNT})
- string(JSON ORIGINAL_COMMAND GET "${input}" ${INDEX} command)
- string(JSON WORKING_DIR GET "${input}" ${INDEX} directory)
- string(FIND "${ORIGINAL_COMMAND}" " " COMMAND_FIRST_SPACE)
- string(SUBSTRING "${ORIGINAL_COMMAND}" 0 ${COMMAND_FIRST_SPACE} COMMAND_COMPILER)
- string(SUBSTRING "${ORIGINAL_COMMAND}" ${COMMAND_FIRST_SPACE} -1 ORIGINAL_COMMAND_ARGS)
- string(CONCAT COMMAND_GENERATE "${COMMAND_COMPILER}" " -MJ ${ENTRY_FILE}" "${ORIGINAL_COMMAND_ARGS}")
- #message("Run: " "${COMMAND_GENERATE}")
- execute_process(COMMAND sh -c "${COMMAND_GENERATE}" WORKING_DIRECTORY "${WORKING_DIR}")
- file(READ ${ENTRY_FILE} ENTRY)
- string(JSON RESULT SET "${RESULT}" ${INDEX} "${ENTRY}")
- endforeach()
- set(${output_var} "${RESULT}" PARENT_SCOPE)
-endfunction()
-
-function (patch_compile_commands_file)
- file(READ ${CMAKE_BINARY_DIR}/compile_commands.json COMPILE_COMMANDS)
- patch_compile_commands("${COMPILE_COMMANDS}" COMPILE_COMMANDS_PATCHED)
- file(WRITE ${CMAKE_BINARY_DIR}/compile_commands-patched.json "${COMPILE_COMMANDS_PATCHED}")
-endfunction()
-
diff --git a/scripts/meson-emscripten.ini.in b/scripts/meson-emscripten.ini.in
deleted file mode 100644
index 0acea3ae..00000000
--- a/scripts/meson-emscripten.ini.in
+++ /dev/null
@@ -1,50 +0,0 @@
-[constants]
-project_dir = '${PROJECT_SOURCE_DIR}'
-emscripten = '${EMSCRIPTEN_TOOLCHAIN}'
-# spellchecker: disable-next-line
-emscripten_flags = ['-W', '-Wno-unused-parameter', '-matomics', '-mbulk-memory']
-
-[host_machine]
-system = 'emscripten'
-cpu_family = 'wasm32'
-cpu = 'wasm32'
-endian = 'little'
-
-[binaries]
-exe_wrapper = project_dir / 'scripts/emscripten-run.sh'
-
-# spellchecker: disable
-c = emscripten / 'emcc'
-cpp = emscripten / 'em++'
-ld = emscripten / 'emcc'
-c_ld = emscripten / 'emcc'
-cpp_ld = emscripten / 'emcc'
-ar = emscripten / 'emar'
-nm = emscripten / 'emnm'
-ranlib = emscripten / 'emranlib'
-strip = emscripten / 'emstrip'
-# spellchecker: enable
-
-[built-in options]
-default_library = 'static'
-c_args = emscripten_flags
-cpp_args = emscripten_flags
-
-[glib:project options]
-xattr = false
-tests = false
-
-# spellchecker: disable
-[pixman:project options]
-loongson-mmi = 'disabled'
-mmx = 'disabled'
-sse2 = 'disabled'
-ssse3 = 'disabled'
-vmx = 'disabled'
-arm-simd = 'disabled'
-neon = 'disabled'
-a64-neon = 'disabled'
-iwmmxt = 'disabled'
-mips-dspr2 = 'disabled'
-# spellchecker: enable
-
diff --git a/src/platform/graphics/cairo/CMakeLists.txt b/src/platform/graphics/cairo/CMakeLists.txt
index b00262a3..2411140a 100644
--- a/src/platform/graphics/cairo/CMakeLists.txt
+++ b/src/platform/graphics/cairo/CMakeLists.txt
@@ -32,12 +32,3 @@ if (UNIX AND NOT EMSCRIPTEN) # It's so great to see emscripten is somewhat UNIX!
target_link_libraries(CruPlatformGraphicsCairo PUBLIC CruPlatformGraphics PUBLIC ${LIB_GOBJECT} ${LIB_CAIRO} ${LIB_PANGO} ${LIB_PANGOCAIRO} ${LIB_PNG})
target_include_directories(CruPlatformGraphicsCairo PUBLIC ${CAIRO_HEADER_DIR} ${GLIB_HEADER_DIR} ${GLIBCONFIG_HEADER_DIR} ${HARFBUZZ_HEADER_DIR} ${PANGO_HEADER_DIR})
endif()
-
-if (EMSCRIPTEN)
- add_dependencies(CruPlatformGraphicsCairo build-meson-projects)
- target_link_libraries(CruPlatformGraphicsCairo PUBLIC CruPlatformGraphics PUBLIC
- ${MESON_PROJECTS_INSTALL_DIR}/lib/libcairo.a
- ${MESON_PROJECTS_INSTALL_DIR}/lib/libpango.a
- )
- target_include_directories(CruPlatformGraphicsCairo PUBLIC ${MESON_PROJECTS_INSTALL_DIR}/include)
-endif()
diff --git a/test/platform/CMakeLists.txt b/test/platform/CMakeLists.txt
index 394aa247..0a9aa001 100644
--- a/test/platform/CMakeLists.txt
+++ b/test/platform/CMakeLists.txt
@@ -9,8 +9,7 @@ if (WIN32)
endif()
if (UNIX AND NOT EMSCRIPTEN)
- # TODO: Re-enable this!
- # add_subdirectory(graphics/cairo)
+ add_subdirectory(graphics/cairo)
endif()
cru_catch_discover_tests(CruPlatformBaseTest)