COMPASSi/trunk/code/projects/DataManager/CMakeLists.txt

149 lines
4.1 KiB
CMake
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

cmake_minimum_required(VERSION 3.5)
project(DataManager)
# 符号导出
# 符号导出
add_definitions(-DDATAMANAGER_LIB)
# 设置编译选项Linux 不需要 /MP
if(MSVC)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP")
add_compile_options("/bigobj")
endif()
if(WIN32)
set(CMAKE_DEBUG_POSTFIX "d")
else()
set(CMAKE_DEBUG_POSTFIX "d")
endif()
# 使用 UTF-8 编码
add_compile_options("$<$<C_COMPILER_ID:MSVC>:/utf-8>")
add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/utf-8>")
find_package(Qt5 COMPONENTS Core Widgets WebChannel WebEngineWidgets Svg Sql Xml REQUIRED)
include_directories(${PROJECTS_PATH}/inc/Common)
include_directories(${PROJECTS_PATH}/inc/DataManager/DataManagerInterface/include)
include_directories(${PROJECTS_PATH}/inc/DataManager/Infrastructure.Interface/Arithmetics)
include_directories(${PROJECTS_PATH}/inc/DataManager/Infrastructure.Data)
include_directories(${PROJECTS_PATH}/inc/DataManager/Infrastructure.Data/Model)
include_directories(${PROJECTS_PATH}/inc/DataManager/Logic/Logic.DataManagement/Interpreters)
include_directories(${PROJECTS_PATH}/inc/DataManager/Logic/Logic.DataManagement/Utility)
include_directories(${PROJECTS_PATH}/inc/OCC/OCCLib/)
include_directories(${PROJECTS_PATH}/inc/OCC/OCCModeling/)
include_directories(${PROJECTS_PATH}/inc/OCC/OCCModeling/CXml)
include_directories(${PROJECTS_PATH}/inc/DataManager/XmlSerialization)
include_directories(${PROJECTS_PATH}/inc/DataManager/XSDHeader)
include_directories(${PROJECTS_PATH}/inc/ReadDXF)
if(WIN32)
include_directories(${PROJECTS_PATH}/3rd/spdlog/win64/include)
include_directories(${PROJECTS_PATH}/3rd/xerces-c/win64/include)
include_directories(${PROJECTS_PATH}/3rd/xlnt/win64/include)
else()
include_directories(${PROJECTS_PATH}/3rd/spdlog/arm_linux/include)
include_directories(${PROJECTS_PATH}/3rd/xerces-c/arm_linux/include)
include_directories(${PROJECTS_PATH}/3rd/xlnt/arm_linux/include)
endif()
file(GLOB_RECURSE SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp ${CMAKE_CURRENT_SOURCE_DIR}/*.cxx)
file(GLOB_RECURSE HEADERS ${PROJECTS_PATH}/inc/DataManager/*.h ${PROJECTS_PATH}/inc/DataManager/*.hxx)
add_library(${PROJECT_NAME} SHARED
${SOURCES}
${HEADERS}
)
target_include_directories(DataManager PRIVATE ${CMAKE_SOURCE_DIR}/3rd/spdlog)
# 添加库文件搜索路径
if(WIN32)
target_link_directories(${PROJECT_NAME} PRIVATE
${PROJECTS_PATH}/3rd/occ/win64/lib64
${PROJECTS_PATH}/3rd/xerces-c/win64/lib
${PROJECTS_PATH}/3rd/spdlog/win64/lib
${PROJECTS_PATH}/bin/${CMAKE_BUILD_TYPE}
${PROJECTS_PATH}/3rd/xlnt/win64/lib
)
else()
target_link_directories(${PROJECT_NAME} PRIVATE
${PROJECTS_PATH}/3rd/occ/arm_linux/lib
${PROJECTS_PATH}/3rd/xerces-c/arm_linux/lib
${PROJECTS_PATH}/3rd/spdlog/arm_linux/lib
${PROJECTS_PATH}/3rd/xlnt/arm_linux/lib
${PROJECTS_PATH}/arm_linux_bin/${CMAKE_BUILD_TYPE}/lib
)
endif()
target_link_libraries(${PROJECT_NAME} PUBLIC
Qt5::Widgets
Qt5::Core
Qt5::Svg
Qt5::WebChannel
Qt5::WebEngineWidgets
Qt5::Xml
Qt5::Sql
TKVRML
TKSTL
TKBRep
TKIGES
TKShHealing
TKSTEP
TKXSBase
TKernel
TKBool
TKCDF
TKDraw
TKFeat
TKFillet
TKG2d
TKG3d
TKGeomAlgo
TKGeomBase
TKHLR
TKMath
TKOffset
TKPrim
TKService
TKTopAlgo
TKV3d
TKBO
TKMesh
TKOpenGl
OCCModeling
pugixml
xerces-c
)
if(WIN32)
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
target_link_libraries(${PROJECT_NAME} PUBLIC Utild)
#target_link_libraries(${PROJECT_NAME} PUBLIC ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/Debug/pugixmld.lib)
target_link_libraries(${PROJECT_NAME} PUBLIC spdlogd)
target_link_libraries(${PROJECT_NAME} PUBLIC xlntd)
else()
target_link_libraries(${PROJECT_NAME} PUBLIC Util)
#target_link_libraries(${PROJECT_NAME} PUBLIC ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/Release/pugixml.lib)
target_link_libraries(${PROJECT_NAME} PUBLIC spdlog)
target_link_libraries(${PROJECT_NAME} PUBLIC xlnt)
endif()
else()
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
else()
endif()
endif()