diff --git a/CMakeLists.txt b/CMakeLists.txt
index 12c67a498826ea677d8362ce6a75c5f58483ec85..c52edc23235c0337852ff17d769519eecd869814 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -304,6 +304,8 @@ SET(HDRS_CAPTURE
   include/base/capture/capture_odom_3D.h
   include/base/capture/capture_velocity.h
   include/base/capture/capture_wheel_joint_position.h
+  include/base/capture/capture_gnss_fix.h
+  include/base/capture/capture_gnss_single_diff.h
   )
 SET(HDRS_CONSTRAINT
   include/base/constraint/constraint_block_absolute.h
@@ -350,6 +352,9 @@ SET(HDRS_CONSTRAINT
   include/base/constraint/constraint_analytic.h
   include/base/constraint/constraint_autodiff.h
   include/base/constraint/constraint_base.h
+  include/base/constraint/constraint_gnss_fix_2D.h
+  include/base/constraint/constraint_gnss_fix_3D.h
+  include/base/constraint/constraint_gnss_single_diff_2D.h
   )
 SET(HDRS_FEATURE
   include/base/feature/feature_corner_2D.h
@@ -368,6 +373,8 @@ SET(HDRS_FEATURE
   include/base/feature/feature_base.h
   include/base/feature/feature_match.h
   include/base/feature/feature_pose.h
+  include/base/feature/feature_gnss_fix.h
+  include/base/feature/feature_gnss_single_diff.h
   )
 SET(HDRS_LANDMARK
   include/base/landmark/landmark_base.h
@@ -405,6 +412,8 @@ SET(HDRS_PROCESSOR
   include/base/processor/processor_motion.h
   include/base/processor/processor_tracker_feature.h
   include/base/processor/processor_tracker.h
+  include/base/processor/processor_gnss_fix.h
+  include/base/processor/processor_gnss_single_diff.h
   )
 SET(HDRS_SENSOR
   include/base/sensor/sensor_base.h
@@ -422,6 +431,7 @@ SET(HDRS_SENSOR
   include/base/sensor/sensor_odom_2D.h
   include/base/sensor/sensor_odom_3D.h
   include/base/sensor/sensor_factory.h
+  include/base/sensor/sensor_gnss.h
   )
 SET(HDRS_SOLVER
   include/base/solver/solver_manager.h
@@ -527,6 +537,7 @@ SET(SRCS_CAPTURE
   src/capture/capture_odom_3D.cpp
   src/capture/capture_velocity.cpp
   src/capture/capture_wheel_joint_position.cpp
+  src/capture/capture_gnss_fix.cpp
   )
 SET(SRCS_FEATURE
   src/feature/feature_corner_2D.cpp
@@ -553,6 +564,8 @@ SET(SRCS_PROCESSOR
   src/processor/processor_tracker_feature_dummy.cpp
   src/processor/processor_tracker_landmark_dummy.cpp
   src/processor/processor_tracker_landmark.cpp
+  src/processor/processor_gnss_fix.cpp
+  src/processor/processor_gnss_single_diff.cpp
   )
 SET(SRCS_SENSOR
   src/sensor/sensor_camera.cpp
@@ -562,6 +575,7 @@ SET(SRCS_SENSOR
   src/sensor/sensor_IMU.cpp
   src/sensor/sensor_odom_2D.cpp
   src/sensor/sensor_odom_3D.cpp
+  src/sensor/sensor_gnss.cpp
   )
 SET(SRCS_DTASSC
   src/association/association_solver.cpp