95 lines
2.6 KiB
CMake
95 lines
2.6 KiB
CMake
|
cmake_minimum_required(VERSION 3.5)
|
||
|
project(CCSReport)
|
||
|
|
||
|
add_definitions(-DCCS_COMPASSREPORT_LIB)
|
||
|
|
||
|
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||
|
set(CMAKE_AUTOUIC ON)
|
||
|
set(CMAKE_AUTOMOC ON)
|
||
|
set(CMAKE_AUTORCC ON)
|
||
|
set(CMAKE_CXX_STANDARD 17)
|
||
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||
|
|
||
|
|
||
|
IF(MSVC)
|
||
|
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
|
||
|
#SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /MP")
|
||
|
ENDIF(MSVC)
|
||
|
|
||
|
if(WIN32)
|
||
|
add_definitions(-DCOMPASS_WINDOWS)
|
||
|
add_compile_options("$<$<C_COMPILER_ID:MSVC>:/utf-8>")
|
||
|
set(CMAKE_DEBUG_POSTFIX "d")
|
||
|
else()
|
||
|
add_definitions(-DCOMPASS_UNIX)
|
||
|
add_compile_options(-fPIC)
|
||
|
add_compile_options(-fpermissive)
|
||
|
set(CMAKE_DEBUG_POSTFIX "d")
|
||
|
set(CMAKE_PREFIX_PATH "/opt/Qt/5.15.2/gcc_64") # 替换为您的 Qt 安装路径
|
||
|
endif()
|
||
|
|
||
|
find_package(Qt5 REQUIRED COMPONENTS Core Gui Widgets PrintSupport Svg Xml) # Qt COMPONENTS
|
||
|
|
||
|
if(Qt5_FOUND)
|
||
|
message(STATUS "Qt5 found.")
|
||
|
else()
|
||
|
message(FATAL_ERROR "Qt5 not found.")
|
||
|
endif()
|
||
|
|
||
|
set(PROJECTS_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../../")
|
||
|
|
||
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)
|
||
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/src)
|
||
|
|
||
|
aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/src srcs_src)
|
||
|
# 自动查找当前目录下的所有 .cpp 文件
|
||
|
#ile(GLOB SOURCE_FILESE ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cc)
|
||
|
# 查找当前目录下所有的 .h 文件(可选)
|
||
|
file(GLOB HEADER_FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/*.h)
|
||
|
|
||
|
set(LIBRARY_OUTPUT_PATH "${CMAKE_BINARY_DIR}")
|
||
|
add_library(${PROJECT_NAME} SHARED
|
||
|
${HEADER_FILES}
|
||
|
${srcs_src}
|
||
|
)
|
||
|
|
||
|
target_link_libraries(${PROJECT_NAME} PRIVATE
|
||
|
Qt5::Widgets
|
||
|
Qt5::Core
|
||
|
Qt5::Gui
|
||
|
Qt5::PrintSupport
|
||
|
Qt5::Svg
|
||
|
Qt5::Xml
|
||
|
)
|
||
|
|
||
|
if(WIN32)
|
||
|
# 根据构建类型链接不同的库
|
||
|
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||
|
set(DLLFILE "${PROJECTS_PATH}/build/${CMAKE_BUILD_TYPE}/CCSReportd.dll")
|
||
|
set(LIBFILE "${PROJECTS_PATH}/build/${CMAKE_BUILD_TYPE}/CCSReportd.lib")
|
||
|
else()
|
||
|
set(DLLFILE "${PROJECTS_PATH}/build/${CMAKE_BUILD_TYPE}/CCSReport.dll")
|
||
|
set(LIBFILE "${PROJECTS_PATH}/build/${CMAKE_BUILD_TYPE}/CCSReport.lib")
|
||
|
endif()
|
||
|
else()
|
||
|
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||
|
else()
|
||
|
endif()
|
||
|
endif()
|
||
|
|
||
|
# 拷贝库到指定目录
|
||
|
if(WIN32)
|
||
|
# set(WINDLLDIR "${PROJECTS_PATH}/win_bin/")
|
||
|
# add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
|
||
|
# COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||
|
# "${DLLFILE}" "${WINDLLDIR}")
|
||
|
|
||
|
#拷贝lib到lib/
|
||
|
# set(LIBDIR "${PROJECTS_PATH}/lib/")
|
||
|
# add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
|
||
|
# COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||
|
# "${LIBFILE}" "${LIBDIR}")
|
||
|
endif()
|
||
|
|
||
|
|