|
@@ -2,22 +2,15 @@ CMAKE_MINIMUM_REQUIRED(VERSION 3.16)
|
|
PROJECT(vmcore C)
|
|
PROJECT(vmcore C)
|
|
SET(CMAKE_C_STANDARD 11)
|
|
SET(CMAKE_C_STANDARD 11)
|
|
|
|
|
|
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include)
|
|
|
|
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/parser/include)
|
|
|
|
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/src/include)
|
|
|
|
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/ofunc/include)
|
|
|
|
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/md5/include)
|
|
|
|
|
|
+SET(INCLUDE_DICT
|
|
|
|
+ ${CMAKE_CURRENT_SOURCE_DIR}/include
|
|
|
|
+ ${CMAKE_CURRENT_SOURCE_DIR}/parser/include
|
|
|
|
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/include
|
|
|
|
+ ${CMAKE_CURRENT_SOURCE_DIR}/ofunc/include
|
|
|
|
+ ${CMAKE_CURRENT_SOURCE_DIR}/md5/include
|
|
|
|
+ )
|
|
|
|
|
|
-#MESSAGE("CMAKE_SYSTEM_NAME is ${CMAKE_SYSTEM_NAME}")
|
|
|
|
-#IF (CMAKE_SYSTEM_NAME MATCHES "Linux" OR CMAKE_SYSTEM_NAME MATCHES "CYGWIN")
|
|
|
|
-# INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/lib/linux/include)
|
|
|
|
-# LINK_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/lib/linux)
|
|
|
|
-#ELSEIF(CMAKE_SYSTEM_NAME MATCHES "Windows")
|
|
|
|
-# INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/lib/windows/include)
|
|
|
|
-# LINK_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/lib/windows)
|
|
|
|
-#ENDIF()
|
|
|
|
-#
|
|
|
|
-#LINK_LIBRARIES(ffi) # 添加库
|
|
|
|
|
|
+INCLUDE_DIRECTORIES(${INCLUDE_DICT} BEFORE)
|
|
|
|
|
|
# 搜索源文件
|
|
# 搜索源文件
|
|
AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/memory MEM_LIST)
|
|
AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/memory MEM_LIST)
|
|
@@ -30,15 +23,16 @@ AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/ofunc/clib CLIB_LIST)
|
|
AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/signalhandler HANDLER_LIST)
|
|
AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/signalhandler HANDLER_LIST)
|
|
AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/md5 MD5_LIST)
|
|
AUX_SOURCE_DIRECTORY(${CMAKE_CURRENT_SOURCE_DIR}/md5 MD5_LIST)
|
|
|
|
|
|
-FIND_LIBRARY(libffi ffi REQUIRED)
|
|
|
|
-FIND_LIBRARY(libdl dl REQUIRED)
|
|
|
|
-FIND_LIBRARY(libm m REQUIRED)
|
|
|
|
-
|
|
|
|
|
|
+# 处理依赖库
|
|
FIND_PATH(ffih ffi.h REQUIRED)
|
|
FIND_PATH(ffih ffi.h REQUIRED)
|
|
INCLUDE_DIRECTORIES(${ffih})
|
|
INCLUDE_DIRECTORIES(${ffih})
|
|
|
|
|
|
-MESSAGE("libm = ${libm}; libdl = ${libdl}; libffi = ${libffi}")
|
|
|
|
-MESSAGE("ffi.h = ${ffih};")
|
|
|
|
|
|
+FIND_LIBRARY(libffi NAMES ffi PATHS REQUIRED)
|
|
|
|
+FIND_LIBRARY(libdl dl REQUIRED)
|
|
|
|
+FIND_LIBRARY(libm m REQUIRED)
|
|
|
|
|
|
|
|
+MESSAGE("libm = ${libm}; libdl = ${libdl}; libffi = ${libffi}")
|
|
|
|
+MESSAGE("ffi.h in ${ffih};")
|
|
ADD_LIBRARY(vmcore SHARED ${SRC_LIST} ${GC_LIST} ${PASER_LIST} ${MEM_LIST} ${FILE_LIST} ${ARGUMENT_LIST} ${OFUNC_LIST} ${HANDLER_LIST} ${CLIB_LIST} ${MD5_LIST})
|
|
ADD_LIBRARY(vmcore SHARED ${SRC_LIST} ${GC_LIST} ${PASER_LIST} ${MEM_LIST} ${FILE_LIST} ${ARGUMENT_LIST} ${OFUNC_LIST} ${HANDLER_LIST} ${CLIB_LIST} ${MD5_LIST})
|
|
TARGET_LINK_LIBRARIES(vmcore ${libffi} ${libdl} ${libm})
|
|
TARGET_LINK_LIBRARIES(vmcore ${libffi} ${libdl} ${libm})
|
|
|
|
+SET_TARGET_PROPERTIES(vmcore PROPERTIES OUTPUT_NAME "vmcore" VERSION 2.1)
|