Mercurial > hg > Members > anatofuz > CbC_xv6
comparison src/CMakeLists.txt @ 84:a4307abefd0b
include context.h on proc.h and ajastment directory on CMakeList.txt
author | tobaru |
---|---|
date | Mon, 14 Oct 2019 22:48:39 +0900 |
parents | d4e22a45a575 |
children | d33e6b5adb57 |
comparison
equal
deleted
inserted
replaced
83:d4e22a45a575 | 84:a4307abefd0b |
---|---|
32 find_package(CUDA REQUIRED) | 32 find_package(CUDA REQUIRED) |
33 SET( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CUDA_LINK_FLAGS}" ) | 33 SET( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CUDA_LINK_FLAGS}" ) |
34 endif() | 34 endif() |
35 | 35 |
36 set(CMAKE_BEFORE_PROJECT_PATH "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}") | 36 set(CMAKE_BEFORE_PROJECT_PATH "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}") |
37 include_directories(".") | |
38 include_directories(${CMAKE_SOURCE_DIR}) | |
39 configure_file("${CMAKE_SOURCE_DIR}/kernel-cmake.ld" "${CMAKE_CURRENT_BINARY_DIR}/kernel-cmake.ld" COPYONLY) | 37 configure_file("${CMAKE_SOURCE_DIR}/kernel-cmake.ld" "${CMAKE_CURRENT_BINARY_DIR}/kernel-cmake.ld" COPYONLY) |
40 | 38 |
41 macro( GearsCommand ) | 39 macro( GearsCommand ) |
42 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DXV6KERNEL") | 40 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DXV6KERNEL") |
43 set(CMAKE_C_COMPILER "${CBC_COM}") | 41 set(CMAKE_C_COMPILER "${CBC_COM}") |
45 set(CMAKE_C_LINK_EXECUTABLE "${X_CMAKE_C_LINK_EXECUTABLE}") | 43 set(CMAKE_C_LINK_EXECUTABLE "${X_CMAKE_C_LINK_EXECUTABLE}") |
46 set( _OPTIONS_ARGS ) | 44 set( _OPTIONS_ARGS ) |
47 set( _ONE_VALUE_ARGS TARGET ) | 45 set( _ONE_VALUE_ARGS TARGET ) |
48 set( _MULTI_VALUE_ARGS SOURCES ) | 46 set( _MULTI_VALUE_ARGS SOURCES ) |
49 cmake_parse_arguments( _Gears "${_OPTIONS_ARGS}" "${_ONE_VALUE_ARGS}" "${_MULTI_VALUE_ARGS}" ${ARGN} ) | 47 cmake_parse_arguments( _Gears "${_OPTIONS_ARGS}" "${_ONE_VALUE_ARGS}" "${_MULTI_VALUE_ARGS}" ${ARGN} ) |
50 set(CMAKE_KERNEL_DIR "${CMAKE_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/${_Gears_TARGET}.dir") | 48 set(CMAKE_KERNEL_DIR "${CMAKE_BINARY_DIR}") |
49 set(CMAKE_KERNEL_DIR_C "${CMAKE_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/${_Gears_TARGET}.dir") | |
51 | 50 |
52 set (_Gears_CBC_SOURCES) | 51 set (_Gears_CBC_SOURCES) |
53 set (_Gears_CSOURCES) | 52 set (_Gears_CSOURCES) |
53 include_directories("${CMAKE_BINARY_DIR}" ".") | |
54 foreach(i ${_Gears_SOURCES}) | 54 foreach(i ${_Gears_SOURCES}) |
55 if (${i} MATCHES "\\.cbc") | 55 if (${i} MATCHES "\\.cbc") |
56 string(REGEX REPLACE "(.*).cbc" "c/\\1.c" j ${i}) | 56 string(REGEX REPLACE "(.*).cbc" "c/\\1.c" j ${i}) |
57 add_custom_command ( | 57 add_custom_command ( |
58 OUTPUT ${CMAKE_KERNEL_DIR}/${j} | 58 OUTPUT ${CMAKE_KERNEL_DIR_C}/${j} |
59 DEPENDS ${i} | 59 DEPENDS ${i} |
60 COMMAND "cd" "${CMAKE_KERNEL_DIR}" ";" "perl" "${CMAKE_SOURCE_DIR}/gearsTools/generate_stub.pl" "-o" ${j} ${CMAKE_SOURCE_DIR}/${i} | 60 COMMAND "cd" "${CMAKE_KERNEL_DIR_C}" ";" "perl" "${CMAKE_SOURCE_DIR}/gearsTools/generate_stub.pl" "-o" ${j} ${CMAKE_SOURCE_DIR}/${i} |
61 ) | 61 ) |
62 list(APPEND _Gears_CBC_SOURCES "${CMAKE_KERNEL_DIR}/${j}") | 62 list(APPEND _Gears_CBC_SOURCES "${CMAKE_KERNEL_DIR_C}/${j}") |
63 #list(APPEND _Gears_CBC_SOURCES ${j}) | 63 #list(APPEND _Gears_CBC_SOURCES ${j}) |
64 elseif (${i} MATCHES "\\.cu") | 64 elseif (${i} MATCHES "\\.cu") |
65 string(REGEX REPLACE "(.*).cu" "c/\\1.ptx" j ${i}) | 65 string(REGEX REPLACE "(.*).cu" "c/\\1.ptx" j ${i}) |
66 add_custom_command ( | 66 add_custom_command ( |
67 OUTPUT ${CMAKE_KERNEL_DIR}/${j} | 67 OUTPUT ${CMAKE_KERNEL_DIR}/${j} |
75 list(APPEND _Gears_CSOURCES ${j}) | 75 list(APPEND _Gears_CSOURCES ${j}) |
76 endif() | 76 endif() |
77 endforeach(i) | 77 endforeach(i) |
78 | 78 |
79 #target_link_libraries(syslib) | 79 #target_link_libraries(syslib) |
80 file(COPY "${CMAKE_SOURCE_DIR}/interface/" DESTINATION ${CMAKE_KERNEL_DIR}) | 80 file(COPY "${CMAKE_SOURCE_DIR}/interface/" DESTINATION ${CMAKE_KERNEL_DIR_C}) |
81 file(COPY "${CMAKE_SOURCE_DIR}/context.h" DESTINATION ${CMAKE_KERNEL_DIR}) | 81 file(COPY "${CMAKE_SOURCE_DIR}/context.h" DESTINATION ${CMAKE_KERNEL_DIR_C}) |
82 add_custom_command ( | 82 add_custom_command ( |
83 OUTPUT ${CMAKE_KERNEL_DIR}/c/${_Gears_TARGET}-context.c | 83 OUTPUT ${CMAKE_KERNEL_DIR}/c/${_Gears_TARGET}-context.c |
84 DEPENDS ${_Gears_CBC_SOURCES} fs.img initcode | 84 DEPENDS ${_Gears_CBC_SOURCES} fs.img initcode |
85 COMMAND "cd" "CMakeFiles/kernel.dir" ";" "perl" "${CMAKE_SOURCE_DIR}/gearsTools/generate_context.pl" "-o" ${_Gears_TARGET} ${_Gears_CBC_SOURCES} | 85 COMMAND "cd" "CMakeFiles/kernel.dir" ";" "perl" "${CMAKE_SOURCE_DIR}/gearsTools/generate_context.pl" "-o" ${_Gears_TARGET} ${_Gears_CBC_SOURCES} |
86 ) | 86 ) |
87 add_executable(${_Gears_TARGET} ${_Gears_CBC_SOURCES} ${_Gears_CSOURCES} ${CMAKE_KERNEL_DIR}/c/${_Gears_TARGET}-context.c ) | 87 # add_executable(${_Gears_TARGET} ${_Gears_CBC_SOURCES} ${_Gears_CSOURCES} ${CMAKE_KERNEL_DIR}/c/${_Gears_TARGET}-context.c ) |
88 add_executable(${_Gears_TARGET} ${CMAKE_KERNEL_DIR_C} ${_Gears_CBC_SOURCES} ${_Gears_CSOURCES} ${CMAKE_KERNEL_DIR}/c/${_Gears_TARGET}-context.c ) | |
88 # target_link_libraries(${_Gears_TARGET} m pthread) | 89 # target_link_libraries(${_Gears_TARGET} m pthread) |
89 endmacro() | 90 endmacro() |
90 | 91 |
91 | 92 |
92 set(CMAKE_C_FLAGS "${INITOCDE_CFLAGS}") | 93 set(CMAKE_C_FLAGS "${INITOCDE_CFLAGS}") |