cmake: prefer target_include_directories.

Some minor cleanup.
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
index 452001c..d746953 100644
--- a/examples/CMakeLists.txt
+++ b/examples/CMakeLists.txt
@@ -1,13 +1,8 @@
 check_function_exists(getopt HAVE_GETOPT)
 if(NOT HAVE_GETOPT)
   set(SRC_EXTRA_FILES ../src/getopt.c)
-include_directories(${PROJECT_SOURCE_DIR}/examples
-  ${PROJECT_SOURCE_DIR}/src)
 endif(NOT HAVE_GETOPT)
 
 add_executable(in-memory in-memory.c)
 target_link_libraries(in-memory zip)
-
-include_directories(${PROJECT_SOURCE_DIR}/lib
-	${PROJECT_SOURCE_DIR}/src
-	${PROJECT_BINARY_DIR})
+target_include_directories(in-memory PRIVATE ${PROJECT_SOURCE_DIR}/lib ${PROJECT_BINARY_DIR})
diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt
index 103f17e..0b8b8ec 100644
--- a/lib/CMakeLists.txt
+++ b/lib/CMakeLists.txt
@@ -143,8 +143,6 @@
   )
 endif(WIN32)
 
-include_directories(BEFORE ${PROJECT_SOURCE_DIR}/lib ${PROJECT_BINARY_DIR})
-
 file(READ ${PROJECT_SOURCE_DIR}/lib/zip.h zip_h)
 string(REGEX MATCHALL "#define ZIP_ER_([A-Z_]+) ([0-9]+)[ \t]+/([-*0-9a-zA-Z ']*)/" zip_h_err ${zip_h})
 set(zip_err_str [=[
@@ -216,6 +214,7 @@
 endif()
 
 target_link_libraries(zip PRIVATE ${ZLIB_LIBRARIES} ${OPTIONAL_LIBRARY})
+target_include_directories(zip BEFORE PRIVATE ${PROJECT_SOURCE_DIR}/lib ${PROJECT_BINARY_DIR})
 
 if(LIBZIP_DO_INSTALL)
   install(TARGETS zip
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 0129de2..b0060d9 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,24 +1,14 @@
-include_directories(BEFORE ${PROJECT_SOURCE_DIR}/lib ${PROJECT_BINARY_DIR})
-
 check_function_exists(getopt HAVE_GETOPT)
 if(NOT HAVE_GETOPT)
   set(SRC_EXTRA_FILES getopt.c)
 endif(NOT HAVE_GETOPT)
 
-add_executable(zipcmp zipcmp.c ${SRC_EXTRA_FILES})
-target_link_libraries(zipcmp zip ${FTS_LIB} ${ZLIB_LIBRARIES})
-if(LIBZIP_DO_INSTALL)
-  install(TARGETS zipcmp EXPORT ${PROJECT_NAME}-targets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
-endif()
-
-add_executable(zipmerge zipmerge.c ${SRC_EXTRA_FILES})
-target_link_libraries(zipmerge zip)
-if(LIBZIP_DO_INSTALL)
-  install(TARGETS zipmerge EXPORT ${PROJECT_NAME}-targets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
-endif()
-
-add_executable(ziptool ziptool.c ${SRC_EXTRA_FILES})
-target_link_libraries(ziptool zip)
-if(LIBZIP_DO_INSTALL)
-  install(TARGETS ziptool EXPORT ${PROJECT_NAME}-targets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
-endif()
+foreach(PROGRAM zipcmp zipmerge ziptool)
+  add_executable(${PROGRAM} ${PROGRAM}.c ${SRC_EXTRA_FILES})
+  target_link_libraries(${PROGRAM} zip)
+  target_include_directories(${PROGRAM} BEFORE PRIVATE ${PROJECT_SOURCE_DIR}/lib ${PROJECT_BINARY_DIR})
+  if(LIBZIP_DO_INSTALL)
+    install(TARGETS ${PROGRAM} EXPORT ${PROJECT_NAME}-targets RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
+  endif()
+endforeach()
+target_link_libraries(zipcmp ${FTS_LIB} ${ZLIB_LIBRARIES})