[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18190] branches/blender2.5/blender: Finally got CMake compilation to work.

Nicholas Bishop nicholasbishop at gmail.com
Wed Dec 31 05:47:03 CET 2008


Revision: 18190
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18190
Author:   nicholasbishop
Date:     2008-12-31 05:47:01 +0100 (Wed, 31 Dec 2008)

Log Message:
-----------
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.

Modified Paths:
--------------
    branches/blender2.5/blender/CMakeLists.txt
    branches/blender2.5/blender/source/blender/makesdna/intern/CMakeLists.txt
    branches/blender2.5/blender/source/blender/makesrna/intern/CMakeLists.txt
    branches/blender2.5/blender/source/creator/CMakeLists.txt

Modified: branches/blender2.5/blender/CMakeLists.txt
===================================================================
--- branches/blender2.5/blender/CMakeLists.txt	2008-12-31 04:37:01 UTC (rev 18189)
+++ branches/blender2.5/blender/CMakeLists.txt	2008-12-31 04:47:01 UTC (rev 18190)
@@ -184,7 +184,7 @@
 
   SET(ZLIB_LIB z)
 
-  SET(LLIBS "-lXi -lutil -lc -lm -lpthread -lstdc++")
+  SET(LLIBS "-lXi -lutil -lc -lm -lpthread -lstdc++ -lX11 -ldl")
 
   IF(WITH_OPENMP)
     SET(LLIBS "${LLIBS} -lgomp")

Modified: branches/blender2.5/blender/source/blender/makesdna/intern/CMakeLists.txt
===================================================================
--- branches/blender2.5/blender/source/blender/makesdna/intern/CMakeLists.txt	2008-12-31 04:37:01 UTC (rev 18189)
+++ branches/blender2.5/blender/source/blender/makesdna/intern/CMakeLists.txt	2008-12-31 04:47:01 UTC (rev 18190)
@@ -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)
 
-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")

Modified: branches/blender2.5/blender/source/blender/makesrna/intern/CMakeLists.txt
===================================================================
--- branches/blender2.5/blender/source/blender/makesrna/intern/CMakeLists.txt	2008-12-31 04:37:01 UTC (rev 18189)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/CMakeLists.txt	2008-12-31 04:47:01 UTC (rev 18190)
@@ -24,11 +24,63 @@
 #
 # ***** END GPL LICENSE BLOCK *****
 
-FILE(GLOB SRC *.c ../../../../intern/guardedalloc/intern/mallocn.c ../../../../intern/guardedalloc/intern/mmap_win.c)
+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)
+INCLUDE_DIRECTORIES(../../../../intern/guardedalloc .. ../../makesdna ../../blenkernel ../../blenlib .)
+FILE(GLOB INC_FILES ../*.h ../../makesdna/*.h)
 
-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")

Modified: branches/blender2.5/blender/source/creator/CMakeLists.txt
===================================================================
--- branches/blender2.5/blender/source/creator/CMakeLists.txt	2008-12-31 04:37:01 UTC (rev 18189)
+++ branches/blender2.5/blender/source/creator/CMakeLists.txt	2008-12-31 04:47:01 UTC (rev 18190)
@@ -30,6 +30,8 @@
   ../blender/blenlib
   ../blender/blenkernel
   ../blender/editors/include
+  ../blender/makesrna
+  ../blender/makesrna/intern
   ../blender/nodes
   ../blender/include
   ../blender/blenloader
@@ -275,6 +277,8 @@
     extern_binreloc
     extern_glew
     bf_videotex
+    bf_rna
+    bf_dna
   )
 
   FOREACH(SORTLIB ${BLENDER_SORTED_LIBS})





More information about the Bf-blender-cvs mailing list