diff options
author | Jacques Beuarain <jacques.beaurain@gmail.com> | 2006-11-17 05:27:12 +0300 |
---|---|---|
committer | Jacques Beuarain <jacques.beaurain@gmail.com> | 2006-11-17 05:27:12 +0300 |
commit | 24f4440d05aa626f35c27758698af396ea94ff76 (patch) | |
tree | 79eb1e30775ee106826c65ea6230500a61660586 /CMake/macros.cmake | |
parent | 9ce143ae25bb50d68defab3f768c32e7fd1d54a9 (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/macros.cmake')
-rw-r--r-- | CMake/macros.cmake | 78 |
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) |