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.
This commit is contained in:
Nicholas Bishop 2008-12-31 04:47:01 +00:00
parent c556bbd67d
commit d1e836f75c
4 changed files with 74 additions and 7 deletions

@ -184,7 +184,7 @@ IF(UNIX)
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")

@ -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")

@ -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")

@ -30,6 +30,8 @@ INCLUDE_DIRECTORIES(../../intern/guardedalloc
../blender/blenlib
../blender/blenkernel
../blender/editors/include
../blender/makesrna
../blender/makesrna/intern
../blender/nodes
../blender/include
../blender/blenloader
@ -275,6 +277,8 @@ IF(UNIX)
extern_binreloc
extern_glew
bf_videotex
bf_rna
bf_dna
)
FOREACH(SORTLIB ${BLENDER_SORTED_LIBS})