58 lines
1.5 KiB
CMake
58 lines
1.5 KiB
CMake
cmake_minimum_required(VERSION 3.5)
|
||
project(ReadDXF)
|
||
|
||
# 符号导出
|
||
add_definitions(-DReadDXF_LIB)
|
||
add_definitions(-DDXFLIB_LIBRARY) #这个宏没有就会报 无法解析的外部符号 错误
|
||
|
||
# 设置编译选项,Linux 不需要 /MP
|
||
if(MSVC)
|
||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
|
||
endif()
|
||
|
||
if(WIN32)
|
||
set(CMAKE_DEBUG_POSTFIX "d")
|
||
else()
|
||
set(CMAKE_DEBUG_POSTFIX "d")
|
||
endif()
|
||
|
||
# 使用 UTF-8 编码
|
||
if(WIN32)
|
||
add_compile_options("$<$<C_COMPILER_ID:MSVC>:/utf-8>")
|
||
add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/utf-8>")
|
||
else()
|
||
set(CMAKE_DEBUG_POSTFIX "d")
|
||
# 设置GCC编译选项
|
||
add_compile_options(-fPIC) # 用于共享库的编译选项
|
||
endif()
|
||
|
||
# 定义环境变量
|
||
find_package(Qt5 COMPONENTS Core Widgets WebChannel WebEngineWidgets Svg Sql Xml REQUIRED)
|
||
|
||
#附加包含目录
|
||
set(PROJECTS_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../")
|
||
include_directories(${PROJECTS_PATH}/inc/ReadDXF/)
|
||
|
||
if(WIN32)
|
||
include_directories(${PROJECTS_PATH}/3rd/occ/win64/include/)
|
||
else()
|
||
include_directories(${PROJECTS_PATH}/3rd/occ/arm_linux/include/)
|
||
endif()
|
||
|
||
#源文件目录
|
||
aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/ srcs_readdxf)
|
||
#库本身头文件
|
||
file(GLOB HEADER_FILES ${PROJECTS_PATH}/inc/${PROJECT_NAME}/*.h)
|
||
|
||
add_library(${PROJECT_NAME} SHARED ${srcs_readdxf} ${HEADER_FILES})
|
||
|
||
target_link_libraries(${PROJECT_NAME} PUBLIC
|
||
Qt5::Widgets
|
||
Qt5::Core
|
||
Qt5::Svg
|
||
Qt5::WebChannel
|
||
Qt5::WebEngineWidgets
|
||
Qt5::Xml
|
||
Qt5::Sql
|
||
)
|