ENDIF(NOT CMAKE_BUILD_TYPE)
# Compiler flags
-SET(CMAKE_C_FLAGS_PROFILING "-O2")
-SET(CMAKE_CXX_FLAGS_PROFILING "-O2 -std=c++11")
-SET(CMAKE_C_FLAGS_DEBUG "-O0 -g")
-SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -std=c++11 -g")
-SET(CMAKE_C_FLAGS_RELEASE "-O2 -g")
-SET(CMAKE_CXX_FLAGS_RELEASE "-O2 -std=c++11 -g")
-SET(CMAKE_CXX_FLAGS_CCOV "-O0 -std=c++11 -g --coverage")
+SET(EXTRA_FLAGS "-Wall -Wextra")
+SET(CMAKE_C_FLAGS_PROFILING "-O2 ${EXTRA_FLAGS}")
+SET(CMAKE_CXX_FLAGS_PROFILING "-O2 -std=c++11 ${EXTRA_FLAGS}")
+SET(CMAKE_C_FLAGS_DEBUG "-O0 -g ${EXTRA_FLAGS}")
+SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -std=c++11 -g ${EXTRA_FLAGS}")
+SET(CMAKE_C_FLAGS_RELEASE "-O2 -g ${EXTRA_FLAGS}")
+SET(CMAKE_CXX_FLAGS_RELEASE "-O2 -std=c++11 -g ${EXTRA_FLAGS}")
+SET(CMAKE_CXX_FLAGS_CCOV "-O0 -std=c++11 -g --coverage ${EXTRA_FLAGS}")
+
+# Linker flags
+SET(EXTRA_LINKER_FLAGS "-Wl,--as-needed")
+SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${EXTRA_LINKER_FLAGS}")
# Targets
SET(TARGET_LIBNAME_WGT_MANIFEST_HANDLERS "wgt-manifest-handlers")
-ADD_DEFINITIONS("-Wall")
-ADD_DEFINITIONS("-Wextra")
-ADD_DEFINITIONS("-fPIE")
-ADD_DEFINITIONS("-fPIC")
ADD_DEFINITIONS("-DPROJECT_TAG=\"wgt-manifest-handlers\"")
ADD_DEFINITIONS("-DSHAREDIR=\"${SHAREDIR}\"")
# GTest main libraries is still missing, so additional linking of
# GTEST_MAIN_LIBRARIES is needed.
-target_link_libraries(manifest_util_unittest PUBLIC ${TARGET_LIBNAME_PARSER} ${TARGET_LIBNAME_WGT_MANIFEST_HANDLERS} ${GTEST_MAIN_LIBRARIES})
-target_link_libraries(service_handler_unittest PUBLIC ${TARGET_LIBNAME_PARSER} ${TARGET_LIBNAME_WGT_MANIFEST_HANDLERS} ${GTEST_MAIN_LIBRARIES})
-target_link_libraries(content_handler_unittest PUBLIC ${TARGET_LIBNAME_PARSER} ${TARGET_LIBNAME_WGT_MANIFEST_HANDLERS} ${GTEST_MAIN_LIBRARIES})
+TARGET_LINK_LIBRARIES(manifest_util_unittest PUBLIC ${TARGET_LIBNAME_PARSER}
+ ${TARGET_LIBNAME_WGT_MANIFEST_HANDLERS} ${GTEST_MAIN_LIBRARIES})
+TARGET_LINK_LIBRARIES(service_handler_unittest PUBLIC ${TARGET_LIBNAME_PARSER}
+ ${TARGET_LIBNAME_WGT_MANIFEST_HANDLERS} ${GTEST_MAIN_LIBRARIES})
+TARGET_LINK_LIBRARIES(content_handler_unittest PUBLIC ${TARGET_LIBNAME_PARSER}
+ ${TARGET_LIBNAME_WGT_MANIFEST_HANDLERS} ${GTEST_MAIN_LIBRARIES})
FOREACH(test ${TESTS})
INSTALL(TARGETS ${test} DESTINATION ${BINDIR}/${DESTINATION_DIR})