diff --git a/GNUmakefile b/GNUmakefile
index 91bcaa0ca05..b107b38561c 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -41,7 +41,6 @@ Project Files
Generate project files for development environments.
* project_qtcreator: QtCreator Project Files.
- * project_netbeans: NetBeans Project Files.
* project_eclipse: Eclipse CDT4 Project Files.
Package Targets
@@ -465,9 +464,6 @@ test: .FORCE
project_qtcreator: .FORCE
$(PYTHON) tools/utils_ide/cmake_qtcreator_project.py --build-dir "$(BUILD_DIR)"
-project_netbeans: .FORCE
- $(PYTHON) tools/utils_ide/cmake_netbeans_project.py "$(BUILD_DIR)"
-
project_eclipse: .FORCE
cmake -G"Eclipse CDT4 - Unix Makefiles" -H"$(BLENDER_DIR)" -B"$(BUILD_DIR)"
diff --git a/tools/check_source/check_mypy_config.py b/tools/check_source/check_mypy_config.py
index e81a31ab58f..f8ebb859ce4 100644
--- a/tools/check_source/check_mypy_config.py
+++ b/tools/check_source/check_mypy_config.py
@@ -44,7 +44,6 @@ PATHS_EXCLUDE = set(
for p in
(
"tools/check_source/clang_array_check.py",
- "tools/utils_ide/cmake_netbeans_project.py",
"tools/utils_ide/cmake_qtcreator_project.py",
"release/datafiles/blender_icons_geom.py", # Uses `bpy` too much.
"tests/utils/bl_run_operators.py", # Uses `bpy` too much.
diff --git a/tools/utils_ide/cmake_netbeans_project.py b/tools/utils_ide/cmake_netbeans_project.py
deleted file mode 100755
index 7a7cab489e5..00000000000
--- a/tools/utils_ide/cmake_netbeans_project.py
+++ /dev/null
@@ -1,263 +0,0 @@
-#!/usr/bin/env python3
-# SPDX-FileCopyrightText: 2011-2022 Blender Authors
-#
-# SPDX-License-Identifier: GPL-2.0-or-later
-
-"""
-Example linux usage
- python3 ~/blender-git/blender/build_files/cmake/cmake_netbeans_project.py ~/blender-git/cmake
-
-Windows not supported so far
-"""
-
-import sys
-
-# until we have arg parsing
-import project_info
-if not project_info.init(sys.argv[-1]):
- sys.exit(1)
-
-from project_info import (
- SIMPLE_PROJECTFILE,
- SOURCE_DIR,
- CMAKE_DIR,
- PROJECT_DIR,
- source_list,
- is_project_file,
- is_c_header,
- # is_py,
- cmake_advanced_info,
- cmake_compiler_defines,
- cmake_cache_var,
- project_name_get,
-)
-
-
-import os
-from os.path import join, dirname, normpath, relpath, exists
-
-
-def create_nb_project_main():
- from xml.sax.saxutils import escape
-
- files = list(source_list(SOURCE_DIR, filename_check=is_project_file))
- files_rel = [relpath(f, start=PROJECT_DIR) for f in files]
- files_rel.sort()
-
- if SIMPLE_PROJECTFILE:
- pass
- else:
- includes, defines = cmake_advanced_info()
-
- if (includes, defines) == (None, None):
- return
-
- # for some reason it doesn't give all internal includes
- includes = list(set(includes) | set(dirname(f) for f in files if is_c_header(f)))
- includes.sort()
-
- if 0:
- PROJECT_NAME = "Blender"
- else:
- # be tricky, get the project name from git if we can!
- PROJECT_NAME = project_name_get()
-
- make_exe = cmake_cache_var("CMAKE_MAKE_PROGRAM")
- make_exe_basename = os.path.basename(make_exe)
-
- # --------------- NetBeans specific.
- defines = [("%s=%s" % cdef) if cdef[1] else cdef[0] for cdef in defines]
- defines += [cdef.replace("#define", "").strip() for cdef in cmake_compiler_defines()]
-
- def file_list_to_nested(files):
- # convert paths to hierarchy
- paths_nested = {}
-
- def ensure_path(filepath):
- filepath_split = filepath.split(os.sep)
-
- pn = paths_nested
- for subdir in filepath_split[:-1]:
- pn = pn.setdefault(subdir, {})
- pn[filepath_split[-1]] = None
-
- for path in files:
- ensure_path(path)
- return paths_nested
-
- PROJECT_DIR_NB = join(PROJECT_DIR, "nbproject")
- if not exists(PROJECT_DIR_NB):
- os.mkdir(PROJECT_DIR_NB)
-
- # SOURCE_DIR_REL = relpath(SOURCE_DIR, PROJECT_DIR)
-
- f = open(join(PROJECT_DIR_NB, "project.xml"), 'w')
-
- f.write('\n')
- f.write('\n')
- f.write(' org.netbeans.modules.cnd.makeproject\n')
- f.write(' \n')
- f.write(' \n')
- f.write(' %s\n' % PROJECT_NAME)
- f.write(' c,m\n')
- f.write(' cpp,cxx,cc,mm\n')
- f.write(' h,hxx,hh,hpp,inl\n')
- f.write(' UTF-8\n')
- f.write(' \n')
- f.write(' \n')
- f.write(' %s\n' % SOURCE_DIR) # base_root_rel
- f.write(' \n')
- f.write(' \n')
- f.write(' \n')
- f.write(' Default\n')
- f.write(' 0\n')
- f.write(' \n')
- f.write(' \n')
- f.write(' \n')
- f.write(' false\n')
- f.write(' \n')
- f.write(' \n')
- f.write(' \n')
- f.write('\n')
-
- f.close()
-
- f = open(join(PROJECT_DIR_NB, "configurations.xml"), 'w')
-
- f.write('\n')
- f.write('\n')
- f.write(' \n')
- f.write(' \n' % SOURCE_DIR) # base_root_rel
-
- # write files!
- files_rel_local = [normpath(relpath(join(CMAKE_DIR, path), SOURCE_DIR)) for path in files_rel]
- files_rel_hierarchy = file_list_to_nested(files_rel_local)
- # print(files_rel_hierarchy)
-
- def write_df(hdir, ident):
- dirs = []
- files = []
- for key, item in sorted(hdir.items()):
- if item is None:
- files.append(key)
- else:
- dirs.append((key, item))
-
- for key, item in dirs:
- f.write('%s \n' % (ident, key))
- write_df(item, ident + " ")
- f.write('%s \n' % ident)
-
- for key in files:
- f.write('%s%s\n' % (ident, key))
-
- write_df(files_rel_hierarchy, ident=" ")
-
- f.write(' \n')
-
- f.write(' \n')
- # f.write(' ../GNUmakefile\n')
- f.write(' \n')
-
- f.write(' \n')
- # default, but this dir is in fact not in blender dir so we can ignore it
- # f.write(' ^(nbproject)$\n')
- f.write(r' ^(nbproject|__pycache__|.*\.py|.*\.html|.*\.blend)$\n')
-
- f.write(' \n')
- f.write(' %s\n' % SOURCE_DIR) # base_root_rel
- f.write(' \n')
-
- f.write(' Makefile\n')
-
- # paths again
- f.write(' \n')
- f.write(' \n')
-
- f.write(' \n')
- f.write(' default\n')
- f.write(' false\n')
- f.write(' false\n')
- f.write(' \n')
- f.write(' \n')
- f.write(' \n')
- f.write(' \n')
-
- f.write(' \n')
- f.write(' .\n')
-
- if make_exe_basename == "ninja":
- build_cmd = "ninja"
- clean_cmd = "ninja -t clean"
- else:
- build_cmd = "${MAKE} -f Makefile"
- clean_cmd = "${MAKE} -f Makefile clean"
-
- f.write(' %s\n' % escape(build_cmd))
- f.write(' %s\n' % escape(clean_cmd))
- f.write(' ./bin/blender\n')
- del build_cmd, clean_cmd
-
- def write_toolinfo():
- f.write(' \n')
- for inc in includes:
- f.write(' %s\n' % inc)
- f.write(' \n')
- f.write(' \n')
- for cdef in defines:
- f.write(' %s\n' % escape(cdef))
- f.write(' \n')
-
- f.write(' \n')
- write_toolinfo()
- f.write(' \n')
-
- f.write(' \n')
- write_toolinfo()
- f.write(' \n')
-
- f.write(' \n')
- f.write(' \n')
- # finished makefile info
-
- f.write(' \n')
-
- for path in files_rel_local:
- is_c = path.endswith(".c")
- f.write(' - \n' % (3 if is_c else 0))
- f.write('
\n')
-
- f.write(' \n')
- f.write(' \n')
- f.write(' \n')
- f.write(' %s\n' % os.path.join(CMAKE_DIR, "bin/blender"))
- f.write(' %s\n' % SOURCE_DIR)
- f.write(' false\n')
- f.write(' 0\n')
- f.write(' 0\n')
- f.write(' \n')
- f.write(' \n')
- f.write(' \n')
-
- f.write(' \n')
- f.write(' \n')
-
- # todo
-
- f.write('\n')
-
- f.close()
-
-
-def main():
- create_nb_project_main()
-
-
-if __name__ == "__main__":
- main()