From 0685e3556ba9751027b852f68a1697ce2d2568ab Mon Sep 17 00:00:00 2001 From: NishiOwO Date: Sun, 16 Nov 2025 11:25:23 +0900 Subject: [PATCH] things --- CMakeLists.txt | 25 +++++++++++++++++++++++-- include/config.h.in | 2 ++ mdm/CMakeLists.txt | 27 ++++++++++++++------------- mdm/main.c | 9 +++++++++ mdm/mdm.png | Bin 0 -> 5033 bytes mdm/mdmrc.in | 2 ++ 6 files changed, 50 insertions(+), 15 deletions(-) create mode 100644 mdm/mdm.png create mode 100644 mdm/mdmrc.in diff --git a/CMakeLists.txt b/CMakeLists.txt index 0a9beb2..b35678c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,28 @@ project( mdebase ) +macro(PKGCONF_ADD dest name) + pkg_check_modules(${name} REQUIRED ${name}) + target_include_directories( + ${dest} + PRIVATE + ${${name}_INCLUDE_DIRS} + ) + target_link_directories( + ${dest} + PRIVATE + ${${name}_LIBRARY_DIRS} + ) + target_link_libraries( + ${dest} + PRIVATE + ${${name}_LIBRARIES} + ) +endmacro() + +include(GNUInstallDirs) +configure_file(include/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h) +include_directories(${CMAKE_CURRENT_BINARY_DIR}) + add_subdirectory(mdm) add_subdirectory(milkwm) - -configure_file(include/config.h.in config.h) diff --git a/include/config.h.in b/include/config.h.in index 5e7ea24..f041cba 100644 --- a/include/config.h.in +++ b/include/config.h.in @@ -2,5 +2,7 @@ #define __CONFIG_H__ #define PREFIX "@CMAKE_INSTALL_PREFIX@" +#define CONFDIR "@CMAKE_INSTALL_FULL_SYSCONFDIR@" +#define DATADIR "@CMAKE_INSTALL_FULL_DATAROOTDIR@" #endif diff --git a/mdm/CMakeLists.txt b/mdm/CMakeLists.txt index 2610e02..fdac35f 100644 --- a/mdm/CMakeLists.txt +++ b/mdm/CMakeLists.txt @@ -3,7 +3,6 @@ project( ) find_package(PkgConfig) -pkg_check_modules(X11 REQUIRED x11) file( GLOB @@ -16,26 +15,28 @@ add_executable( ${mdm_SRC} ) -target_include_directories( - mdm - PRIVATE - ${X11_INCLUDE_DIRS} -) - -target_link_directories( - mdm - PRIVATE - ${X11_LIBRARY_DIRS} -) +PKGCONF_ADD(mdm x11) +PKGCONF_ADD(mdm inih) target_link_libraries( mdm PRIVATE - ${X11_LIBRARIES} MDELib Mw + MDELib Mw ) + include(GNUInstallDirs) +configure_file(mdmrc.in mdmrc) + install( TARGETS mdm RUNTIME DESTINATION ${CMAKE_INSTALL_SBINDIR} ) +install( + FILES ${CMAKE_CURRENT_BINARY_DIR}/mdmrc + DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/examples/mdm +) +install( + FILES mdm.png + DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/mdm +) diff --git a/mdm/main.c b/mdm/main.c index 0231884..be1dfac 100644 --- a/mdm/main.c +++ b/mdm/main.c @@ -1,7 +1,13 @@ #include "mdm.h" +#include "config.h" + +#include + #include #include +#include +#include int is_launch_x = 1; @@ -19,6 +25,9 @@ int main(int argc, char** argv){ } } + if(access(CONFDIR "/mdm", F_OK) != 0) mkdir(CONFDIR "/mdm", 0755); + if(access(CONFDIR "/mdm/mdmrc", F_OK) != 0) MDEFileCopy(DATADIR "/examples/mdm/mdmrc", CONFDIR "/mdm/mdmrc"); + if(is_launch_x){ if((st = launch_x()) != 0) return st; } diff --git a/mdm/mdm.png b/mdm/mdm.png new file mode 100644 index 0000000000000000000000000000000000000000..a190f66782c7309b591fc161a2d8a9f5fbf992fb GIT binary patch literal 5033 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