Mercurial > hg > Members > anatofuz > CbC_xv6
comparison src/CMakeLists.txt @ 73:0bf6872eb250
fix build kernel.dir
author | anatofuz |
---|---|
date | Wed, 31 Jul 2019 19:35:57 +0900 |
parents | 1e1c6feb7d83 |
children | 10d09cd9fad3 |
comparison
equal
deleted
inserted
replaced
72:4051ad3e0958 | 73:0bf6872eb250 |
---|---|
44 set(CMAKE_C_LINK_EXECUTABLE "${X_CMAKE_C_LINK_EXECUTABLE}") | 44 set(CMAKE_C_LINK_EXECUTABLE "${X_CMAKE_C_LINK_EXECUTABLE}") |
45 set( _OPTIONS_ARGS ) | 45 set( _OPTIONS_ARGS ) |
46 set( _ONE_VALUE_ARGS TARGET ) | 46 set( _ONE_VALUE_ARGS TARGET ) |
47 set( _MULTI_VALUE_ARGS SOURCES ) | 47 set( _MULTI_VALUE_ARGS SOURCES ) |
48 cmake_parse_arguments( _Gears "${_OPTIONS_ARGS}" "${_ONE_VALUE_ARGS}" "${_MULTI_VALUE_ARGS}" ${ARGN} ) | 48 cmake_parse_arguments( _Gears "${_OPTIONS_ARGS}" "${_ONE_VALUE_ARGS}" "${_MULTI_VALUE_ARGS}" ${ARGN} ) |
49 set(CMAKE_KERNEL_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${_Gears_TARGET}.dir") | |
50 | 49 |
51 set (_Gears_CBC_SOURCES) | 50 set (_Gears_CBC_SOURCES) |
52 set (_Gears_CSOURCES) | 51 set (_Gears_CSOURCES) |
53 foreach(i ${_Gears_SOURCES}) | 52 foreach(i ${_Gears_SOURCES}) |
54 if (${i} MATCHES "\\.cbc") | 53 if (${i} MATCHES "\\.cbc") |
55 string(REGEX REPLACE "(.*).cbc" "c/\\1.c" j ${i}) | 54 string(REGEX REPLACE "(.*).cbc" "c/\\1.c" j ${i}) |
56 add_custom_command ( | 55 add_custom_command ( |
57 OUTPUT ${CMAKE_KERNEL_OUTPUT_DIR}/${j} | 56 OUTPUT ${CMAKE_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/${_Gears_TARGET}.dir/${j} |
58 DEPENDS ${i} | 57 DEPENDS ${i} |
59 COMMAND "perl" "${CMAKE_SOURCE_DIR}/gearsTools/generate_stub.pl" "-o" ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${_Gears_TARGET}.dir/${j} ${CMAKE_SOURCE_DIR}/${i} | 58 COMMAND "cd" "${CMAKE_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/${_Gears_TARGET}.dir" ";" "perl" "${CMAKE_SOURCE_DIR}/gearsTools/generate_stub.pl" "-o" ${j} ${CMAKE_SOURCE_DIR}/${i} |
60 ) | 59 ) |
61 list(APPEND _Gears_CBC_SOURCES "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${_Gears_TARGET}.dir/${j}") | 60 list(APPEND _Gears_CBC_SOURCES "${CMAKE_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/${_Gears_TARGET}.dir/${j}") |
62 #list(APPEND _Gears_CBC_SOURCES ${j}) | 61 #list(APPEND _Gears_CBC_SOURCES ${j}) |
63 elseif (${i} MATCHES "\\.cu") | 62 elseif (${i} MATCHES "\\.cu") |
64 string(REGEX REPLACE "(.*).cu" "c/\\1.ptx" j ${i}) | 63 string(REGEX REPLACE "(.*).cu" "c/\\1.ptx" j ${i}) |
65 add_custom_command ( | 64 add_custom_command ( |
66 OUTPUT ${CMAKE_KERNEL_OUTPUT_DIR}/${j} | 65 OUTPUT ${CMAKE_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/${_Gears_TARGET}.dir/${j} |
67 DEPENDS ${i} | 66 DEPENDS ${i} |
68 COMMAND nvcc ${NVCCFLAG} -c -ptx -o ${j} ${i} | 67 COMMAND nvcc ${NVCCFLAG} -c -ptx -o ${j} ${i} |
69 ) | 68 ) |
70 list(APPEND _Gears_CBC_SOURCES ${j}) | 69 list(APPEND _Gears_CBC_SOURCES ${CMAKE_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/${_Gears_TARGET}.dir/${j}) |
71 else() | 70 else() |
72 set(j ${i}) | 71 set(j ${i}) |
73 #list(APPEND _Gears_CSOURCES "${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${_Gears_TARGET}.dir/${j}") | 72 #list(APPEND _Gears_CSOURCES "${CMAKE_BINARY_DIR}/${_Gears_TARGET}.dir/${j}") |
74 list(APPEND _Gears_CSOURCES ${j}) | 73 list(APPEND _Gears_CSOURCES ${j}) |
75 endif() | 74 endif() |
76 endforeach(i) | 75 endforeach(i) |
77 | 76 |
78 #target_link_libraries(syslib) | 77 #target_link_libraries(syslib) |
79 file(COPY "${CMAKE_SOURCE_DIR}/context.h" DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) | 78 file(COPY "${CMAKE_SOURCE_DIR}/context.h" DESTINATION ${CMAKE_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/${_Gears_TARGET}.dir) |
80 add_custom_command ( | 79 add_custom_command ( |
81 OUTPUT ${CMAKE_KERNEL_OUTPUT_DIR}/c/${_Gears_TARGET}-context.c | 80 OUTPUT ${CMAKE_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/${_Gears_TARGET}.dir/c/${_Gears_TARGET}-context.c |
82 DEPENDS ${_Gears_CBC_SOURCES} fs.img initcode | 81 DEPENDS ${_Gears_CBC_SOURCES} fs.img initcode |
83 COMMAND "perl" "${CMAKE_SOURCE_DIR}/gearsTools/generate_context.pl" "-o" ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${_Gears_TARGET} ${_Gears_CBC_SOURCES} | 82 COMMAND "cd" "CMakeFiles/kernel.dir" ";" "perl" "${CMAKE_SOURCE_DIR}/gearsTools/generate_context.pl" "-o" ${_Gears_TARGET} ${_Gears_CBC_SOURCES} |
84 ) | 83 ) |
85 add_executable(${_Gears_TARGET} ${_Gears_CBC_SOURCES} ${_Gears_CSOURCES} ${CMAKE_KERNEL_OUTPUT_DIR}/c/${_Gears_TARGET}-context.c ) | 84 add_executable(${_Gears_TARGET} ${_Gears_CBC_SOURCES} ${_Gears_CSOURCES} ${CMAKE_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/${_Gears_TARGET}.dir/c/${_Gears_TARGET}-context.c ) |
86 # target_link_libraries(${_Gears_TARGET} m pthread) | 85 # target_link_libraries(${_Gears_TARGET} m pthread) |
87 endmacro() | 86 endmacro() |
88 | 87 |
89 | 88 |
90 set(CMAKE_C_FLAGS "${INITOCDE_CFLAGS}") | 89 set(CMAKE_C_FLAGS "${INITOCDE_CFLAGS}") |