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}")