Jelajahi Sumber

refactor: 修改cmake的install程序

为target添加rpath属性
SongZihuan 4 tahun lalu
induk
melakukan
080f4486f7
3 mengubah file dengan 9 tambahan dan 4 penghapusan
  1. 4 4
      CMakeLists.txt
  2. 3 0
      vmcore/CMakeLists.txt
  3. 2 0
      vmcore/include/__macro.h

+ 4 - 4
CMakeLists.txt

@@ -35,10 +35,10 @@ MESSAGE("cmake file in is ${CMAKE_CURRENT_SOURCE_DIR}")
 MESSAGE("vmcore on ${vmcore_BINARY_DIR}")
 LINK_DIRECTORIES(${vmcore_BINARY_DIR})  # 添加vmcore的构建目录为寻找lib的目录
 ADD_SUBDIRECTORY(${PROJECT_SOURCE_DIR}/vmcore)
-LINK_LIBRARIES(vmcore)
+
 ADD_EXECUTABLE(VirtualMath main.c ${SRC_LIST} ${ARGUMENT_LIST})
+TARGET_LINK_LIBRARIES(VirtualMath vmcore)
 SET_TARGET_PROPERTIES(VirtualMath PROPERTIES OUTPUT_NAME "hellovm")
+set_target_properties(VirtualMath PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")  # 添加rpath
 
-INSTALL(DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/ DESTINATION bin)
-INSTALL(DIRECTORY ${LIBRARY_OUTPUT_PATH}/ DESTINATION lib)
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/vmcore/include/virtualmath.h DESTINATION include)
+INSTALL(TARGETS VirtualMath)

+ 3 - 0
vmcore/CMakeLists.txt

@@ -34,4 +34,7 @@ MESSAGE("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})
 TARGET_LINK_LIBRARIES(vmcore ${libffi} ${libdl} m)
+TARGET_INCLUDE_DIRECTORIES(vmcore PRIVATE INCLUDE_DICT)
+SET_TARGET_PROPERTIES(vmcore PROPERTIES PUBLIC_HEADER ${CMAKE_CURRENT_SOURCE_DIR}/include/virtualmath.h)
 SET_TARGET_PROPERTIES(vmcore PROPERTIES OUTPUT_NAME "vmcore" VERSION 2.1)
+INSTALL(TARGETS vmcore)

+ 2 - 0
vmcore/include/__macro.h

@@ -36,4 +36,6 @@ typedef long double vdou;
 typedef unsigned long long vhashn;
 typedef unsigned long long fline;
 
+//#define again___
+
 #endif //VIRTUALMATH___MACRO_H