aboutsummaryrefslogtreecommitdiffstats
path: root/cmake
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2020-05-18 09:37:42 +0200
committerEike Ziller <eike.ziller@qt.io>2020-05-18 11:18:50 +0000
commitd09c453ff1b4e74d520304e03b419d86bd6c1900 (patch)
tree0d068f7630e5facbbcba5177fa95e3f75d19a956 /cmake
parent3c59d022865fd23d5b050c3b98cc468a414d6a91 (diff)
CMake build: Use some more extend_qtc_target even internally
To avoid duplication. Change-Id: Ida6c1e17a21cfdca9208e089760287ff55bae595 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Diffstat (limited to 'cmake')
-rw-r--r--cmake/QtCreatorAPI.cmake72
1 files changed, 30 insertions, 42 deletions
diff --git a/cmake/QtCreatorAPI.cmake b/cmake/QtCreatorAPI.cmake
index 99247391f8..33dea5812d 100644
--- a/cmake/QtCreatorAPI.cmake
+++ b/cmake/QtCreatorAPI.cmake
@@ -116,31 +116,24 @@ function(add_qtc_library name)
set(TEST_DEFINES WITH_TESTS SRCDIR="${CMAKE_CURRENT_SOURCE_DIR}")
endif()
- file(RELATIVE_PATH include_dir_relative_path ${PROJECT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
+ extend_qtc_target(${name}
+ INCLUDES ${_arg_INCLUDES}
+ PUBLIC_INCLUDES ${_arg_PUBLIC_INCLUDES}
+ DEFINES ${EXPORT_SYMBOL} ${default_defines_copy} ${_arg_DEFINES} ${TEST_DEFINES}
+ PUBLIC_DEFINES ${_arg_PUBLIC_DEFINES}
+ DEPENDS ${_arg_DEPENDS} ${IMPLICIT_DEPENDS}
+ PUBLIC_DEPENDS ${_arg_PUBLIC_DEPENDS}
+ EXPLICIT_MOC ${_arg_EXPLICIT_MOC}
+ )
+ file(RELATIVE_PATH include_dir_relative_path ${PROJECT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
target_include_directories(${name}
PRIVATE
- ${_arg_INCLUDES}
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>"
PUBLIC
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..>"
"$<INSTALL_INTERFACE:include/${include_dir_relative_path}/..>"
)
- set_public_includes(${name} "${_arg_PUBLIC_INCLUDES}")
-
- target_compile_definitions(${name}
- PRIVATE ${EXPORT_SYMBOL} ${default_defines_copy} ${_arg_DEFINES} ${TEST_DEFINES}
- PUBLIC ${_arg_PUBLIC_DEFINES}
- )
-
- add_qtc_depends(${name}
- PRIVATE ${_arg_DEPENDS} ${IMPLICIT_DEPENDS}
- PUBLIC ${_arg_PUBLIC_DEPENDS}
- )
-
- foreach(file IN LISTS _arg_EXPLICIT_MOC)
- set_explicit_moc(${name} "${file}")
- endforeach()
foreach(file IN LISTS _arg_SKIP_AUTOMOC)
set_property(SOURCE ${file} PROPERTY SKIP_AUTOMOC ON)
@@ -371,11 +364,19 @@ function(add_qtc_plugin target_name)
set(TEST_DEFINES WITH_TESTS SRCDIR="${CMAKE_CURRENT_SOURCE_DIR}")
endif()
- file(RELATIVE_PATH include_dir_relative_path ${PROJECT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
+ extend_qtc_target(${target_name}
+ INCLUDES ${_arg_INCLUDES}
+ PUBLIC_INCLUDES ${_arg_PUBLIC_INCLUDES}
+ DEFINES ${EXPORT_SYMBOL} ${DEFAULT_DEFINES} ${_arg_DEFINES} ${TEST_DEFINES}
+ PUBLIC_DEFINES ${_arg_PUBLIC_DEFINES}
+ DEPENDS ${_arg_DEPENDS} ${_DEP_PLUGINS} ${IMPLICIT_DEPENDS}
+ PUBLIC_DEPENDS ${_arg_PUBLIC_DEPENDS}
+ EXPLICIT_MOC ${_arg_EXPLICIT_MOC}
+ )
+ file(RELATIVE_PATH include_dir_relative_path ${PROJECT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
target_include_directories(${target_name}
PRIVATE
- ${_arg_INCLUDES}
"${CMAKE_CURRENT_BINARY_DIR}"
"${CMAKE_BINARY_DIR}/src"
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>"
@@ -383,17 +384,6 @@ function(add_qtc_plugin target_name)
"$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/..>"
"$<INSTALL_INTERFACE:include/${include_dir_relative_path}/..>"
)
- set_public_includes(${target_name} "${_arg_PUBLIC_INCLUDES}")
-
- target_compile_definitions(${target_name}
- PRIVATE ${EXPORT_SYMBOL} ${DEFAULT_DEFINES} ${_arg_DEFINES} ${TEST_DEFINES}
- PUBLIC ${_arg_PUBLIC_DEFINES}
- )
-
- add_qtc_depends(${target_name}
- PRIVATE ${_arg_DEPENDS} ${_DEP_PLUGINS} ${IMPLICIT_DEPENDS}
- PUBLIC ${_arg_PUBLIC_DEPENDS}
- )
set(plugin_dir "${IDE_PLUGIN_PATH}")
if (_arg_PLUGIN_PATH)
@@ -433,10 +423,6 @@ function(add_qtc_plugin target_name)
append_extra_translations("${target_name}" "${_arg_EXTRA_TRANSLATIONS}")
enable_pch(${target_name})
- foreach(file IN LISTS _arg_EXPLICIT_MOC)
- set_explicit_moc(${target_name} "${file}")
- endforeach()
-
if (NOT _arg_SKIP_INSTALL)
install(TARGETS ${target_name}
EXPORT ${IDE_CASED_ID}
@@ -531,9 +517,12 @@ function(add_qtc_executable name)
endif()
add_executable("${name}" ${_arg_SOURCES})
- target_include_directories("${name}" PRIVATE "${CMAKE_BINARY_DIR}/src" ${_arg_INCLUDES})
- target_compile_definitions("${name}" PRIVATE ${default_defines_copy} ${TEST_DEFINES} ${_arg_DEFINES} )
- target_link_libraries("${name}" PRIVATE ${_arg_DEPENDS} ${IMPLICIT_DEPENDS})
+
+ extend_qtc_target("${name}"
+ INCLUDES "${CMAKE_BINARY_DIR}/src" ${_arg_INCLUDES}
+ DEFINES ${default_defines_copy} ${TEST_DEFINES} ${_arg_DEFINES}
+ DEPENDS ${_arg_DEPENDS} ${IMPLICIT_DEPENDS}
+ )
set(skip_translation OFF)
if (_arg_SKIP_TRANSLATION)
@@ -667,13 +656,12 @@ function(add_qtc_test name)
add_executable(${name} ${_arg_SOURCES})
- add_qtc_depends(${name}
- PRIVATE ${_arg_DEPENDS} ${IMPLICIT_DEPENDS}
+ extend_qtc_target(${name}
+ DEPENDS ${_arg_DEPENDS} ${IMPLICIT_DEPENDS}
+ INCLUDES "${CMAKE_BINARY_DIR}/src" ${_arg_INCLUDES}
+ DEFINES ${_arg_DEFINES} ${TEST_DEFINES} ${DEFAULT_DEFINES}
)
- target_include_directories(${name} PRIVATE "${CMAKE_BINARY_DIR}/src" ${_arg_INCLUDES})
- target_compile_definitions(${name} PRIVATE ${_arg_DEFINES} ${TEST_DEFINES} ${DEFAULT_DEFINES})
-
set_target_properties(${name} PROPERTIES
BUILD_RPATH "${_RPATH_BASE}/${_RPATH}"
INSTALL_RPATH "${_RPATH_BASE}/${_RPATH}"