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
path: root/CMake
diff options
context:
space:
mode:
authorJacques Beuarain <jacques.beaurain@gmail.com>2006-11-17 05:27:12 +0300
committerJacques Beuarain <jacques.beaurain@gmail.com>2006-11-17 05:27:12 +0300
commit24f4440d05aa626f35c27758698af396ea94ff76 (patch)
tree79eb1e30775ee106826c65ea6230500a61660586 /CMake
parent9ce143ae25bb50d68defab3f768c32e7fd1d54a9 (diff)
CMake lists initial submission. Documentationand further verification for different platforms will follow soon. This was just tested against current CVS on MSVC 2005 with Verse, QuickTime, OpenEXR, Player all on.
Diffstat (limited to 'CMake')
-rw-r--r--CMake/macros.cmake78
1 files changed, 78 insertions, 0 deletions
diff --git a/CMake/macros.cmake b/CMake/macros.cmake
new file mode 100644
index 00000000000..d669ce14b28
--- /dev/null
+++ b/CMake/macros.cmake
@@ -0,0 +1,78 @@
+MACRO(BLENDERLIB_NOLIST
+ name
+ sources
+ includes)
+
+ # Gather all headers
+ FILE(GLOB_RECURSE INC_ALL *.h)
+
+ INCLUDE_DIRECTORIES(${includes})
+ ADD_LIBRARY(${name} ${INC_ALL} ${sources})
+
+ # Group by location on disk
+ SOURCE_GROUP(Files FILES CMakeLists.txt)
+ SET(ALL_FILES ${sources} ${INC_ALL})
+ FOREACH(SRC ${ALL_FILES})
+ STRING(REGEX REPLACE ${CMAKE_CURRENT_SOURCE_DIR} "Files" REL_DIR "${SRC}")
+ STRING(REGEX REPLACE "[\\\\/][^\\\\/]*$" "" REL_DIR "${REL_DIR}")
+ STRING(REGEX REPLACE "^[\\\\/]" "" REL_DIR "${REL_DIR}")
+ IF(REL_DIR)
+ SOURCE_GROUP(${REL_DIR} FILES ${SRC})
+ ELSE(REL_DIR)
+ SOURCE_GROUP(Files FILES ${SRC})
+ ENDIF(REL_DIR)
+ ENDFOREACH(SRC)
+
+ MESSAGE(STATUS "Configuring library ${name}")
+ENDMACRO(BLENDERLIB_NOLIST)
+
+MACRO(BLENDERLIB
+ name
+ sources
+ includes)
+
+ BLENDERLIB_NOLIST(${name} "${sources}" "${includes}")
+
+ # Add to blender's list of libraries
+ FILE(APPEND ${CMAKE_SOURCE_DIR}/cmake_blender_libs.txt "${name};")
+ENDMACRO(BLENDERLIB)
+
+MACRO(SETUP_LIBDIRS)
+ LINK_DIRECTORIES(${PYTHON_LIBPATH} ${SDL_LIBPATH} ${JPEG_LIBPATH} ${PNG_LIBPATH} ${ZLIB_LIBPATH} ${ICONV_LIBPATH} ${OPENEXR_LIBPATH} ${FFMPEG_LIBPATH})
+ IF(WITH_INTERNATIONAL)
+ LINK_DIRECTORIES(${GETTEXT_LIBPATH})
+ LINK_DIRECTORIES(${FREETYPE_LIBPATH})
+ ENDIF(WITH_INTERNATIONAL)
+ IF(WITH_OPENAL)
+ LINK_DIRECTORIES(${OPENAL_LIBPATH})
+ ENDIF(WITH_OPENAL)
+
+ IF(WIN32)
+ LINK_DIRECTORIES(${PTHREADS_LIBPATH})
+ ENDIF(WIN32)
+ENDMACRO(SETUP_LIBDIRS)
+
+MACRO(SETUP_LIBLINKS
+ target)
+ SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${PLATFORM_LINKFLAGS} ")
+ TARGET_LINK_LIBRARIES(${target} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} ${PYTHON_LIB} ${PYTHON_LINKFLAGS} ${JPEG_LIB} ${PNG_LIB} ${ZLIB_LIB} ${SDL_LIB} ${LLIBS})
+ IF(WITH_INTERNATIONAL)
+ TARGET_LINK_LIBRARIES(${target} ${FREETYPE_LIB})
+ TARGET_LINK_LIBRARIES(${target} ${GETTEXT_LIB})
+ ENDIF(WITH_INTERNATIONAL)
+ IF(WITH_OPENAL)
+ TARGET_LINK_LIBRARIES(${target} ${OPENAL_LIB})
+ ENDIF(WITH_OPENAL)
+ IF(WIN32)
+ TARGET_LINK_LIBRARIES(${target} ${ICONV_LIB})
+ ENDIF(WIN32)
+ IF(WITH_OPENEXR)
+ TARGET_LINK_LIBRARIES(${target} ${OPENEXR_LIB})
+ ENDIF(WITH_OPENEXR)
+ IF(WITH_FFMPEG)
+ TARGET_LINK_LIBRARIES(${target} ${FFMPEG_LIB})
+ ENDIF(WITH_FFMPEG)
+ IF(WIN32)
+ TARGET_LINK_LIBRARIES(${target} ${PTHREADS_LIB})
+ ENDIF(WIN32)
+ENDMACRO(SETUP_LIBLINKS)