Files
mckernel/executer/kernel/mcctrl/CMakeLists.txt
Toshiyuki Takahashi baa7a6adcb add ENABLE_GCOV option for cmake
Change-Id: Ic473dc52d748207e49800d0cd340918a4dce0971
2021-03-01 13:19:28 +09:00

41 lines
1.3 KiB
CMake

option(ENABLE_GCOV "Enable GCOV" OFF)
if (ENABLE_GCOV)
add_compile_options("-fprofile-arcs" "-ftest-coverage")
add_link_options("-lgcov" "--coverage")
endif(ENABLE_GCOV)
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/arch/${ARCH})
if(ARCH STREQUAL "x86_64")
set(ARCH_C_FLAGS "-mno-red-zone -mcmodel=kernel")
endif()
set(MCEXEC_PATH "${CMAKE_INSTALL_FULL_BINDIR}/mcexec" CACHE STRING "mcexec path for binfmt")
kmod(mcctrl
C_FLAGS
-I${IHK_FULL_SOURCE_DIR}/linux/include
-I${IHK_FULL_SOURCE_DIR}/linux/include/ihk/arch/${ARCH}
-I${IHK_FULL_SOURCE_DIR}/ikc/include
-I${IHK_FULL_SOURCE_DIR}/ikc/include/ikc/arch/${ARCH}
-I${IHK_FULL_SOURCE_DIR}/include
-I${IHK_FULL_SOURCE_DIR}/include/arch/${ARCH}
-I${PROJECT_SOURCE_DIR}/executer/include
-I${CMAKE_CURRENT_SOURCE_DIR}/arch/${ARCH}/include
-I${CMAKE_CURRENT_SOURCE_DIR}/include
-I${PROJECT_BINARY_DIR}
-I${PROJECT_SOURCE_DIR}/kernel/include
-I${PROJECT_SOURCE_DIR}/arch/${ARCH}/kernel/include
-DMCEXEC_PATH=\\"${MCEXEC_PATH}\\"
${ARCH_C_FLAGS}
SOURCES
driver.c control.c ikc.c syscall.c procfs.c binfmt_mcexec.c
sysfs.c sysfs_files.c mc_plist.c futex.c arch/${ARCH}/archdeps.c arch/${ARCH}/cpu.c
EXTRA_SYMBOLS
${PROJECT_BINARY_DIR}/ihk/linux/core/Module.symvers
DEPENDS
ihk_ko
INSTALL_DEST
${KMODDIR}
)