1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
|
CMAKE_MINIMUM_REQUIRED (VERSION 3.7.2)
IF(NOT WIN32)
IF(NOT CMAKE_BUILD_TYPE)
SET(CMAKE_BUILD_TYPE "Release")
ENDIF()
SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE})
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE})
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE})
SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE})
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE})
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/${CMAKE_BUILD_TYPE})
ENDIF(NOT WIN32)
# Qt library
message(STATUS "Qt5 is used")
FIND_PACKAGE(Qt5Core REQUIRED)
FIND_PACKAGE(Qt5Widgets REQUIRED)
FIND_PACKAGE(Qt5OpenGL REQUIRED)
ADD_DEFINITIONS(${Qt5Widgets_DEFINITIONS})
FIND_PACKAGE(OpenSceneGraph REQUIRED osgDB osgUtil osgGA osgFX osgSim osgText osgViewer)
SET(IFCPPVIEWER_SOURCE_FILES
src/IfcPlusPlusSystem.cpp
src/main.cpp
src/cmd/CmdRemoveSelectedObjects.cpp
src/cmd/CmdWriteIfcFile.cpp
src/cmd/Command.cpp
src/cmd/CommandManager.cpp
src/cmd/LoadIfcFileCommand.cpp
src/gui/IfcTreeWidget.cpp
src/gui/MainWindow.cpp
src/gui/TabReadWrite.cpp
src/gui/TabView.cpp
src/viewer/GraphicsWindowQt.cpp
src/viewer/OrbitCameraManipulator.cpp
src/viewer/OrbitCameraManipulator.cpp
src/viewer/ViewerWidget.cpp
)
SET(IFCPPVIEWER_MOC_FILES
src/IfcPlusPlusSystem.h
src/gui/IfcTreeWidget.h
src/gui/MainWindow.h
src/gui/TabReadWrite.h
src/gui/TabView.h
src/viewer/ViewerWidget.h
)
FIND_PACKAGE(Boost)
IF(Boost_FOUND)
INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
ADD_DEFINITIONS( -DCARVE_SYSTEM_BOOST )
ENDIF()
QT5_WRAP_CPP( IFCPPVIEWER_MOC_GENERATED_FILES ${IFCPPVIEWER_MOC_FILES})
ADD_EXECUTABLE(SimpleViewerExample
${IFCPPVIEWER_MOC_GENERATED_FILES}
${IFCPPVIEWER_SOURCE_FILES}
${SimpleViewerExample_RESOURCES_RCC}
)
set_target_properties(SimpleViewerExample PROPERTIES DEBUG_POSTFIX "d")
If(UNIX)
# ON Debian Stretch with cmake 3.7.2 OPENTHREADS_LIBRARY_DEBUG is a not known variable
TARGET_LINK_LIBRARIES(SimpleViewerExample ${OPENTHREADS_LIBRARY})
else(UNIX)
TARGET_LINK_LIBRARIES(SimpleViewerExample optimized ${OPENTHREADS_LIBRARY} debug ${OPENTHREADS_LIBRARY_DEBUG})
ENDIF()
TARGET_LINK_LIBRARIES(SimpleViewerExample
IfcPlusPlus
Qt5::Core
Qt5::Gui
Qt5::Widgets
Qt5::OpenGL
optimized ${OSG_LIBRARY} debug ${OSG_LIBRARY_DEBUG}
optimized ${OSGDB_LIBRARY} debug ${OSGDB_LIBRARY_DEBUG}
optimized ${OSGDB_LIBRARY} debug ${OSGDB_LIBRARY_DEBUG}
optimized ${OSGGA_LIBRARY} debug ${OSGGA_LIBRARY_DEBUG}
optimized ${OSGUTIL_LIBRARY} debug ${OSGUTIL_LIBRARY_DEBUG}
optimized ${OSGFX_LIBRARY} debug ${OSGFX_LIBRARY_DEBUG}
optimized ${OSGVIEWER_LIBRARY} debug ${OSGVIEWER_LIBRARY_DEBUG}
optimized ${OSGTEXT_LIBRARY} debug ${OSGTEXT_LIBRARY_DEBUG})
TARGET_INCLUDE_DIRECTORIES(SimpleViewerExample
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/src
${OPENTHREADS_INCLUDE_DIR}
${OSG_INCLUDE_DIR}
${OSGGA_INCLUDE_DIR}
${OSGDB_INCLUDE_DIR}
${OSGUTIL_INCLUDE_DIR}
${OSGANIMATION_INCLUDE_DIR}
${OSGTEXT_INCLUDE_DIR})
INSTALL(
TARGETS SimpleViewerExample
RUNTIME DESTINATION bin
LIBRARY DESTINATION bin
ARCHIVE DESTINATION lib
)
|