aboutsummaryrefslogtreecommitdiffstats
path: root/wiretap/CMakeLists.txt
diff options
context:
space:
mode:
authorPeter Wu <peter@lekensteyn.nl>2019-01-12 12:43:18 +0100
committerPeter Wu <peter@lekensteyn.nl>2019-01-12 18:20:44 +0000
commit5cc461490d817be898629562b947099a9996f198 (patch)
tree9cfaacf58b9653170006688fcb7d28b89be03451 /wiretap/CMakeLists.txt
parent6d08cb2ecd51dceefb49ff65532e0ca4de4ad417 (diff)
CMake: use object libraries to avoid redundant builds
Some source files are duplicated via add_executable. Assuming that these are not affected by target-specific preprocessor macros, they can be built only once and shared among executables. In one configuration, this reduces the number of object files by 55 (cli_main.c and version_info.c alone were built 15 times each). Removes the version dependency from each target since the 'version_info' target can now declare this dependency. Remove CLEAN_C_FILES from extcap since it is not used to set -Werror. Due to removing some files from wireshark_FILES (and others), these are no longer part of checkAPIs though. Hopefully that is acceptable. Change-Id: I0a3f1ffb950e70a6176c96d867f694fbc6476f58 Reviewed-on: https://code.wireshark.org/review/31509 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: João Valverde <j@v6e.pt> Petri-Dish: João Valverde <j@v6e.pt> Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Diffstat (limited to 'wiretap/CMakeLists.txt')
-rw-r--r--wiretap/CMakeLists.txt4
1 files changed, 1 insertions, 3 deletions
diff --git a/wiretap/CMakeLists.txt b/wiretap/CMakeLists.txt
index 7233701f6b..2728f6673b 100644
--- a/wiretap/CMakeLists.txt
+++ b/wiretap/CMakeLists.txt
@@ -83,7 +83,6 @@ set(WIRETAP_NONGENERATED_FILES
vwr.c
wtap.c
wtap_opttypes.c
- ${CMAKE_SOURCE_DIR}/version_info.c
)
set(WIRETAP_FILES ${WIRETAP_NONGENERATED_FILES})
@@ -108,11 +107,10 @@ set_source_files_properties(
add_library(wiretap
${WIRETAP_FILES}
+ $<TARGET_OBJECTS:version_info>
${CMAKE_BINARY_DIR}/image/wiretap.rc
)
-add_dependencies(wiretap version)
-
set_target_properties(wiretap PROPERTIES
PREFIX "lib"
COMPILE_DEFINITIONS "WS_BUILD_DLL"