-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+CMAKE_MINIMUM_REQUIRED(VERSION 3.0)
PROJECT(initrd-recovery)
-# Initrd-recovery
-INSTALL(FILES ${INITRD_RECOVERY_SRC_DIR}/init DESTINATION ${INITRD_RECOVERY_LIBEXEC_DIR})
-
-CONFIGURE_FILE(${INITRD_RECOVERY_SRC_DIR}/mkinitrd-recovery.sh.in
- ${INITRD_RECOVERY_SRC_DIR}/mkinitrd-recovery.sh
- @ONLY)
-INSTALL(FILES ${INITRD_RECOVERY_SRC_DIR}/mkinitrd-recovery.sh DESTINATION ${INITRD_RECOVERY_LIBEXEC_DIR})
-
-CONFIGURE_FILE(${INITRD_RECOVERY_SRC_DIR}/00-initrd-recovery.list.in
- ${INITRD_RECOVERY_SRC_DIR}/00-initrd-recovery.list
- @ONLY)
-INSTALL(FILES ${INITRD_RECOVERY_SRC_DIR}/00-initrd-recovery.list DESTINATION ${INITRD_RECOVERY_INSTALL_DROPIN_DIR})
-
-IF("${ARCH_BIT}" STREQUAL "64")
-
-CONFIGURE_FILE(${INITRD_RECOVERY_SRC_DIR}/00-64bit-prepare.list.in
- ${INITRD_RECOVERY_SRC_DIR}/00-64bit-prepare.list
- @ONLY)
-INSTALL(FILES ${INITRD_RECOVERY_SRC_DIR}/00-64bit-prepare.list DESTINATION ${INITRD_RECOVERY_INSTALL_DROPIN_DIR})
-
-ENDIF()
-
-IF("${ASAN_BUILD}" STREQUAL "1")
-
-CONFIGURE_FILE(${INITRD_RECOVERY_SRC_DIR}/00-asan-prepare.list.in
- ${INITRD_RECOVERY_SRC_DIR}/00-asan-prepare.list
- @ONLY)
-INSTALL(FILES ${INITRD_RECOVERY_SRC_DIR}/00-asan-prepare.list DESTINATION ${INITRD_RECOVERY_INSTALL_DROPIN_DIR})
-
-ENDIF()
-
-# Minireboot
-SET(MINIREBOOT_BINARY_NAME "minireboot")
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Wall -fPIE")
SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
-AUX_SOURCE_DIRECTORY(${MINIREBOOT_SRC_DIR} MINIREBOOT_SOURCES)
-ADD_EXECUTABLE(${MINIREBOOT_BINARY_NAME} ${MINIREBOOT_SOURCES})
-INSTALL(TARGETS ${MINIREBOOT_BINARY_NAME} DESTINATION ${INITRD_RECOVERY_LIBEXEC_DIR})
+
+ADD_SUBDIRECTORY(src/initrd-recovery)
+ADD_SUBDIRECTORY(src/minireboot)
-DARCH_BIT=%{ARCH_BIT} \
-DINITRD_RECOVERY_LIBEXEC_DIR=%{initrd_recovery_libexec_dir} \
-DINITRD_RECOVERY_INSTALL_DROPIN_DIR=%{initrd_recovery_install_dropin_dir} \
- -DINITRD_RECOVERY_SRC_DIR=src/initrd-recovery \
-DASAN_BUILD=%{ASAN_BUILD} \
- -DINITRD_LIB_DIR=%{_libdir} \
- -DMINIREBOOT_SRC_DIR=src/minireboot
+ -DINITRD_LIB_DIR=%{_libdir}
make %{?_smp_mflags}
--- /dev/null
+INSTALL(FILES init DESTINATION ${INITRD_RECOVERY_LIBEXEC_DIR})
+
+CONFIGURE_FILE(mkinitrd-recovery.sh.in mkinitrd-recovery.sh @ONLY)
+INSTALL(FILES mkinitrd-recovery.sh DESTINATION ${INITRD_RECOVERY_LIBEXEC_DIR})
+
+CONFIGURE_FILE(00-initrd-recovery.list.in 00-initrd-recovery.list @ONLY)
+INSTALL(FILES 00-initrd-recovery.list DESTINATION ${INITRD_RECOVERY_INSTALL_DROPIN_DIR})
+
+IF("${ARCH_BIT}" STREQUAL "64")
+CONFIGURE_FILE(00-64bit-prepare.list.in 00-64bit-prepare.list @ONLY)
+INSTALL(FILES 00-64bit-prepare.list DESTINATION ${INITRD_RECOVERY_INSTALL_DROPIN_DIR})
+ENDIF()
+
+IF("${ASAN_BUILD}" STREQUAL "1")
+CONFIGURE_FILE(00-asan-prepare.list.in 00-asan-prepare.list @ONLY)
+INSTALL(FILES 00-asan-prepare.list DESTINATION ${INITRD_RECOVERY_INSTALL_DROPIN_DIR})
+ENDIF()