Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2011-11-01 06:24:40 +0400
committerCampbell Barton <ideasman42@gmail.com>2011-11-01 06:24:40 +0400
commite4896c999f412ecb05b68b1bffa25e5eec924514 (patch)
tree9b4318852102b7719ac10d524ca118f036fb994f /build_files/cmake
parenta5959e767e1fce78fa1876e8791667a377ac51f1 (diff)
name qtcreator projects based on branch names (if svn is found and its a branch), was too confusing with multiple IDE's open calling all projects 'Blender'.
Diffstat (limited to 'build_files/cmake')
-rwxr-xr-xbuild_files/cmake/cmake_qtcreator_project.py23
-rwxr-xr-xbuild_files/cmake/project_info.py20
2 files changed, 38 insertions, 5 deletions
diff --git a/build_files/cmake/cmake_qtcreator_project.py b/build_files/cmake/cmake_qtcreator_project.py
index fc5c00ec2ec..a89bcd01523 100755
--- a/build_files/cmake/cmake_qtcreator_project.py
+++ b/build_files/cmake/cmake_qtcreator_project.py
@@ -40,6 +40,7 @@ from project_info import (SIMPLE_PROJECTFILE,
is_py,
cmake_advanced_info,
cmake_compiler_defines,
+ project_name_get,
)
import os
@@ -59,7 +60,8 @@ def create_qtc_project_main():
f.write("\n".join(files_rel))
f = open(os.path.join(PROJECT_DIR, "%s.includes" % PROJECT_NAME), 'w')
- f.write("\n".join(sorted(list(set(os.path.dirname(f) for f in files_rel if is_c_header(f))))))
+ f.write("\n".join(sorted(list(set(os.path.dirname(f)
+ for f in files_rel if is_c_header(f))))))
qtc_prj = os.path.join(PROJECT_DIR, "%s.creator" % PROJECT_NAME)
f = open(qtc_prj, 'w')
@@ -73,10 +75,16 @@ def create_qtc_project_main():
includes, defines = cmake_advanced_info()
# for some reason it doesnt give all internal includes
- includes = list(set(includes) | set(os.path.dirname(f) for f in files_rel if is_c_header(f)))
+ includes = list(set(includes) | set(os.path.dirname(f)
+ for f in files_rel if is_c_header(f)))
includes.sort()
- PROJECT_NAME = "Blender"
+ if 0:
+ PROJECT_NAME = "Blender"
+ else:
+ # be tricky, get the project name from SVN if we can!
+ PROJECT_NAME = project_name_get(SOURCE_DIR)
+
FILE_NAME = PROJECT_NAME.lower()
f = open(os.path.join(PROJECT_DIR, "%s.files" % FILE_NAME), 'w')
f.write("\n".join(files_rel))
@@ -93,7 +101,7 @@ def create_qtc_project_main():
f.write("// ADD PREDEFINED MACROS HERE!\n")
defines_final = [("#define %s %s" % item) for item in defines]
if sys.platform != "win32":
- defines_final += cmake_compiler_defines() # defines from the compiler
+ defines_final += cmake_compiler_defines()
f.write("\n".join(defines_final))
print("Blender project file written to: %s" % qtc_prj)
@@ -106,7 +114,12 @@ def create_qtc_project_python():
files_rel.sort()
# --- qtcreator specific, simple format
- PROJECT_NAME = "Blender_Python"
+ if 0:
+ PROJECT_NAME = "Blender_Python"
+ else:
+ # be tricky, get the project name from SVN if we can!
+ PROJECT_NAME = project_name_get(SOURCE_DIR) + "_Python"
+
FILE_NAME = PROJECT_NAME.lower()
f = open(os.path.join(PROJECT_DIR, "%s.files" % FILE_NAME), 'w')
f.write("\n".join(files_rel))
diff --git a/build_files/cmake/project_info.py b/build_files/cmake/project_info.py
index 8e813d39b64..da1f2087f4f 100755
--- a/build_files/cmake/project_info.py
+++ b/build_files/cmake/project_info.py
@@ -41,6 +41,7 @@ __all__ = (
"is_py",
"cmake_advanced_info",
"cmake_compiler_defines",
+ "project_name_get"
)
import sys
@@ -215,3 +216,22 @@ def cmake_compiler_defines():
os.remove(temp_c)
os.remove(temp_def)
return lines
+
+
+def project_name_get(path, fallback="Blender", prefix="Blender_"):
+ if not os.path.isdir(os.path.join(path, ".svn")):
+ return fallback
+
+ import subprocess
+ info = subprocess.Popen(["svn", "info", path],
+ stdout=subprocess.PIPE).communicate()[0].decode()
+
+ for l in info.split("\n"):
+ l = l.strip()
+ if l.startswith("URL"):
+ # https://svn.blender.org/svnroot/bf-blender/branches/bmesh/blender
+ # --> bmesh
+ if "/branches/" in l:
+ return prefix + l.rsplit("/branches/", 1)[-1].split("/", 1)[0]
+ return fallback
+