diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8cb3a2ca50a627ab3ae0f1d0495553446f492c4c..54e741579796dc77be0ac37e197735cd873daf89 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -4,7 +4,9 @@ project(PolyMesh)
 file(GLOB_RECURSE SOURCE_FILES "src/*.cc")
 file(GLOB_RECURSE HEADER_FILES "src/*.hh")
 
-source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}/src" FILES ${SOURCE_FILES} ${HEADER_FILES})
+if(MSVC)
+    source_group(TREE "${CMAKE_CURRENT_SOURCE_DIR}/src" FILES ${SOURCE_FILES} ${HEADER_FILES})
+endif()
 add_library(polymesh STATIC ${SOURCE_FILES} ${HEADER_FILES})
 target_include_directories(polymesh PUBLIC src/)