diff --git a/CMakeLists.txt b/CMakeLists.txt
index f5380faebdc6db93c35125f5e48e5804d305180d..5123d84482b57d2554043694048a480b181f7a6e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,8 +1,15 @@
 cmake_minimum_required(VERSION 3.12)
 project(Pacman)
+
 set(CMAKE_CXX_STANDARD 17)
 
-file(GLOB_RECURSE SOURCES source/*cpp)
+file(GLOB_RECURSE SOURCES source/*.cpp)
+
+set(MACOSX_BUNDLE TRUE)
+set(MACOSX_BUNDLE_BUNDLE_NAME "Pacman")
+set(MACOSX_BUNDLE_GUI_IDENTIFIER "dpechenin")
+set(MACOSX_BUNDLE_BUNDLE_VERSION "1.0")
+set(MACOSX_BUNDLE_SHORT_VERSION_STRING "1.0")
 
 set(SFML_STATIC_LIBRARIES TRUE)
 set(BUILD_SHARED_LIBS FALSE)
@@ -11,9 +18,13 @@ include(FetchContent)
 FetchContent_Declare(SFML GIT_REPOSITORY https://github.com/SFML/SFML.git GIT_TAG 2.6.1)
 FetchContent_MakeAvailable(SFML)
 
-add_executable(${PROJECT_NAME} ${SOURCES})
+add_executable(${PROJECT_NAME} MACOSX_BUNDLE ${SOURCES})
+
 target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_SOURCE_DIR}/source)
 
 target_compile_definitions(${PROJECT_NAME} PUBLIC ASSETS_PATH="${CMAKE_CURRENT_SOURCE_DIR}/assets/")
 
-target_link_libraries(${PROJECT_NAME} PRIVATE sfml-system sfml-window sfml-graphics)
\ No newline at end of file
+target_link_libraries(${PROJECT_NAME} PRIVATE sfml-system sfml-window sfml-graphics)
+
+set_source_files_properties(assets/icon.icns PROPERTIES MACOSX_PACKAGE_LOCATION "Resources")
+target_sources(${PROJECT_NAME} PRIVATE assets/icon.icns)
\ No newline at end of file
diff --git a/assets/icon.icns b/assets/icon.icns
new file mode 100644
index 0000000000000000000000000000000000000000..e38a5787ea89da336c6cd84f5e63328bc68d7cc8
Binary files /dev/null and b/assets/icon.icns differ