magnetic-tesseroids/toolkits/CMakeLists.txt
2021-07-31 16:10:58 +08:00

47 lines
1.7 KiB
CMake

# 设置编译选项
if(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Windows")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2")
endif()
if(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Linux")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -lopenblas -lm -O2")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -lopenblas -lm -O2")
endif()
if(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Darwin")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -framework Accelerate -O2")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -framework Accelerate -O2")
endif()
# 设置可执行文件的输出地址
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin/toolkits)
# 下面设置tools的编译命令 首先设置一个宏
macro(add_tools name)
# 添加可执行程序名称
add_executable(${name} ${name}.cpp)
# 设置安装后的动态库调用地址
set_target_properties(${name} PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib)
# 链接动态库
target_link_libraries(${name} PUBLIC magtess)
# 将可执行程序安装到/usr/local/sbin
install(TARGETS ${name} RUNTIME DESTINATION bin/magtess)
endmacro()
# 添加tools
add_tools(tessbx)
add_tools(tessby)
add_tools(tessbz)
add_tools(tessutil_combine_grids)
add_tools(tessutil_gradient_calculator)
#add_tools(tessutil_magnetize_model)
# 添加可执行程序名称
add_executable(tessutil_magnetize_model tessutil_magnetize_model.c)
# 设置安装后的动态库调用地址
set_target_properties(tessutil_magnetize_model PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib)
# 链接动态库
target_link_libraries(tessutil_magnetize_model PUBLIC magtess)
# 将可执行程序安装到/opt/bin
install(TARGETS tessutil_magnetize_model RUNTIME DESTINATION bin/magtess)