diff --git a/CMakeLists.txt b/CMakeLists.txt
index acf09e86a..c5f86189c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -5,7 +5,7 @@ project(sway C)
 set(CMAKE_C_FLAGS "-g")
 set(CMAKE_C_STANDARD 99)
 SET(CMAKE_C_EXTENSIONS OFF)
-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "bin/")
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin")
 add_definitions("-Wall -Wextra -Wno-unused-parameter -D_GNU_SOURCE")
 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR}/CMake)
 
diff --git a/swaybg/CMakeLists.txt b/swaybg/CMakeLists.txt
index 9351441af..20aff980f 100644
--- a/swaybg/CMakeLists.txt
+++ b/swaybg/CMakeLists.txt
@@ -7,7 +7,6 @@ find_package(Pango REQUIRED)
 include(Wayland)
 WAYLAND_ADD_PROTOCOL_CLIENT(proto-xdg-shell "xdg-shell.xml" xdg-shell)
 
-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "../bin/")
 include_directories(
   ${CMAKE_CURRENT_SOURCE_DIR}/../include
   ${WAYLAND_CLIENT_INCLUDE_DIR}