Mercurial > hg > Members > anatofuz > CbC_xv6
comparison src/CMakeLists.txt @ 61:b3a3224e1823
fix link arguments...
author | anatofuz |
---|---|
date | Thu, 11 Jul 2019 18:51:52 +0900 |
parents | 8f435de13b91 |
children | a28580a75faa |
comparison
equal
deleted
inserted
replaced
60:e5f099108a6e | 61:b3a3224e1823 |
---|---|
1 cmake_minimum_required(VERSION 3.8) | 1 cmake_minimum_required(VERSION 3.8) |
2 project(xv6cbc C ASM) | 2 project(xv6cbc C ASM) |
3 add_subdirectory(tools) | 3 add_subdirectory(tools) |
4 add_subdirectory(usr) | |
4 | 5 |
5 | 6 |
6 set(USE_CUDA,0) | 7 set(USE_CUDA,0) |
7 # -DUSE_CUDA | 8 # -DUSE_CUDA |
8 # add_definitions("-Wall -g -O") | 9 # add_definitions("-Wall -g -O") |
9 | 10 |
10 # -DCMAKE_BUILD_TYPE=Debug | 11 # -DCMAKE_BUILD_TYPE=Debug |
11 set(CMAKE_C_FLAGS_DEBUG "-O0") | 12 set(CMAKE_C_FLAGS_DEBUG "-O0") |
12 add_definitions(${PMAKE_ARGS}) | 13 add_definitions(${PMAKE_ARGS}) |
13 set(CMAKE_C_COMPILER "${CBC_COM}") | |
14 | 14 |
15 #add_custom_command(OUTPUT tools | 15 #add_custom_command(OUTPUT tools |
16 # COMMAND "cd ${CMAKE_CURRENT_SOURCE_DIR}/tools && make run" | 16 # COMMAND "cd ${CMAKE_CURRENT_SOURCE_DIR}/tools && make run" |
17 #) | 17 #) |
18 # #WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/tools | 18 # #WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/tools |
19 add_subdirectory(usr) | |
20 | 19 |
21 | 20 |
22 if (${USE_CUDA}) | 21 if (${USE_CUDA}) |
23 include_directories("/usr/local/cuda/include") | 22 include_directories("/usr/local/cuda/include") |
24 set(NVCCFLAG "-std=c++11" "-g" "-O0" ) | 23 set(NVCCFLAG "-std=c++11" "-g" "-O0" ) |
30 find_package(CUDA REQUIRED) | 29 find_package(CUDA REQUIRED) |
31 SET( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CUDA_LINK_FLAGS}" ) | 30 SET( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CUDA_LINK_FLAGS}" ) |
32 endif() | 31 endif() |
33 | 32 |
34 include_directories(".") | 33 include_directories(".") |
34 configure_file("${CMAKE_SOURCE_DIR}/kernel-cmake.ld" "${CMAKE_CURRENT_BINARY_DIR}/kernel-cmake.ld" COPYONLY) | |
35 | 35 |
36 macro( GearsCommand ) | 36 macro( GearsCommand ) |
37 set(CMAKE_C_COMPILER "${CBC_COM}") | |
38 set(CMAKE_LINKER "${X_CMAKE_LINKER}") | |
39 set(CMAKE_C_LINK_EXECUTABLE "${X_CMAKE_C_LINK_EXECUTABLE}") | |
37 set( _OPTIONS_ARGS ) | 40 set( _OPTIONS_ARGS ) |
38 set( _ONE_VALUE_ARGS TARGET ) | 41 set( _ONE_VALUE_ARGS TARGET ) |
39 set( _MULTI_VALUE_ARGS SOURCES ) | 42 set( _MULTI_VALUE_ARGS SOURCES ) |
40 cmake_parse_arguments( _Gears "${_OPTIONS_ARGS}" "${_ONE_VALUE_ARGS}" "${_MULTI_VALUE_ARGS}" ${ARGN} ) | 43 cmake_parse_arguments( _Gears "${_OPTIONS_ARGS}" "${_ONE_VALUE_ARGS}" "${_MULTI_VALUE_ARGS}" ${ARGN} ) |
41 | 44 |
62 set(j ${i}) | 65 set(j ${i}) |
63 list(APPEND _Gears_CSOURCES ${j}) | 66 list(APPEND _Gears_CSOURCES ${j}) |
64 endif() | 67 endif() |
65 endforeach(i) | 68 endforeach(i) |
66 | 69 |
70 #target_link_libraries(syslib) | |
67 add_custom_command ( | 71 add_custom_command ( |
68 OUTPUT c/${_Gears_TARGET}-context.c | 72 OUTPUT c/${_Gears_TARGET}-context.c |
69 DEPENDS ${_Gears_CBC_SOURCES} | 73 DEPENDS ${_Gears_CBC_SOURCES} |
70 COMMAND "perl" "gearsTools/generate_context.pl" "-o" ${_Gears_TARGET} ${_Gears_CBC_SOURCES} | 74 COMMAND "perl" "gearsTools/generate_context.pl" "-o" ${_Gears_TARGET} ${_Gears_CBC_SOURCES} |
71 ) | 75 ) |
76 | 80 |
77 GearsCommand ( | 81 GearsCommand ( |
78 TARGET | 82 TARGET |
79 kernel | 83 kernel |
80 SOURCES | 84 SOURCES |
81 lib/string.c arm.c asm.S bio.c buddy.c console.cbc exec.c file.cbc fs.c log.c main.c memide.c pipe.cbc proc.cbc spinlock.cbc | 85 string.c arm.c asm.S bio.c buddy.c console.cbc exec.c file.cbc fs.c log.c main.c memide.c pipe.cbc proc.cbc spinlock.cbc |
82 start.c swtch.S syscall.cbc sysfile.cbc sysproc.c trap_asm.S trap.c vm.c device/picirq.c device/timer.c device/uart.c | 86 start.c swtch.S syscall.cbc sysfile.cbc sysproc.c trap_asm.S trap.c vm.c device/picirq.c device/timer.c device/uart.c |
83 lib/string.c entry.S | 87 entry.S |
84 ) | 88 ) |
85 | 89 |