diff --git a/CMakeLists.txt b/CMakeLists.txt
index 81aee0df13d3acd93fc92c48056370a5c4783c3f..f4d7ecc6e9ce79da1c8f3d7360612f6340258784 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -93,15 +93,15 @@ set(CMAKE_ASM_COMPILER arm-none-eabi-gcc)
 # processor selection
 set(TARGET_PROCESSOR STM32F103RE)
 
+ADD_SUBDIRECTORY(src)
+
 # compiler settings
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mlittle-endian -mcpu=cortex-m3 -mthumb -mthumb-interwork -Wall -g -fno-common -msoft-float -ffreestanding -imacros ${CMAKE_CURRENT_SOURCE_DIR}/include/darwin_conf.h")
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mlittle-endian -mcpu=cortex-m3 -mthumb -mthumb-interwork -Wall -g -fno-common -msoft-float -ffreestanding -imacros ${configuration_file}")
 
 # linker settings
 set(LINKER_SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/linker_script/darwin.ld")
 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-Map=${PROJECT_NAME}.map,-cref -T ${LINKER_SCRIPT} --specs=nosys.specs")
 
-ADD_SUBDIRECTORY(src)
-
 include_directories(${header_include_dir})
 
 add_definitions(-DUSE_HAL_DRIVER)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 7d3b8172bcb8656128cff03f278a70b7794b8bb2..7288e923b884d144214cfbc0ab963daf1a026c7b 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -21,10 +21,11 @@ SET(sources ${CMAKE_CURRENT_SOURCE_DIR}/cm730_fw.c
             #${CMAKE_CURRENT_SOURCE_DIR}/grippers.c
             #${CMAKE_CURRENT_SOURCE_DIR}/smart_charger.c
             #${CMAKE_CURRENT_SOURCE_DIR}/stairs.c
-            ${CMAKE_CURRENT_SOURCE_DIR}/../stm32_libraries/f1/usart/src/usart3.c
-            ${CMAKE_CURRENT_SOURCE_DIR}/../stm32_libraries/f1/usart/src/usart1.c PARENT_SCOPE)
+            ${PROJECT_SOURCE_DIR}/stm32_libraries/f1/usart/src/usart3.c
+            ${PROJECT_SOURCE_DIR}/stm32_libraries/f1/usart/src/usart1.c PARENT_SCOPE)
 
 set(header_include_dir ${CMAKE_CURRENT_SOURCE_DIR}/../include ${CMAKE_CURRENT_SOURCE_DIR}/../stm32_libraries/f1/usart/include PARENT_SCOPE)
 
+set(configuration_file ${CMAKE_CURRENT_SOURCE_DIR}/../include/darwin_conf.h PARENT_SCOPE)
 set(processor STM32F103xE PARENT_SCOPE)
 set(system_freq 8000000 PARENT_SCOPE)