-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
76 lines (61 loc) · 2.69 KB
/
CMakeLists.txt
File metadata and controls
76 lines (61 loc) · 2.69 KB
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
cmake_minimum_required(VERSION 2.9)
project(QtPropertyBrowser)
find_package(Qt5 COMPONENTS Core Gui Widgets REQUIRED)
set(SOURCE_FILES
${CMAKE_CURRENT_SOURCE_DIR}/src/qtbuttonpropertybrowser.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/qteditorfactory.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/qtgroupboxpropertybrowser.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/qtpropertybrowser.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/qtpropertybrowserutils.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/qtpropertymanager.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/qttreepropertybrowser.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/qtvariantproperty.cpp
)
set(HEADER_FILES
${CMAKE_CURRENT_SOURCE_DIR}/src/qtbuttonpropertybrowser.h
${CMAKE_CURRENT_SOURCE_DIR}/src/qteditorfactory.h
${CMAKE_CURRENT_SOURCE_DIR}/src/qtgroupboxpropertybrowser.h
${CMAKE_CURRENT_SOURCE_DIR}/src/qtpropertybrowser.h
${CMAKE_CURRENT_SOURCE_DIR}/src/qtpropertybrowserutils_p.h
${CMAKE_CURRENT_SOURCE_DIR}/src/qtpropertymanager.h
${CMAKE_CURRENT_SOURCE_DIR}/src/qttreepropertybrowser.h
${CMAKE_CURRENT_SOURCE_DIR}/src/qtvariantproperty.h
)
set(QRC_FILES ${CMAKE_CURRENT_SOURCE_DIR}/qtpropertybrowser.qrc)
source_group("Header Files" FILES ${HEADER_FILES})
source_group("Source Files" FILES ${SOURCE_FILES})
set(CMAKE_AUTORCC ON)
option(BUILD_SHARED_LIBS "Build shared library." ON)
option(BUILD_EXAMPLES "Build examples." OFF)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
add_library(QtPropertyBrowser ${HEADER_FILES} ${SOURCE_FILES} ${QRC_FILES})
target_include_directories(QtPropertyBrowser PUBLIC
${Qt5Core_INCLUDE_DIRS}
${Qt5Gui_INCLUDE_DIRS}
${Qt5Widgets_INCLUDE_DIRS}
)
target_link_libraries(QtPropertyBrowser PUBLIC
${Qt5Core_LIBRARIES}
${Qt5Gui_LIBRARIES}
${Qt5Widgets_LIBRARIES}
)
set_target_properties(QtPropertyBrowser PROPERTIES AUTOMOC TRUE)
if(BUILD_EXAMPLES)
add_subdirectory(examples/demo)
endif()
include(GenerateExportHeader)
set(CMAKE_CXX_VISIBILITY_PRESET hidden)
set(CMAKE_VISIBILITY_INLINES_HIDDEN 1)
generate_export_header(QtPropertyBrowser)
install(TARGETS QtPropertyBrowser
RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin
LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib
ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib
)
install(FILES ${HEADER_FILES} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/QtPropertyBrowser)
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/cmake/FindQtPropertyBrowser.cmake DESTINATION ${CMAKE_INSTALL_PREFIX})
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/qtpropertybrowser_export.h DESTINATION ${CMAKE_INSTALL_PREFIX}/include/QtPropertyBrowser)
option(BUILD_DOCUMENTATION "Use Doxygen to create the HTML based API documentation" OFF)
if(BUILD_DOCUMENTATION)
include(doxygen/doxygen.cmake)
endif()