in middle of ProjectConfig installation
This commit is contained in:
@@ -1,116 +1,75 @@
|
||||
# Tell CMake to run moc when necessary:
|
||||
#set(CMAKE_AUTOMOC ON)
|
||||
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(KIT_SRCS
|
||||
set(_SRCS
|
||||
qtbuttonpropertybrowser.cpp
|
||||
qtbuttonpropertybrowser.h
|
||||
qteditorfactory.cpp
|
||||
qteditorfactory.h
|
||||
qtgroupboxpropertybrowser.cpp
|
||||
qtgroupboxpropertybrowser.h
|
||||
qtpropertybrowser.cpp
|
||||
qtpropertybrowser.h
|
||||
qtpropertybrowserutils.cpp
|
||||
qtpropertybrowserutils_p.h
|
||||
qtpropertymanager.cpp
|
||||
qtpropertymanager.h
|
||||
qttreepropertybrowser.cpp
|
||||
qttreepropertybrowser.h
|
||||
qtvariantproperty.cpp
|
||||
qtvariantproperty.h
|
||||
)
|
||||
|
||||
SET(KIT_MOC_SRCS
|
||||
qtpropertybrowserutils_p.h
|
||||
file(GLOB _IMPL_HDRS *.h)
|
||||
file(GLOB _PUBLIC_HDRS Qt*)
|
||||
|
||||
set(_UI_FORMS
|
||||
)
|
||||
|
||||
SET(KIT_UI_FORMS
|
||||
)
|
||||
|
||||
SET(KIT_resources
|
||||
set(_RESOURCES
|
||||
qtpropertybrowser.qrc
|
||||
)
|
||||
|
||||
if(QT5_FOUND)
|
||||
QT5_WRAP_UI(KIT_UI_CPP ${KIT_UI_FORMS})
|
||||
QT5_WRAP_CPP(KIT_MOC_CPP ${KIT_MOC_SRCS})
|
||||
QT5_ADD_RESOURCES(KIT_QRC_SRCS ${KIT_resources})
|
||||
ELSE()
|
||||
QT4_WRAP_UI(KIT_UI_CPP ${KIT_UI_FORMS})
|
||||
QT4_WRAP_CPP(KIT_MOC_CPP ${KIT_MOC_SRCS})
|
||||
QT4_ADD_RESOURCES(KIT_QRC_SRCS ${KIT_resources})
|
||||
ENDIF()
|
||||
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()
|
||||
|
||||
ADD_LIBRARY(${PROJECT_NAME} STATIC
|
||||
${KIT_SRCS}
|
||||
${KIT_UI_CPP}
|
||||
${KIT_MOC_CPP}
|
||||
${KIT_QRC_SRCS}
|
||||
|
||||
set(TARGET_NAME ${PROJECT_NAME})
|
||||
|
||||
add_library(${TARGET_NAME} STATIC
|
||||
${_SRCS}
|
||||
${_UI_SRCS}
|
||||
${_QRC_SRCS}
|
||||
${_IMPL_HDRS}
|
||||
)
|
||||
|
||||
target_include_directories(${PROJECT_NAME} PRIVATE ${QT_INCLUDE_DIRS})
|
||||
target_compile_definitions(${PROJECT_NAME} PRIVATE ${QT_COMPILE_DEFS})
|
||||
set_target_properties(${PROJECT_NAME} PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
||||
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(${PROJECT_NAME}_LINK_LIBRARIES ${QT_TARGETS})
|
||||
TARGET_LINK_LIBRARIES(
|
||||
${PROJECT_NAME}
|
||||
${${PROJECT_NAME}_LINK_LIBRARIES}
|
||||
set(${TARGET_NAME}_LINK_LIBRARIES ${QT_TARGETS})
|
||||
target_link_libraries(
|
||||
${TARGET_NAME}
|
||||
${${TARGET_NAME}_LINK_LIBRARIES}
|
||||
)
|
||||
|
||||
add_dependencies(${PROJECT_NAME} ${QT_TARGETS})
|
||||
add_dependencies(${TARGET_NAME} ${QT_TARGETS})
|
||||
|
||||
# List of header that should go though moc
|
||||
SET(KIT_HEADERS_MOC_SRCS
|
||||
qtbuttonpropertybrowser.h
|
||||
qteditorfactory.h
|
||||
qtgroupboxpropertybrowser.h
|
||||
qtpropertybrowser.h
|
||||
qtpropertybrowserutils_p.h
|
||||
qtpropertymanager.h
|
||||
qttreepropertybrowser.h
|
||||
qtvariantproperty.h
|
||||
)
|
||||
######################### Installation Stuff ###########################
|
||||
include(GenerateExportHeader)
|
||||
generate_export_header(${TARGET_NAME})
|
||||
|
||||
SET(KIT_MOC_CPP)
|
||||
FOREACH(file ${KIT_HEADERS_MOC_SRCS})
|
||||
get_filename_component(filename_we ${file} NAME_WE)
|
||||
SET(output_file moc_${filename_we}.cpp)
|
||||
set_target_properties(${TARGET_NAME} PROPERTIES
|
||||
PUBLIC_HEADER "${_PUBLIC_HDRS};${_IMPL_HDRS}"
|
||||
)
|
||||
|
||||
IF(QT5_FOUND)
|
||||
QT5_GENERATE_MOC(${file} ${output_file})
|
||||
ELSE()
|
||||
QT4_GENERATE_MOC(${file} ${output_file})
|
||||
ENDIF()
|
||||
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
|
||||
)
|
||||
|
||||
LIST(APPEND KIT_MOC_CPP ${output_file})
|
||||
ENDFOREACH()
|
||||
|
||||
# List of cpp files that should go though moc
|
||||
SET(KIT_CPP_MOC_SRCS
|
||||
qteditorfactory.cpp
|
||||
qtpropertymanager.cpp
|
||||
qttreepropertybrowser.cpp
|
||||
)
|
||||
|
||||
FOREACH(file ${KIT_CPP_MOC_SRCS})
|
||||
get_filename_component(filename_we ${file} NAME_WE)
|
||||
SET(output_file ${filename_we}.moc)
|
||||
|
||||
if(QT5_FOUND)
|
||||
QT5_GENERATE_MOC(${file} ${output_file})
|
||||
ELSE()
|
||||
QT4_GENERATE_MOC(${file} ${output_file})
|
||||
ENDIF()
|
||||
|
||||
LIST(APPEND KIT_MOC_CPP ${output_file})
|
||||
ENDFOREACH()
|
||||
|
||||
add_custom_target(${PROJECT_NAME}GenerateMoc
|
||||
DEPENDS ${KIT_MOC_CPP}
|
||||
)
|
||||
add_dependencies(${PROJECT_NAME} ${PROJECT_NAME}GenerateMoc)
|
||||
|
||||
Reference in New Issue
Block a user