|
|
@@ -36,7 +36,7 @@ option(INSTALL_INCLUDE_FILES "Enable installation of include header file or thir
|
|
|
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/addin/cmake/ )
|
|
|
include(CheckStructHasMember)
|
|
|
include(CheckIncludeFiles)
|
|
|
-
|
|
|
+include(CheckSymbolExists)
|
|
|
|
|
|
# Turn on solution folders (2.8.4+)
|
|
|
set_property(GLOBAL PROPERTY USE_FOLDERS ON)
|
|
|
@@ -73,6 +73,8 @@ else()
|
|
|
endif()
|
|
|
message("RVC_VERSION=${RVC_VERSION_FULL}")
|
|
|
|
|
|
+message("CMAKE_SYSTEM_NAME: ${CMAKE_SYSTEM_NAME}, CMAKE_GENERATOR: ${CMAKE_GENERATOR}")
|
|
|
+
|
|
|
configure_file("${PROJECT_SOURCE_DIR}/version.h.in" "${PROJECT_BINARY_DIR}/version.h")
|
|
|
include_directories(${PROJECT_BINARY_DIR})
|
|
|
|
|
|
@@ -130,12 +132,41 @@ if(MSVC)
|
|
|
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
|
|
|
endif(MSVC)
|
|
|
|
|
|
-# Window occurs '/' error
|
|
|
-STRING(REGEX REPLACE "^([A-Z]*.)([/\\].*)" "\\1" CURRENT_DISK "${CMAKE_CURRENT_SOURCE_DIR}")
|
|
|
-# message(STATUS "current disk: ${CURRENT_DISK}")
|
|
|
-set(OUTPUT_CUR_DISK_PATH "${CURRENT_DISK}\\")
|
|
|
+if(CMAKE_COMPILER_IS_GNUCC)
|
|
|
+ if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64" OR CMAKE_SYSTEM_PROCESSOR MATCHES "i686")
|
|
|
+ CHECK_SYMBOL_EXISTS(__x86_64__ "" IS_X86_64)
|
|
|
+ if(IS_X86_64)
|
|
|
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
|
|
|
+ message(STATUS "set -fPIC")
|
|
|
+ else()
|
|
|
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=i686")
|
|
|
+ message(STATUS "-march=i686")
|
|
|
+ endif()
|
|
|
+ else()
|
|
|
+ if(CMAKE_POSITION_INDEPENDENT_CODE)
|
|
|
+ if(${CMAKE_VERSION} VERSION_LESS 2.8.9)
|
|
|
+ message(STATUS "set -fPIC 2")
|
|
|
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
|
|
|
+ endif()
|
|
|
+ endif()
|
|
|
+ endif()
|
|
|
+endif()
|
|
|
+
|
|
|
+if(MSVC)
|
|
|
+ # Window occurs '/' error
|
|
|
+ STRING(REGEX REPLACE "^([A-Z]*.)([/\\].*)" "\\1" CURRENT_DISK "${CMAKE_CURRENT_SOURCE_DIR}")
|
|
|
+ set(OUTPUT_CUR_DISK_PATH "${CURRENT_DISK}\\")
|
|
|
+else(MSVC)
|
|
|
+ set(OUTPUT_CUR_DISK_PATH "/opt/")
|
|
|
+endif(MSVC)
|
|
|
set(OUTPUT_VERSION_DIR_PATH "${OUTPUT_CUR_DISK_PATH}run\\version")
|
|
|
set(OUTPUT_CUR_VERSION_PATH "${OUTPUT_VERSION_DIR_PATH}\\${RVC_VERSION}")
|
|
|
+if(NOT MSVC)
|
|
|
+ string(REPLACE "\\" "/" OUTPUT_VERSION_DIR_PATH ${OUTPUT_VERSION_DIR_PATH})
|
|
|
+ string(REPLACE "\\" "/" OUTPUT_CUR_VERSION_PATH ${OUTPUT_CUR_VERSION_PATH})
|
|
|
+endif(NOT MSVC)
|
|
|
+
|
|
|
+
|
|
|
|
|
|
set(PACK_INSTALL_PREFIX_ORIGIN "run")
|
|
|
set(PACK_INSTALL_PREFIX_VERSION "${PACK_INSTALL_PREFIX_ORIGIN}/version")
|
|
|
@@ -250,8 +281,10 @@ string(REPLACE ";" " " RVC_BUILD_CONFIG "${RVC_BUILD_CONFIG_LIST}")
|
|
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/buildflags.h.in ${CMAKE_CURRENT_BINARY_DIR}/buildflags.h)
|
|
|
|
|
|
#
|
|
|
-string(REPLACE "\\" "/" OUTPUT_VERSION_DIR_PATH ${OUTPUT_VERSION_DIR_PATH})
|
|
|
-string(REPLACE "\\" "/" OUTPUT_CUR_DISK_PATH ${OUTPUT_CUR_DISK_PATH})
|
|
|
+if(MSVC)
|
|
|
+ string(REPLACE "\\" "/" OUTPUT_VERSION_DIR_PATH ${OUTPUT_VERSION_DIR_PATH})
|
|
|
+ string(REPLACE "\\" "/" OUTPUT_CUR_DISK_PATH ${OUTPUT_CUR_DISK_PATH})
|
|
|
+endif(MSVC)
|
|
|
set(CMAKE_INSTALL_PREFIX "${OUTPUT_CUR_DISK_PATH}")
|
|
|
#set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/install") # /${RVC_VERSION}
|
|
|
set(CMAKE_INSTALL_LOCAL_ONLY ON)
|
|
|
@@ -271,7 +304,7 @@ set(CPACK_PACKAGE_VERSION_MAJOR ${RVC_VERSION_MAJOR})
|
|
|
set(CPACK_PACKAGE_VERSION_MINOR ${RVC_VERSION_MINOR})
|
|
|
set(CPACK_PACKAGE_VERSION_PATCH ${RVC_VERSION_REVISION})
|
|
|
|
|
|
-set(CPACK_COMPONENTS_ALL headers libraries)
|
|
|
+set(CPACK_COMPONENTS_ALL headers libraries symbols scripts)
|
|
|
|
|
|
if(MSVC)
|
|
|
if( NOT CPACK_GENERATOR)
|
|
|
@@ -281,6 +314,11 @@ if(MSVC)
|
|
|
if(CPACK_GENERATOR MATCHES "NSIS")
|
|
|
set(CPACK_PACKAGE_INSTALL_DIRECTORY "C:\\\\Run")
|
|
|
endif()
|
|
|
+else(MSVC)
|
|
|
+ if( NOT CPACK_GENERATOR)
|
|
|
+ set(CPACK_GENERATOR "TGZ")
|
|
|
+ message(STATUS "set tgz package file type")
|
|
|
+ endif()
|
|
|
endif(MSVC)
|
|
|
|
|
|
if(MSVC)
|
|
|
@@ -309,21 +347,24 @@ endif()
|
|
|
file(GLOB BIN_FILES "${CMAKE_SOURCE_DIR}/addin/din/*")
|
|
|
install(FILES ${BIN_FILES} DESTINATION "${RVC_RUNTIME_PATH}" COMPONENT libraries)
|
|
|
#install(DIRECTORY "${CMAKE_SOURCE_DIR}/addin/bin" DESTINATION "${PACK_INSTALL_PREFIX_CUR_VER}" COMPONENT libraries)
|
|
|
-install(DIRECTORY "${CMAKE_SOURCE_DIR}/addin/cfg" DESTINATION "${PACK_INSTALL_PREFIX_CUR_VER}" COMPONENT configs FILES_MATCHING PATTERN "*.ini")
|
|
|
+install(DIRECTORY "${CMAKE_SOURCE_DIR}/addin/cfg" DESTINATION "${PACK_INSTALL_PREFIX_CUR_VER}" COMPONENT scripts FILES_MATCHING PATTERN "*.ini")
|
|
|
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/addin/cfg/shell.ini.in" ${CMAKE_BINARY_DIR}/shell.ini @ONLY)
|
|
|
-install(FILES ${CMAKE_BINARY_DIR}/shell.ini DESTINATION ${RVC_CONFIG_PATH})
|
|
|
+install(FILES ${CMAKE_BINARY_DIR}/shell.ini DESTINATION ${RVC_CONFIG_PATH} COMPONENT scripts)
|
|
|
set(active_txt_file "${CMAKE_BINARY_DIR}/active.txt")
|
|
|
file(WRITE ${active_txt_file} "${RVC_VERSION}")
|
|
|
#install(CODE "EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E make_directory ${OUTPUT_VERSION_DIR_PATH})")
|
|
|
#install(CODE "EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E copy_if_different ${active_txt_file} ${OUTPUT_VERSION_DIR_PATH}/active.txt )")
|
|
|
|
|
|
-install(FILES ${active_txt_file} DESTINATION ${PACK_INSTALL_PREFIX_VERSION})
|
|
|
+install(FILES ${active_txt_file} DESTINATION ${PACK_INSTALL_PREFIX_VERSION} COMPONENT scripts)
|
|
|
install(DIRECTORY "${CMAKE_SOURCE_DIR}/addin/hardwarecfg" DESTINATION "${PACK_INSTALL_PREFIX_ORIGIN}" COMPONENT scripts)
|
|
|
if(MSVC)
|
|
|
file(GLOB BAT_SCRIPTS "${CMAKE_SOURCE_DIR}/addin/startup_scripts/*.vbs")
|
|
|
- install(FILES ${BAT_SCRIPTS} DESTINATION "${PACK_INSTALL_PREFIX_VERSION}" COMPONENT scripts)
|
|
|
+else(MSVC)
|
|
|
+ file(GLOB BAT_SCRIPTS "${CMAKE_SOURCE_DIR}/addin/startup_scripts/*.sh")
|
|
|
endif(MSVC)
|
|
|
|
|
|
+install(FILES ${BAT_SCRIPTS} DESTINATION "${PACK_INSTALL_PREFIX_VERSION}" COMPONENT scripts)
|
|
|
+
|
|
|
|
|
|
|
|
|
# if necessary
|