minor cleanup, no functional changes.
[blender.git] / source / blender / makesrna / intern / CMakeLists.txt
index 709c5d0..350ca9f 100644 (file)
@@ -1,3 +1,4 @@
+# -*- mode: cmake; indent-tabs-mode: t; -*-
 # $Id: CMakeLists.txt 17433 2008-11-12 21:16:53Z blendix $
 # ***** BEGIN GPL LICENSE BLOCK *****
 #
@@ -13,7 +14,7 @@
 #
 # You should have received a copy of the GNU General Public License
 # along with this program; if not, write to the Free Software Foundation,
-# Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 #
 # The Original Code is Copyright (C) 2006, Blender Foundation
 # All rights reserved.
 #
 # ***** END GPL LICENSE BLOCK *****
 
-FILE(GLOB DEFSRC RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.c")
-FILE(GLOB APISRC RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*_api.c")
-LIST(REMOVE_ITEM DEFSRC rna_access.c rna_define.c makesrna.c)
-LIST(REMOVE_ITEM DEFSRC ${APISRC})
-STRING(REGEX REPLACE "rna_([a-zA-Z0-9_-]*).c" "${CMAKE_CURRENT_BINARY_DIR}/rna_\\1_gen.c" GENSRC "${DEFSRC}")
-
-SET(SRC
-               makesrna.c
-               rna_define.c
-               ${DEFSRC}
-               ${APISRC}
-               ../../../../intern/guardedalloc/intern/mallocn.c
-               ../../../../intern/guardedalloc/intern/mmap_win.c)
-
-INCLUDE_DIRECTORIES(../../../../intern/guardedalloc .. ../../makesdna ../../blenkernel ../../blenlib ../../windowmanager ../../editors/include ../../imbuf ../../render/extern/include .)
-FILE(GLOB INC_FILES ../*.h ../../makesdna/*.h)
-
-IF(WITH_GAMEENGINE)
-       ADD_DEFINITIONS(-DGAMEBLENDER)
-ENDIF(WITH_GAMEENGINE)
-
-IF(WITH_OPENEXR)
-       ADD_DEFINITIONS(-DWITH_OPENEXR)
-ENDIF(WITH_OPENEXR)
-
-IF(WITH_OPENJPEG)
-       ADD_DEFINITIONS(-DWITH_OPENJPEG)
-ENDIF(WITH_OPENJPEG)
-
-IF(WITH_DDS)
-       ADD_DEFINITIONS(-DWITH_DDS)
-ENDIF(WITH_DDS)
-
-IF(WITH_QUICKTIME)
-       ADD_DEFINITIONS(-DWITH_QUICKTIME)
-ENDIF(WITH_QUICKTIME)
-
-IF(WITH_FFMPEG)
-       SET(INC ${INC} ${FFMPEG_INC})
-       ADD_DEFINITIONS(-DWITH_FFMPEG)
-ENDIF(WITH_FFMPEG)
-
-IF(NOT WITH_ELBEEM)
-       ADD_DEFINITIONS(-DDISABLE_ELBEEM)
-ENDIF(NOT WITH_ELBEEM)
-
-IF(WITH_FFTW3)
-       ADD_DEFINITIONS(-DFFTW3=1)
-ENDIF(WITH_FFTW3)
-
-IF(WITH_SDL)
-       ADD_DEFINITIONS(-DWITH_SDL)
-ENDIF(WITH_SDL)
-
-IF(WITH_OPENAL)
-       ADD_DEFINITIONS(-DWITH_OPENAL)
-ENDIF(WITH_OPENAL)
-
-IF(WITH_JACK)
-       ADD_DEFINITIONS(-DWITH_JACK)
-ENDIF(WITH_JACK)
+# Generated code has some unused vars we can ignore.
+remove_strict_flags()
+
+# message(STATUS "Configuring makesrna")
+
+# files rna_access.c rna_define.c makesrna.c intentionally excluded.
+set(DEFSRC
+       rna_ID.c
+       rna_action.c
+       rna_actuator.c
+       rna_animation.c
+       rna_animviz.c
+       rna_armature.c
+       rna_boid.c
+       rna_brush.c
+       rna_camera.c
+       rna_cloth.c
+       rna_color.c
+       rna_constraint.c
+       rna_context.c
+       rna_controller.c
+       rna_curve.c
+       rna_fcurve.c
+       rna_fluidsim.c
+       rna_gpencil.c
+       rna_group.c
+       rna_image.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_nla.c
+       rna_nodetree.c
+       rna_object.c
+       rna_object_force.c
+       rna_packedfile.c
+       rna_particle.c
+       rna_pose.c
+       rna_property.c
+       rna_render.c
+       rna_rna.c
+       rna_scene.c
+       rna_screen.c
+       rna_sculpt_paint.c
+       rna_sensor.c
+       rna_sequencer.c
+       rna_smoke.c
+       rna_sound.c
+       rna_space.c
+       rna_test.c
+       rna_text.c
+       rna_texture.c
+       rna_timeline.c
+       rna_ui.c
+       rna_userdef.c
+       rna_vfont.c
+       rna_wm.c
+       rna_world.c
+)
+
+set(APISRC
+       rna_action_api.c
+       rna_actuator_api.c
+       rna_animation_api.c
+       rna_armature_api.c
+       rna_controller_api.c
+       rna_fcurve_api.c
+       rna_image_api.c
+       rna_main_api.c
+       rna_material_api.c
+       rna_mesh_api.c
+       rna_object_api.c
+       rna_pose_api.c
+       rna_scene_api.c
+       rna_sensor_api.c
+       rna_sequencer_api.c
+       rna_text_api.c
+       rna_ui_api.c
+       rna_wm_api.c
+)
+
+string(REGEX REPLACE "rna_([a-zA-Z0-9_-]*).c" "${CMAKE_CURRENT_BINARY_DIR}/rna_\\1_gen.c" GENSRC "${DEFSRC}")
+set_source_files_properties(GENSRC PROPERTIES GENERATED true)
+
+set(SRC_RNA_INC
+       ../RNA_access.h
+       ../RNA_define.h
+       ../RNA_documentation.h
+       ../RNA_enum_types.h
+       ../RNA_types.h
+)
+
+set(SRC
+       makesrna.c
+       rna_define.c
+       ${DEFSRC}
+       ${APISRC}
+       ../../../../intern/guardedalloc/intern/mallocn.c
+       ../../../../intern/guardedalloc/intern/mmap_win.c
+)
+
+set(INC
+)
+
+if(WITH_PYTHON)
+       add_definitions(-DWITH_PYTHON)
+endif()
+
+if(WITH_GAMEENGINE)
+       add_definitions(-DWITH_GAMEENGINE)
+endif()
+
+if(WITH_IMAGE_OPENEXR)
+       add_definitions(-DWITH_OPENEXR)
+endif()
+
+if(WITH_IMAGE_TIFF)
+       add_definitions(-DWITH_TIFF)
+endif()
+
+if(WITH_IMAGE_OPENJPEG)
+       add_definitions(-DWITH_OPENJPEG)
+endif()
+
+if(WITH_IMAGE_DDS)
+       add_definitions(-DWITH_DDS)
+endif()
+
+if(WITH_IMAGE_CINEON)
+       add_definitions(-DWITH_CINEON)
+endif()
+
+if(WITH_IMAGE_HDR)
+       add_definitions(-DWITH_HDR)
+endif()
+
+if(WITH_CODEC_QUICKTIME)
+       list(APPEND INC ../../quicktime)
+       add_definitions(-DWITH_QUICKTIME)
+endif()
+
+if(WITH_CODEC_FFMPEG)
+       list(APPEND INC ${FFMPEG_INC})
+       add_definitions(-DWITH_FFMPEG)
+endif()
+
+if(WITH_LCMS)
+       list(APPEND INC ${LCMS_INCLUDE_DIR})
+       add_definitions(-DWITH_LCMS)
+endif()
+
+if(NOT WITH_MOD_FLUID)
+       add_definitions(-DDISABLE_ELBEEM)
+endif()
+
+if(WITH_FFTW3)
+       add_definitions(-DFFTW3=1)
+endif()
+
+if(WITH_SDL)
+       add_definitions(-DWITH_SDL)
+endif()
+
+if(WITH_OPENAL)
+       add_definitions(-DWITH_OPENAL)
+endif()
+
+if(WITH_JACK)
+       add_definitions(-DWITH_JACK)
+endif()
+
+if(WITH_OPENCOLLADA)
+       add_definitions(-DWITH_COLLADA)
+endif()
 
 # Build makesrna executable
-ADD_EXECUTABLE(makesrna ${SRC} ${INC_FILES})
-TARGET_LINK_LIBRARIES(makesrna bf_dna)
+blender_include_dirs(
+       .
+       ..
+       ../../blenkernel
+       ../../blenloader
+       ../../blenlib
+       ../../blenfont
+       ../../gpu
+       ../../imbuf
+       ../../ikplugin
+       ../../makesdna
+       ../../windowmanager
+       ../../editors/include
+       ../../render/extern/include
+       ../../../../intern/audaspace/intern
+       ../../../../intern/guardedalloc
+       ../../../../intern/memutil
+       ${GLEW_INCLUDE_PATH}
+)
+
+add_executable(makesrna ${SRC} ${SRC_RNA_INC} ${SRC_DNA_INC})
+target_link_libraries(makesrna bf_dna)
 
 # Output rna_*_gen.c
-ADD_CUSTOM_COMMAND(
+# note (linux only): with crashes try add this after COMMAND: valgrind --leak-check=full --track-origins=yes
+add_custom_command(
        OUTPUT ${GENSRC}
        COMMAND ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/makesrna ${CMAKE_CURRENT_BINARY_DIR}/
        DEPENDS makesrna
 )
 
 # Build bf_rna
-SET(SRC rna_access.c ${GENSRC})
-BLENDERLIB(bf_rna "${SRC}" "${INC}")
-
-MESSAGE(STATUS "Configuring makesrna")
+set(SRC
+       rna_access.c
+       ${GENSRC}
+
+       ${SRC_RNA_INC}
+       rna_internal.h
+       rna_internal_types.h
+       rna_nodetree_types.h
+)
 
+blender_add_lib(bf_rna "${SRC}" "${INC}")