76 lines
1.7 KiB
CMake
76 lines
1.7 KiB
CMake
# Tell CMake to run moc when necessary:
|
|
set(CMAKE_AUTOMOC ON)
|
|
|
|
# As moc files are generated in the binary dir, tell CMake
|
|
# to always look for includes there:
|
|
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
|
|
|
set(_SRCS
|
|
qtbuttonpropertybrowser.cpp
|
|
qteditorfactory.cpp
|
|
qtgroupboxpropertybrowser.cpp
|
|
qtpropertybrowser.cpp
|
|
qtpropertybrowserutils.cpp
|
|
qtpropertymanager.cpp
|
|
qttreepropertybrowser.cpp
|
|
qtvariantproperty.cpp
|
|
)
|
|
|
|
file(GLOB _IMPL_HDRS *.h)
|
|
file(GLOB _PUBLIC_HDRS Qt*)
|
|
|
|
set(_UI_FORMS
|
|
)
|
|
|
|
set(_RESOURCES
|
|
qtpropertybrowser.qrc
|
|
)
|
|
|
|
if(QT5_FOUND)
|
|
QT5_WRAP_UI(_UI_SRCS ${_UI_FORMS})
|
|
QT5_ADD_RESOURCES(_QRC_SRCS ${_RESOURCES})
|
|
else()
|
|
QT4_WRAP_UI(_UI_SRCS ${_UI_FORMS})
|
|
QT4_ADD_RESOURCES(_QRC_SRCS ${_RESOURCES})
|
|
endif()
|
|
|
|
|
|
set(TARGET_NAME ${PROJECT_NAME})
|
|
|
|
add_library(${TARGET_NAME} STATIC
|
|
${_SRCS}
|
|
${_UI_SRCS}
|
|
${_QRC_SRCS}
|
|
${_IMPL_HDRS}
|
|
)
|
|
|
|
target_include_directories(${TARGET_NAME} PRIVATE ${QT_INCLUDE_DIRS})
|
|
target_compile_definitions(${TARGET_NAME} PRIVATE ${QT_COMPILE_DEFS})
|
|
set_target_properties(${TARGET_NAME} PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
|
|
|
set(${TARGET_NAME}_LINK_LIBRARIES ${QT_TARGETS})
|
|
target_link_libraries(
|
|
${TARGET_NAME}
|
|
${${TARGET_NAME}_LINK_LIBRARIES}
|
|
)
|
|
|
|
add_dependencies(${TARGET_NAME} ${QT_TARGETS})
|
|
|
|
######################### Installation Stuff ###########################
|
|
include(GenerateExportHeader)
|
|
generate_export_header(${TARGET_NAME})
|
|
|
|
set_target_properties(${TARGET_NAME} PROPERTIES
|
|
PUBLIC_HEADER "${_PUBLIC_HDRS};${_IMPL_HDRS}"
|
|
)
|
|
|
|
install(TARGETS ${TARGET_NAME}
|
|
EXPORT ${TARGET_NAME}Targets
|
|
RUNTIME DESTINATION "${INSTALL_BIN_DIR}"
|
|
LIBRARY DESTINATION "${INSTALL_LIB_DIR}"
|
|
ARCHIVE DESTINATION "${INSTALL_LIB_DIR}"
|
|
PUBLIC_HEADER DESTINATION "${INSTALL_INCLUDE_DIR}"
|
|
COMPONENT dev
|
|
)
|
|
|