File: CMakeLists.txt

package info (click to toggle)
ifcplusplus 0~git20190402.13744d5%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye
  • size: 16,716 kB
  • sloc: cpp: 199,083; makefile: 31
file content (106 lines) | stat: -rw-r--r-- 3,394 bytes parent folder | download | duplicates (2)
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
	)