project(PEExamples-Qt) # 通用设置 set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -D_DEBUG") set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_DEBUG") if(WIN32) add_definitions(-D_WIN32) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}; /utf-8") # VsMVO.dir\vc140.pdb 如果要将多个CL.EXE写入同一个.PDB文件,请使用 /FS endif(WIN32) #message("CMAKE_CXX_FLAGS:" ${CMAKE_CXX_FLAGS}) if(CMAKE_BUILD_TYPE STREQUAL "Debug") add_definitions("-D_DEBUG") endif() if(WIN32) set(CMAKE_DEBUG_POSTFIX "d") endif(WIN32) if(UNIX) set(CMAKE_DEBUG_POSTFIX "") endif() find_package(Qt5 COMPONENTS Widgets REQUIRED) # example 放在 PE SDK 路径下 set(PE_SDK_DIR "${CMAKE_SOURCE_DIR}/../.." CACHE PATH "pe sdk dir" FORCE) if(EXISTS "${PE_SDK_DIR}") add_library(Vs3D SHARED IMPORTED) add_library(VsCloops SHARED IMPORTED) add_library(VsSolver SHARED IMPORTED) add_library(VsMVO SHARED IMPORTED) add_library(VsParticleSystem SHARED IMPORTED) add_library(VsScriptReader SHARED IMPORTED) add_library(VsStream SHARED IMPORTED) if(WIN32) set_target_properties(Vs3D PROPERTIES PUBLIC_HEADER ${PE_SDK_DIR}/3DVision IMPORTED_IMPLIB_DEBUG ${PE_SDK_DIR}/lib/Debug-x64/3dgsd.lib IMPORTED_IMPLIB_RELEASE ${PE_SDK_DIR}/lib/Release-x64/3dgs.lib IMPORTED_LOCATION_DEBUG ${PE_SDK_DIR}/bin/Debug-x64/3dgsd.dll IMPORTED_LOCATION_RELEASE ${PE_SDK_DIR}/bin/Release-x64/3dgs.dll INTERFACE_INCLUDE_DIRECTORIES ${PE_SDK_DIR}/3DVision ) set_target_properties(VsCloops PROPERTIES PUBLIC_HEADER ${PE_SDK_DIR}/VsSolver/Cloops IMPORTED_IMPLIB_DEBUG ${PE_SDK_DIR}/lib/Debug-x64/Cloopsd.lib IMPORTED_IMPLIB_RELEASE ${PE_SDK_DIR}/lib/Release-x64/Cloops.lib IMPORTED_LOCATION_DEBUG ${PE_SDK_DIR}/bin/Debug-x64/Cloopsd.dll IMPORTED_LOCATION_RELEASE ${PE_SDK_DIR}/bin/Release-x64/Cloops.dll INTERFACE_INCLUDE_DIRECTORIES ${PE_SDK_DIR}/VsSolver/Cloops ) set_target_properties(VsSolver PROPERTIES PUBLIC_HEADER ${PE_SDK_DIR}/VsSolver IMPORTED_IMPLIB_DEBUG ${PE_SDK_DIR}/lib/Debug-x64/VsSolverd.lib IMPORTED_IMPLIB_RELEASE ${PE_SDK_DIR}/lib/Release-x64/VsSolver.lib IMPORTED_LOCATION_DEBUG ${PE_SDK_DIR}/bin/Debug-x64/VsSolverd.dll IMPORTED_LOCATION_RELEASE ${PE_SDK_DIR}/bin/Release-x64/VsSolver.dll INTERFACE_INCLUDE_DIRECTORIES ${PE_SDK_DIR}/VsSolver ) set_target_properties(VsMVO PROPERTIES PUBLIC_HEADER ${PE_SDK_DIR}/VsMVO IMPORTED_IMPLIB_DEBUG ${PE_SDK_DIR}/lib/Debug-x64/VsMVOd.lib IMPORTED_IMPLIB_RELEASE ${PE_SDK_DIR}/lib/Release-x64/VsMVO.lib IMPORTED_LOCATION_DEBUG ${PE_SDK_DIR}/bin/Debug-x64/VsMVOd.dll IMPORTED_LOCATION_RELEASE ${PE_SDK_DIR}/bin/Release-x64/VsMVO.dll INTERFACE_INCLUDE_DIRECTORIES ${PE_SDK_DIR}/VsMVO ) set_target_properties(VsParticleSystem PROPERTIES PUBLIC_HEADER ${PE_SDK_DIR}/ParticleDll IMPORTED_IMPLIB_DEBUG ${PE_SDK_DIR}/lib/Debug-x64/ParticleDlld.lib IMPORTED_IMPLIB_RELEASE ${PE_SDK_DIR}/lib/Release-x64/ParticleDll.lib IMPORTED_LOCATION_DEBUG ${PE_SDK_DIR}/bin/Debug-x64/ParticleDlld.dll IMPORTED_LOCATION_RELEASE ${PE_SDK_DIR}/bin/Release-x64/ParticleDll.dll INTERFACE_INCLUDE_DIRECTORIES ${PE_SDK_DIR}/ParticleDll ) set_target_properties(VsScriptReader PROPERTIES PUBLIC_HEADER ${PE_SDK_DIR}/ScriptReader IMPORTED_IMPLIB_DEBUG ${PE_SDK_DIR}/lib/Debug-x64/ScriptReaderd.lib IMPORTED_IMPLIB_RELEASE ${PE_SDK_DIR}/lib/Release-x64/ScriptReader.lib IMPORTED_LOCATION_DEBUG ${PE_SDK_DIR}/bin/Debug-x64/ScriptReaderd.dll IMPORTED_LOCATION_RELEASE ${PE_SDK_DIR}/bin/Release-x64/ScriptReader.dll INTERFACE_INCLUDE_DIRECTORIES ${PE_SDK_DIR}/ScriptReader ) set_target_properties(VsStream PROPERTIES PUBLIC_HEADER ${PE_SDK_DIR}/VsStream IMPORTED_IMPLIB_DEBUG ${PE_SDK_DIR}/lib/Debug-x64/VsStreamd.lib IMPORTED_IMPLIB_RELEASE ${PE_SDK_DIR}/lib/Release-x64/VsStream.lib IMPORTED_LOCATION_DEBUG ${PE_SDK_DIR}/bin/Debug-x64/VsStreamd.dll IMPORTED_LOCATION_RELEASE ${PE_SDK_DIR}/bin/Release-x64/VsStream.dll INTERFACE_INCLUDE_DIRECTORIES ${PE_SDK_DIR}/VsStream ) install(FILES ${PE_SDK_DIR}/bin/Debug-x64/3dgsd.dll ${PE_SDK_DIR}/bin/Debug-x64/Cloopsd.dll ${PE_SDK_DIR}/bin/Debug-x64/VsSolverd.dll ${PE_SDK_DIR}/bin/Debug-x64/VsStreamd.dll ${PE_SDK_DIR}/bin/Debug-x64/VsMVOd.dll ${PE_SDK_DIR}/bin/Debug-x64/ScriptReaderd.dll ${PE_SDK_DIR}/bin/Debug-x64/ParticleDlld.dll ${PE_SDK_DIR}/bin/Debug-x64/glewd.dll ${PE_SDK_DIR}/bin/Debug-x64/freetyped.dll ${PE_SDK_DIR}/bin/Debug-x64/fmilib_shared.dll ${PE_SDK_DIR}/bin/Debug-x64/ts_fmu_tools.dll DESTINATION bin CONFIGURATIONS DEBUG) install(FILES ${PE_SDK_DIR}/bin/Release-x64/3dgs.dll ${PE_SDK_DIR}/bin/Release-x64/Cloops.dll ${PE_SDK_DIR}/bin/Release-x64/VsSolver.dll ${PE_SDK_DIR}/bin/Release-x64/VsStream.dll ${PE_SDK_DIR}/bin/Release-x64/VsMVO.dll ${PE_SDK_DIR}/bin/Release-x64/ScriptReader.dll ${PE_SDK_DIR}/bin/Release-x64/ParticleDll.dll ${PE_SDK_DIR}/bin/Release-x64/glew.dll ${PE_SDK_DIR}/bin/Release-x64/freetype.dll ${PE_SDK_DIR}/bin/Release-x64/fmilib_shared.dll ${PE_SDK_DIR}/bin/Release-x64/ts_fmu_tools.dll DESTINATION bin CONFIGURATIONS Release) endif(WIN32) set(Vs3D_INCLUDE_DIRS "${PE_SDK_DIR}/3DVision/Interface") set(VsCloops_INCLUDE_DIRS "${PE_SDK_DIR}/VsSolver/Cloops") set(VsSolver_INCLUDE_DIRS "${PE_SDK_DIR}/VsSolver") set(VsMVO_INCLUDE_DIRS "${PE_SDK_DIR}/VsMVO") set(VsParticleSystem_INCLUDE_DIRS "${PE_SDK_DIR}/ParticleDll") set(VsScriptReader_INCLUDE_DIRS "${PE_SDK_DIR}/ScriptReader") set(VsStream_INCLUDE_DIRS "${PE_SDK_DIR}/VsStream") set(Vs3D_LIB_DIRS "${PE_SDK_DIR}/lib/Debug-x64" CONFIGURATIONS DEBUG) set(VsCloops_LIB_DIRS "${PE_SDK_DIR}/lib/Debug-x64" CONFIGURATIONS DEBUG) set(VsSolver_LIB_DIRS "${PE_SDK_DIR}/lib/Debug-x64" CONFIGURATIONS DEBUG) set(VsMVO_LIB_DIRS "${PE_SDK_DIR}/lib/Debug-x64" CONFIGURATIONS DEBUG) set(VsParticleSystem_LIB_DIRS "${PE_SDK_DIR}/lib/Debug-x64" CONFIGURATIONS DEBUG) set(VsScriptReader_LIB_DIRS "${PE_SDK_DIR}/lib/Debug-x64" CONFIGURATIONS DEBUG) set(VsStream_LIB_DIRS "${PE_SDK_DIR}/lib/Debug-x64" CONFIGURATIONS DEBUG) set(Vs3D_LIB_DIRS "${PE_SDK_DIR}/lib/Release-x64" CONFIGURATIONS Release) set(VsCloops_LIB_DIRS "${PE_SDK_DIR}/lib/Release-x64" CONFIGURATIONS Release) set(VsSolver_LIB_DIRS "${PE_SDK_DIR}/lib/Release-x64" CONFIGURATIONS Release) set(VsMVO_LIB_DIRS "${PE_SDK_DIR}/lib/Release-x64" CONFIGURATIONS Release) set(VsParticleSystem_LIB_DIRS "${PE_SDK_DIR}/lib/Release-x64" CONFIGURATIONS Release) set(VsScriptReader_LIB_DIRS "${PE_SDK_DIR}/lib/Release-x64" CONFIGURATIONS Release) set(VsStream_LIB_DIRS "${PE_SDK_DIR}/lib/Release-x64" CONFIGURATIONS Release) endif(EXISTS "${PE_SDK_DIR}") set(PEExamples-Qt_SOURCE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}" ) add_subdirectory(QtScenePlayer)