in middle of ProjectConfig installation

This commit is contained in:
Abhijit Kundu
2014-12-01 20:36:12 -05:00
parent d9be47ebe2
commit c3551d3c2c
10 changed files with 224 additions and 249 deletions

View File

@@ -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)