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:
authorNicholas Bishop <nicholasbishop@gmail.com>2008-12-31 07:47:01 +0300
committerNicholas Bishop <nicholasbishop@gmail.com>2008-12-31 07:47:01 +0300
commitd1e836f75c7430e9e9b4b9cabf40e859b6d7fa78 (patch)
treed37b2f16a83f69ffef8782269b90128b6c1ed118 /source/blender
parentc556bbd67d0e74c5c2e692fe95e0872766e63451 (diff)
Finally got CMake compilation to work.
Made sdna and srna work more like how the scons build system is doing it, with separate bf_rna and bf_dna libs being built.
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/makesdna/intern/CMakeLists.txt17
-rw-r--r--source/blender/makesrna/intern/CMakeLists.txt58
2 files changed, 69 insertions, 6 deletions
diff --git a/source/blender/makesdna/intern/CMakeLists.txt b/source/blender/makesdna/intern/CMakeLists.txt
index a85f561da92..6024799f852 100644
--- a/source/blender/makesdna/intern/CMakeLists.txt
+++ b/source/blender/makesdna/intern/CMakeLists.txt
@@ -24,11 +24,22 @@
#
# ***** END GPL LICENSE BLOCK *****
-SET(SRC makesdna.c ../../../../intern/guardedalloc/intern/mallocn.c ../../../../intern/guardedalloc/intern/mmap_win.c)
-
INCLUDE_DIRECTORIES(../../../../intern/guardedalloc ..)
-
FILE(GLOB INC_FILES ../*.h)
+
+# Build makesdna executable
+SET(SRC makesdna.c ../../../../intern/guardedalloc/intern/mallocn.c ../../../../intern/guardedalloc/intern/mmap_win.c)
ADD_EXECUTABLE(makesdna ${SRC} ${INC_FILES})
+# Output dna.c
+ADD_CUSTOM_COMMAND(
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/dna.c
+ COMMAND ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/makesdna ${CMAKE_CURRENT_BINARY_DIR}/dna.c ${CMAKE_SOURCE_DIR}/source/blender/makesdna/
+ DEPENDS makesdna
+)
+
+# Build bf_dna library
+SET(SRC dna_genfile.c dna.c)
+BLENDERLIB(bf_dna "${SRC}" "${INC}")
+
MESSAGE(STATUS "Configuring makesdna")
diff --git a/source/blender/makesrna/intern/CMakeLists.txt b/source/blender/makesrna/intern/CMakeLists.txt
index b0d8c341708..ed804d8effe 100644
--- a/source/blender/makesrna/intern/CMakeLists.txt
+++ b/source/blender/makesrna/intern/CMakeLists.txt
@@ -24,11 +24,63 @@
#
# ***** END GPL LICENSE BLOCK *****
-FILE(GLOB SRC *.c ../../../../intern/guardedalloc/intern/mallocn.c ../../../../intern/guardedalloc/intern/mmap_win.c)
-
-INCLUDE_DIRECTORIES(../../../../intern/guardedalloc .. ../../makesdna ../../blenkernel ../../blenlib)
+SET(SRC
+ makesrna.c
+ rna_actuator.c
+ rna_armature.c
+ rna_brush.c
+ rna_camera.c
+ rna_color.c
+ rna_constraint.c
+ rna_controller.c
+ rna_curve.c
+ rna_define.c
+ rna_fluidsim.c
+ rna_group.c
+ rna_ID.c
+ rna_image.c
+ rna_ipo.c
+ rna_key.c
+ rna_lamp.c
+ rna_lattice.c
+ rna_main.c
+ rna_material.c
+ rna_mesh.c
+ rna_meta.c
+ rna_modifier.c
+ rna_nodetree.c
+ rna_object.c
+ rna_packedfile.c
+ rna_property.c
+ rna_radio.c
+ rna_rna.c
+ rna_scene.c
+ rna_screen.c
+ rna_sensor.c
+ rna_sequence.c
+ rna_sound.c
+ rna_vfont.c
+ rna_wm.c
+ rna_world.c
+ ../../../../intern/guardedalloc/intern/mallocn.c
+ ../../../../intern/guardedalloc/intern/mmap_win.c)
+INCLUDE_DIRECTORIES(../../../../intern/guardedalloc .. ../../makesdna ../../blenkernel ../../blenlib .)
FILE(GLOB INC_FILES ../*.h ../../makesdna/*.h)
+
+# Build makesrna executable
ADD_EXECUTABLE(makesrna ${SRC} ${INC_FILES})
+TARGET_LINK_LIBRARIES(makesrna bf_dna)
+
+# Output rna.c
+ADD_CUSTOM_COMMAND(
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/rna.c
+ COMMAND ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/makesrna ${CMAKE_CURRENT_BINARY_DIR}/rna.c ${CMAKE_SOURCE_DIR}/source/blender/makesrna/
+ DEPENDS makesrna
+)
+
+# Build bf_rna
+SET(SRC rna_access.c rna_dependency.c rna.c)
+BLENDERLIB(bf_rna "${SRC}" "${INC}")
MESSAGE(STATUS "Configuring makesrna")