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("$<$:/utf-8>") add_compile_options("$<$:/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 )