update build system

This commit is contained in:
2021-08-01 08:29:16 +08:00
parent e59ec89fed
commit 065edf8dfd
4 changed files with 24 additions and 7 deletions

View File

@@ -4,11 +4,12 @@ project(LIBTESS VERSION 1.6)
# 设置安装地址
if(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Linux")
message(STATUS "Platform: " ${CMAKE_HOST_SYSTEM_NAME})
set(CMAKE_INSTALL_PREFIX /usr/local)
# 安装到stow目录
set(CMAKE_INSTALL_PREFIX /opt/stow/tesseroids)
elseif (${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Darwin")
message(STATUS "Platform: " ${CMAKE_HOST_SYSTEM_NAME})
# 安装到系统级用户软件目录
set(CMAKE_INSTALL_PREFIX /opt)
# 安装到stow目录
set(CMAKE_INSTALL_PREFIX /opt/stow/tesseroids)
elseif (${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Windows")
message(STATUS "Platform: " ${CMAKE_HOST_SYSTEM_NAME})
# 使用MinGW GCC编译时需取消注释
@@ -17,7 +18,7 @@ elseif (${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Windows")
set(CMAKE_INSTALL_PREFIX D:/Library)
else()
message(STATUS "Platform: " ${CMAKE_HOST_SYSTEM_NAME})
set(CMAKE_INSTALL_PREFIX /usr/local)
set(CMAKE_INSTALL_PREFIX /opt/stow/tesseroids)
endif()
message(STATUS "Install prefix: " ${CMAKE_INSTALL_PREFIX})

16
config.sh Executable file
View File

@@ -0,0 +1,16 @@
#!/bin/bash
cmd=${1}
package=tesseroids
address=/opt
if [[ ${cmd} == "configure" && ! -d "build/" ]]; then
mkdir build && cd build && cmake .. -DCMAKE_INSTALL_PREFIX=${address}/stow/${package} -DCMAKE_BUILD_TYPE=Release
elif [[ ${cmd} == "configure" ]]; then
cd build && rm -rf * && cmake .. -DCMAKE_INSTALL_PREFIX=${address}/stow/${package} -DCMAKE_BUILD_TYPE=Release
elif [[ ${cmd} == "build" ]]; then
cd build && make
elif [[ ${cmd} == "install" ]]; then
cd build && sudo make install
stow --dir=${address}/stow --target=${address} ${package}
fi

View File

@@ -50,5 +50,5 @@ endif()
# 头文件安装命令
file(GLOB LIBTESS_HEAD *.h)
# 安装到/opt/include/tess
# 安装到include/tess
install(FILES ${LIBTESS_HEAD} DESTINATION include/tess)

View File

@@ -22,8 +22,8 @@ macro(add_tools name)
set_target_properties(${name} PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib)
# 链接动态库
target_link_libraries(${name} PUBLIC tess)
# 将可执行程序安装到/opt/bin/tess
install(TARGETS ${name} RUNTIME DESTINATION bin/tess)
# 将可执行程序安装到bin
install(TARGETS ${name} RUNTIME DESTINATION bin)
endmacro()
# 添加tools