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