CMake patch from Alexander Neundorf

-under UNIX, it uses FIND_PACKAGE() to find the jpg, png and zlib libraries

-it removes the explictely listed search paths, which are already searched by
default, so it is not necessary to list them again explicitely

-it removes the include directories /usr/include
and /usr/local/include. /usr/include is used by default, all other
directories should be searched via find_package/find_file and then added to
the include directories.

-replaces the include() commands for the FindXXX.cmake
modules with the appropriate find_package(Foo) calls.
This doesn't change the behaviour, but gives more features.
E.g. you could now say
find_package(JPEG REQUIRED)
and cmake will abort with an error if the package is not found.
Also it makes it clearer what is going on.

Additionally the patch removes the line
 INCLUDE(${CMAKE_ROOT}/Modules/Platform/Windows-cl.cmake)
in the Windows if-branch.
Why was this there ? This file should be included anyway under Windows when
using the MS compiler.
This commit is contained in:
Campbell Barton 2009-06-27 22:48:39 +00:00
parent 67073db49c
commit 35ac032b55
2 changed files with 20 additions and 29 deletions

@ -61,7 +61,7 @@ MACRO(SETUP_LIBLINKS
SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${PLATFORM_LINKFLAGS} ") 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}) #TARGET_LINK_LIBRARIES(${target} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} ${PYTHON_LIB} ${PYTHON_LINKFLAGS} ${JPEG_LIB} ${PNG_LIB} ${ZLIB_LIB} ${SDL_LIB} ${LLIBS})
TARGET_LINK_LIBRARIES(${target} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} ${PYTHON_LINKFLAGS} ${JPEG_LIB} ${PNG_LIB} ${ZLIB_LIB} ${SDL_LIB} ${LLIBS}) TARGET_LINK_LIBRARIES(${target} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} ${PYTHON_LINKFLAGS} ${JPEG_LIBRARY} ${PNG_LIBRARIES} ${ZLIB_LIBRARIES} ${SDL_LIB} ${LLIBS})
# since we are using the local libs for python when compiling msvc projects, we need to add _d when compiling debug versions # since we are using the local libs for python when compiling msvc projects, we need to add _d when compiling debug versions

@ -89,7 +89,7 @@ INCLUDE(CMake/macros.cmake)
IF(UNIX) IF(UNIX)
IF(WITH_OPENAL) IF(WITH_OPENAL)
INCLUDE(${CMAKE_ROOT}/Modules/FindOpenAL.cmake) FIND_PACKAGE(OpenAL)
IF(OPENAL_FOUND) IF(OPENAL_FOUND)
SET(WITH_OPENAL ON) SET(WITH_OPENAL ON)
SET(OPENAL_LIB ${OPENAL_LIBRARY}) SET(OPENAL_LIB ${OPENAL_LIBRARY})
@ -102,22 +102,12 @@ IF(UNIX)
FIND_LIBRARY(INTL_LIBRARY FIND_LIBRARY(INTL_LIBRARY
NAMES intl NAMES intl
PATHS PATHS
/usr/local/lib
/usr/lib
/sw/lib /sw/lib
/opt/local/lib
/opt/csw/lib
/opt/lib
) )
FIND_LIBRARY(ICONV_LIBRARY FIND_LIBRARY(ICONV_LIBRARY
NAMES iconv NAMES iconv
PATHS PATHS
/usr/local/lib
/usr/lib
/sw/lib /sw/lib
/opt/local/lib
/opt/csw/lib
/opt/lib
) )
IF(INTL_LIBRARY AND ICONV_LIBRARY) IF(INTL_LIBRARY AND ICONV_LIBRARY)
SET(GETTEXT_LIB ${INTL_LIBRARY} ${ICONV_LIBRARY}) SET(GETTEXT_LIB ${INTL_LIBRARY} ${ICONV_LIBRARY})
@ -136,14 +126,14 @@ IF(UNIX)
) )
SET(FREETYPE_LIB freetype) SET(FREETYPE_LIB freetype)
INCLUDE(${CMAKE_ROOT}/Modules/FindPythonLibs.cmake) FIND_PACKAGE(PythonLibs)
SET(PYTHON_INC "${PYTHON_INCLUDE_PATH}" CACHE STRING "") SET(PYTHON_INC "${PYTHON_INCLUDE_PATH}" CACHE STRING "")
SET(PYTHON_LIB "${PYTHON_LIBRARIES}" CACHE STRING "") SET(PYTHON_LIB "${PYTHON_LIBRARIES}" CACHE STRING "")
INCLUDE(${CMAKE_ROOT}/Modules/FindPythonInterp.cmake) FIND_PACKAGE(PythonInterp)
SET(PYTHON_BINARY ${PYTHON_EXECUTABLE} CACHE STRING "") SET(PYTHON_BINARY ${PYTHON_EXECUTABLE} CACHE STRING "")
SET(PYTHON_LINKFLAGS "-Xlinker -export-dynamic") SET(PYTHON_LINKFLAGS "-Xlinker -export-dynamic")
INCLUDE(${CMAKE_ROOT}/Modules/FindSDL.cmake) FIND_PACKAGE(SDL)
SET(SDL_INC ${SDL_INCLUDE_DIR}) SET(SDL_INC ${SDL_INCLUDE_DIR})
SET(SDL_LIB ${SDL_LIBRARY}) SET(SDL_LIB ${SDL_LIBRARY})
@ -164,11 +154,11 @@ IF(UNIX)
SET(FFMPEG_LIB avformat avcodec avutil avdevice swscale) SET(FFMPEG_LIB avformat avcodec avutil avdevice swscale)
SET(FFMPEG_LIBPATH ${FFMPEG}/lib) SET(FFMPEG_LIBPATH ${FFMPEG}/lib)
SET(JPEG_LIB jpeg) FIND_PACKAGE(JPEG REQUIRED)
SET(PNG_LIB png) FIND_PACKAGE(PNG REQUIRED)
SET(ZLIB_LIB z) FIND_PACKAGE(ZLIB REQUIRED)
SET(LLIBS "-lXi -lutil -lc -lm -lpthread -lstdc++ -lX11 -ldl") SET(LLIBS "-lXi -lutil -lc -lm -lpthread -lstdc++ -lX11 -ldl")
@ -186,12 +176,13 @@ IF(UNIX)
# Better warnings # Better warnings
SET(C_WARNINGS "-Wall -Wno-char-subscripts -Wpointer-arith -Wcast-align -Wnested-externs -Wdeclaration-after-statement") SET(C_WARNINGS "-Wall -Wno-char-subscripts -Wpointer-arith -Wcast-align -Wnested-externs -Wdeclaration-after-statement")
INCLUDE_DIRECTORIES(/usr/include /usr/local/include) INCLUDE_DIRECTORIES(${JPEG_INCLUDE_DIR} ${PNG_INCLUDE_DIR} ${ZLIB_INCLUDE_DIR} )
ENDIF(UNIX) ENDIF(UNIX)
IF(WIN32) IF(WIN32)
INCLUDE(${CMAKE_ROOT}/Modules/Platform/Windows-cl.cmake) # this file is included anyway when building under Windows with cl.exe
# INCLUDE(${CMAKE_ROOT}/Modules/Platform/Windows-cl.cmake)
SET(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/windows) SET(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/windows)
@ -219,15 +210,15 @@ IF(WIN32)
ENDIF(CMAKE_CL_64) ENDIF(CMAKE_CL_64)
IF(CMAKE_CL_64) IF(CMAKE_CL_64)
SET(PNG_LIB libpng) SET(PNG_LIBRARIES libpng)
ELSE(CMAKE_CL_64) ELSE(CMAKE_CL_64)
SET(PNG_LIB libpng_st) SET(PNG_LIBRARIES libpng_st)
ENDIF(CMAKE_CL_64) ENDIF(CMAKE_CL_64)
SET(JPEG_LIB libjpeg) SET(JPEG_LIBRARY libjpeg)
SET(ZLIB ${LIBDIR}/zlib) SET(ZLIB ${LIBDIR}/zlib)
SET(ZLIB_INC ${ZLIB}/include) SET(ZLIB_INC ${ZLIB}/include)
SET(ZLIB_LIB libz) SET(ZLIB_LIBRARIES zlib)
SET(ZLIB_LIBPATH ${ZLIB}/lib) SET(ZLIB_LIBPATH ${ZLIB}/lib)
SET(PTHREADS ${LIBDIR}/pthreads) SET(PTHREADS ${LIBDIR}/pthreads)
@ -335,7 +326,7 @@ IF(APPLE)
ENDIF(CMAKE_OSX_ARCHITECTURES MATCHES i386) ENDIF(CMAKE_OSX_ARCHITECTURES MATCHES i386)
IF(WITH_OPENAL) IF(WITH_OPENAL)
INCLUDE(${CMAKE_ROOT}/Modules/FindOpenAL.cmake) FIND_PACKAGE(OpenAL)
IF(OPENAL_FOUND) IF(OPENAL_FOUND)
SET(WITH_OPENAL ON) SET(WITH_OPENAL ON)
SET(OPENAL_LIB ${OPENAL_LIBRARY}) SET(OPENAL_LIB ${OPENAL_LIBRARY})
@ -362,12 +353,12 @@ IF(APPLE)
SET(GETTEXT_LIB intl iconv) SET(GETTEXT_LIB intl iconv)
SET(GETTEXT_LIBPATH ${GETTEXT}/lib) SET(GETTEXT_LIBPATH ${GETTEXT}/lib)
SET(PNG_LIB png) SET(PNG_LIBRARIES png)
SET(JPEG_LIB jpeg) SET(JPEG_LIBRARY jpeg)
SET(ZLIB /usr) SET(ZLIB /usr)
SET(ZLIB_INC "${ZLIB}/include") SET(ZLIB_INC "${ZLIB}/include")
SET(ZLIB_LIB z) SET(ZLIB_LIBRARIES z)
SET(FREETYPE ${LIBDIR}/freetype) SET(FREETYPE ${LIBDIR}/freetype)
SET(FREETYPE_INC ${FREETYPE}/include ${FREETYPE}/include/freetype2) SET(FREETYPE_INC ${FREETYPE}/include ${FREETYPE}/include/freetype2)
@ -438,7 +429,7 @@ ENDIF(WITH_WEBPLUGIN)
#----------------------------------------------------------------------------- #-----------------------------------------------------------------------------
# Configure OpenGL. # Configure OpenGL.
INCLUDE(${CMAKE_ROOT}/Modules/FindOpenGL.cmake) FIND_PACKAGE(OpenGL)
INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR}) INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR})
#----------------------------------------------------------------------------- #-----------------------------------------------------------------------------
# Extra compile flags # Extra compile flags