diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index db5f7da..66f6d9f 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -1,10 +1,17 @@ # 设置编译选项 -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2") -if(WIN32) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2") -else() - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++11 -O2") +if(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Windows") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2") endif() + +if(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Linux") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -lm -O2") +endif() + +if(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Darwin") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2") +endif() + + # 设置库文件的输出地址 set(LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib) @@ -25,6 +32,12 @@ set_target_properties(tess_static PROPERTIES CLEAN_DIRECT_OUTPUT 1) # 设置动态库的版本号 set_target_properties(tess PROPERTIES VERSION 1.6 SOVERSION 1.6) +# 链接动态库 +if(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Linux") + target_link_libraries(tess PUBLIC m) + target_link_libraries(tess_static m.a) +endif() + # 库的安装命令 if(WIN32) install(TARGETS tess DESTINATION lib) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 89757e8..9dc8644 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,9 +1,14 @@ # 设置编译选项 -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2") -if(WIN32) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2") -else() - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++11 -O2") +if(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Windows") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2") +endif() + +if(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Linux") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -lm -O2") +endif() + +if(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Darwin") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2") endif() # 设置可执行文件的输出地址 diff --git a/toolkits/CMakeLists.txt b/toolkits/CMakeLists.txt index 871e31d..fd80b40 100644 --- a/toolkits/CMakeLists.txt +++ b/toolkits/CMakeLists.txt @@ -1,9 +1,14 @@ # 设置编译选项 -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2") -if(WIN32) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2") -else() - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++11 -O2") +if(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Windows") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2") +endif() + +if(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Linux") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -lm -O2") +endif() + +if(${CMAKE_HOST_SYSTEM_NAME} STREQUAL "Darwin") + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2") endif() # 设置可执行文件的输出地址