Make CMakeLists more uniform (#676)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 20f1616..b037f39 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -14,8 +14,9 @@
 option(nanopb_BUILD_GENERATOR "Build the protoc plugin for code generation" ON)
 option(nanopb_MSVC_STATIC_RUNTIME "Link static runtime libraries" ON)
 
-if(NOT DEFINED nanopb_PROTOC_PATH)
-    set(nanopb_PROTOC_PATH "protoc")
+find_program(nanopb_PROTOC_PATH protoc)
+if(NOT EXISTS nanopb_PROTOC_PATH)
+    message(FATAL_ERROR "protoc compiler not found")
 endif()
 
 if(NOT DEFINED CMAKE_DEBUG_POSTFIX)
@@ -38,7 +39,7 @@
     set(CMAKE_INSTALL_CMAKEDIR "${CMAKE_INSTALL_LIBDIR}/cmake/nanopb")
 endif()
 
-find_package(Python REQUIRED)
+find_package(Python REQUIRED COMPONENTS Interpreter)
 execute_process(
     COMMAND ${Python_EXECUTABLE} -c
         "from distutils import sysconfig; print(sysconfig.get_python_lib(prefix=''))"
@@ -66,21 +67,23 @@
     endforeach()
 endif()
 
-install( FILES generator/proto/_utils.py
-         DESTINATION ${PYTHON_INSTDIR}/proto/ )
+install(FILES generator/proto/_utils.py
+        DESTINATION ${PYTHON_INSTDIR}/proto/)
 
-if( WIN32 )
-        install(
-            PROGRAMS generator/nanopb_generator.py
-                     generator/protoc-gen-nanopb.bat
-            DESTINATION ${CMAKE_INSTALL_BINDIR}
-        )
+if(WIN32)
+    install(
+        PROGRAMS
+            generator/nanopb_generator.py
+            generator/protoc-gen-nanopb.bat
+        DESTINATION ${CMAKE_INSTALL_BINDIR}
+    )
 else()
-        install(
-            PROGRAMS generator/nanopb_generator.py
-                     generator/protoc-gen-nanopb
-            DESTINATION ${CMAKE_INSTALL_BINDIR}
-        )
+    install(
+        PROGRAMS 
+            generator/nanopb_generator.py
+            generator/protoc-gen-nanopb
+        DESTINATION ${CMAKE_INSTALL_BINDIR}
+    )
 endif()
 
 if(nanopb_BUILD_RUNTIME)
@@ -100,7 +103,8 @@
 	    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
             RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
         target_include_directories(protobuf-nanopb INTERFACE
-          $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
+            $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
+            $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
         )
     endif()
 
@@ -118,8 +122,8 @@
         install(TARGETS protobuf-nanopb-static EXPORT nanopb-targets
             ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
         target_include_directories(protobuf-nanopb-static INTERFACE
-          $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
-	  $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
+            $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
+	        $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
         )
     endif()