Browse Source

Merge branch 'feature_component_cmake' of semlanik/qtprotobuf into master

semlanik 5 years ago
parent
commit
b92aec48a1

+ 0 - 1
examples/addressbook/CMakeLists.txt

@@ -17,7 +17,6 @@ set(GENERATED_HEADERS
     job.h
     listframe.h
     phonenumber.h
-    globalenums.h
     none.h
     callstatus.h)
 

+ 1 - 0
src/generator/CMakeLists.txt

@@ -40,6 +40,7 @@ if(WIN32)
     link_directories(${PROTOBUF_LIBRARIES_PATH} ${GRPC_LIBRARIES})
 endif()
 
+# TODO: include dirs should be attached to a corresponding target and this should not be required 
 if(DEFINED Protobuf_INCLUDE_DIRS)
     target_include_directories(${TARGET} PUBLIC ${Protobuf_INCLUDE_DIRS})
 endif()

+ 7 - 8
src/grpc/CMakeLists.txt

@@ -1,13 +1,11 @@
-project(QtGrpc VERSION ${QTPROTOBUF_PROJECT_VERSION} LANGUAGES CXX)
-
-set(TARGET ${PROJECT_NAME})
+set(TARGET QtGrpc)
 set(TARGET_STATIC ${TARGET}Static)
 set(TARGET_EXPORT ${TARGET}Targets)
 set(TARGET_CONFIG ${TARGET}Config)
 
-set(TARGET_INCLUDE_DIR ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME})
+set(TARGET_INCLUDE_DIR ${CMAKE_INSTALL_INCLUDEDIR}/${TARGET})
 set(TARGET_LIB_DIR ${CMAKE_INSTALL_LIBDIR})
-set(TARGET_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
+set(TARGET_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/${TARGET}})
 
 set(CMAKE_AUTOMOC ON)
 set(CMAKE_AUTORCC ON)
@@ -28,12 +26,13 @@ file(GLOB HEADERS asyncreply.h
     sslcredentials.h
     insecurecredentials.h)
 
-set(INCLUDE_DIRS PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> $<INSTALL_INTERFACE:${TARGET_INCLUDE_DIR}>)
-
 add_library(${TARGET} SHARED ${SOURCES})
 add_library(${QTPROTOBUF_COMMON_NAMESPACE}::${TARGET} ALIAS ${TARGET})
 set_target_properties(${TARGET} PROPERTIES VERSION ${PROJECT_VERSION} PUBLIC_HEADER "${HEADERS}" OUTPUT_NAME ${TARGET})
-target_include_directories(${TARGET} ${INCLUDE_DIRS})
+target_include_directories(${TARGET} PUBLIC 
+    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> 
+    $<INSTALL_INTERFACE:${TARGET_INCLUDE_DIR}>
+)
 target_link_libraries(${TARGET} PUBLIC ${QTPROTOBUF_COMMON_NAMESPACE}::QtProtobuf Qt5::Core Qt5::Network)
 target_compile_features(${TARGET} PUBLIC cxx_std_14
                                          cxx_auto_type

+ 7 - 8
src/protobuf/CMakeLists.txt

@@ -1,13 +1,11 @@
-project(QtProtobuf VERSION ${QTPROTOBUF_PROJECT_VERSION} LANGUAGES CXX)
-
-set(TARGET ${PROJECT_NAME})
+set(TARGET QtProtobuf)
 set(TARGET_STATIC ${TARGET}Static)
 set(TARGET_EXPORT ${TARGET}Targets)
 set(TARGET_CONFIG ${TARGET}Config)
 
-set(TARGET_INCLUDE_DIR ${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME})
+set(TARGET_INCLUDE_DIR ${CMAKE_INSTALL_INCLUDEDIR}/${TARGET})
 set(TARGET_LIB_DIR ${CMAKE_INSTALL_LIBDIR})
-set(TARGET_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
+set(TARGET_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR}/cmake/${TARGET})
 
 set(CMAKE_AUTOMOC ON)
 set(CMAKE_AUTORCC ON)
@@ -27,12 +25,13 @@ file(GLOB HEADERS
     selfcheckiterator.h
     qtprotobuflogging.h)
 
-set(INCLUDE_DIRS PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> $<INSTALL_INTERFACE:${TARGET_INCLUDE_DIR}>)
-
 add_library(${TARGET} SHARED ${SOURCES})
 add_library(${QTPROTOBUF_COMMON_NAMESPACE}::${TARGET} ALIAS ${TARGET})
 set_target_properties(${TARGET} PROPERTIES VERSION ${PROJECT_VERSION} PUBLIC_HEADER "${HEADERS}" OUTPUT_NAME ${TARGET})
-target_include_directories(${TARGET} ${INCLUDE_DIRS})
+target_include_directories(${TARGET} PUBLIC 
+    $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> 
+    $<INSTALL_INTERFACE:${TARGET_INCLUDE_DIR}>
+)
 target_link_libraries(${TARGET} PUBLIC Qt5::Core Qt5::Qml)
 target_compile_features(${TARGET} PUBLIC cxx_std_14
                                          cxx_auto_type