aboutsummaryrefslogtreecommitdiff
path: root/scripts/cmake
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2023-10-07 11:05:03 +0800
committercrupest <crupest@outlook.com>2023-10-07 11:05:03 +0800
commitfaa63afb8db43690fa633fe1673be9331d278e24 (patch)
tree427d2d34bdd2bcb7da6a498a3e763fc4fec139be /scripts/cmake
parent5571f4a03d10d590c0d0d0e64b9e210d0752a44e (diff)
downloadcru-faa63afb8db43690fa633fe1673be9331d278e24.tar.gz
cru-faa63afb8db43690fa633fe1673be9331d278e24.tar.bz2
cru-faa63afb8db43690fa633fe1673be9331d278e24.zip
Try to unify meson projects. So deps will be well organized.
Diffstat (limited to 'scripts/cmake')
-rw-r--r--scripts/cmake/cairo.cmake25
-rw-r--r--scripts/cmake/meson-projects.cmake25
2 files changed, 25 insertions, 25 deletions
diff --git a/scripts/cmake/cairo.cmake b/scripts/cmake/cairo.cmake
deleted file mode 100644
index 88836222..00000000
--- a/scripts/cmake/cairo.cmake
+++ /dev/null
@@ -1,25 +0,0 @@
-find_program(MESON meson REQUIRED)
-find_program(NINJA ninja REQUIRED)
-
-set(CAIRO_BUILD_DIR ${CMAKE_BINARY_DIR}/cairo/build)
-set(CAIRO_INSTALL_DIR ${CMAKE_BINARY_DIR}/cairo/install)
-
-set(CAIRO_MESON_SETUP meson setup ${CAIRO_BUILD_DIR} --prefix=${CAIRO_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 ${CAIRO_BUILD_DIR}/emscripten.ini)
- configure_file(${EMSCRIPTEN_CROSS_FILE_TEMPLATE} ${EMSCRIPTEN_CROSS_FILE})
- set(CAIRO_MESON_SETUP ${CAIRO_MESON_SETUP} --cross-file ${EMSCRIPTEN_CROSS_FILE})
-endif()
-
-add_custom_target(
- cairo-build
- COMMAND mkdir -p ${CAIRO_BUILD_DIR} ${CAIRO_INSTALL_DIR}
- COMMAND ${CAIRO_MESON_SETUP}
- COMMAND ninja -C ${CAIRO_BUILD_DIR}
- COMMAND ninja -C ${CAIRO_BUILD_DIR} install
- WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/lib/cairo
-)
-
diff --git a/scripts/cmake/meson-projects.cmake b/scripts/cmake/meson-projects.cmake
new file mode 100644
index 00000000..94b3729d
--- /dev/null
+++ b/scripts/cmake/meson-projects.cmake
@@ -0,0 +1,25 @@
+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} --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 ${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
+)
+