我正在尝试为MIT JOS操作系统项目使用CMake - http://repo.or.cz/mit-jos.git/tree 或 https://pdos.csail.mit.edu/6.828/2016/jos.git
以下是文件目录结构:
lab
- .bochsrc
- CODING
- GNUmakefile
- boot
- conf
- fs
- grade.sh
+ inc
- assert.h
- elf.h
- error.h
- kbdreg.h
- memlayout.h
- mmu.h
- stab.h
- stdarg.h
- stdio.h
- string.h
- types.h
- x86.h
- kern
- lib
- mergedep.pl
- user
- CMakeLists.txt
位于lab
文件夹下(即项目文件夹)的CMakeLists.txt
看起来像这样:
cmake_minimum_required(VERSION 3.6)
project(lab)
set(CMAKE_CXX_STANDARD 11)
set(SOURCE_FILES
boot/main.c
fs/test.c
kern/console.c
kern/console.h
kern/entrypgdir.c
kern/init.c
kern/kdebug.c
kern/kdebug.h
kern/monitor.c
kern/monitor.h
kern/printf.c
lib/printfmt.c
lib/readline.c
lib/string.c
user/sendpage.c)
add_executable(lab ${SOURCE_FILES})
我该如何包含位于inc
目录下的头文件,以便源文件仍然可以使用#include <inc/types.h>
等方式来包含它们,而不是使用#include "../inc/types.h"
?
inc
添加为包含文件夹,并使用#include <mmu.h>
而不是#include <inc/mmu.h>
。 - at-2500