Kaynağa Gözat

Added freetype.cmake, a bit closer to working but not quite.

Cameron Hart 14 yıl önce
ebeveyn
işleme
5bb6e05d5d

+ 4 - 4
CMake/ExternalAssimp.cmake

@@ -6,7 +6,7 @@ SET(assimp_PREFIX ${CMAKE_CURRENT_BINARY_DIR}/assimp)
 ExternalProject_Add(assimp
     PREFIX ${assimp_PREFIX}
 
-    DOWNLOAD_DIR ${POLYCODE_EXTERNALS_DOWNLOAD_DIR}
+    DOWNLOAD_DIR ${POLYCODE_DEPS_DOWNLOAD_DIR}
 
     URL http://download.sourceforge.net/assimp/assimp--2.0.863-sdk.zip
     URL_MD5 9f41662501bd9d9533c4cf03b7c25d5b
@@ -19,15 +19,15 @@ ExternalProject_Get_Property(assimp install_dir)
 
 # install includes
 INSTALL(DIRECTORY ${install_dir}/include/
-    DESTINATION ${POLYCODE_EXTERNALS_TOOLS_PREFIX}/Include)
+    DESTINATION ${POLYCODE_DEPS_TOOLS_PREFIX}/Include)
 
 # install debug lib
 INSTALL(FILES ${install_dir}/lib/assimp${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_EXTERNALS_TOOLS_PREFIX}/Lib/Debug
+    DESTINATION ${POLYCODE_DEPS_TOOLS_PREFIX}/Lib/Debug
     CONFIGURATIONS Debug
     RENAME assimpd${CMAKE_STATIC_LIBRARY_SUFFIX})
 
 # install release lib
 INSTALL(FILES ${install_dir}/lib/assimp${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_EXTERNALS_TOOLS_PREFIX}/Lib/Release
+    DESTINATION ${POLYCODE_DEPS_TOOLS_PREFIX}/Lib/Release
     CONFIGURATIONS Release)

+ 4 - 4
CMake/ExternalBox2D.cmake

@@ -17,7 +17,7 @@ SET(box2d_CMAKE_ARGS
 ExternalProject_Add(box2d
     PREFIX ${box2d_PREFIX}
 
-    DOWNLOAD_DIR ${POLYCODE_EXTERNALS_DOWNLOAD_DIR}
+    DOWNLOAD_DIR ${POLYCODE_DEPS_DOWNLOAD_DIR}
 
     URL http://box2d.googlecode.com/files/Box2D_v2.1.2.zip
     URL_MD5 59d142cd8d4d73e8832c7b67591f590c
@@ -31,17 +31,17 @@ ExternalProject_Get_Property(box2d install_dir)
 
 # install built files
 INSTALL(DIRECTORY ${install_dir}/include/
-    DESTINATION ${POLYCODE_EXTERNALS_MODULES_PREFIX}/Include
+    DESTINATION ${POLYCODE_DEPS_MODULES_PREFIX}/Include
     FILES_MATCHING PATTERN "*.h")
     
 # install debug lib
 INSTALL(FILES ${install_dir}/lib/Box2D${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_EXTERNALS_MODULES_PREFIX}/Lib/Debug
+    DESTINATION ${POLYCODE_DEPS_MODULES_PREFIX}/Lib/Debug
     CONFIGURATIONS Debug
     RENAME Box2D_d${CMAKE_STATIC_LIBRARY_SUFFIX})
 
 # install release lib
 INSTALL(FILES ${install_dir}/lib/Box2D${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_EXTERNALS_MODULES_PREFIX}/Lib/Release
+    DESTINATION ${POLYCODE_DEPS_MODULES_PREFIX}/Lib/Release
     CONFIGURATIONS Release)
 

+ 10 - 10
CMake/ExternalBullet.cmake

@@ -18,7 +18,7 @@ ENDIF(CMAKE_COMPILER_IS_GNUCXX)
 ExternalProject_Add(bullet
     PREFIX ${bullet_PREFIX}
     
-    DOWNLOAD_DIR ${POLYCODE_EXTERNALS_DOWNLOAD_DIR}
+    DOWNLOAD_DIR ${POLYCODE_DEPS_DOWNLOAD_DIR}
 
     URL http://bullet.googlecode.com/files/bullet-2.78.zip
     URL_MD5 99d4070864c9f73521481ba9cda25038
@@ -30,43 +30,43 @@ ExternalProject_Get_Property(bullet install_dir)
 
 # install includes
 INSTALL(DIRECTORY ${install_dir}/include/
-    DESTINATION ${POLYCODE_EXTERNALS_MODULES_PREFIX}/Include
+    DESTINATION ${POLYCODE_DEPS_MODULES_PREFIX}/Include
     FILES_MATCHING PATTERN "*.h")
 
 # install debug libs
 INSTALL(FILES ${install_dir}/lib/BulletDynamics${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_EXTERNALS_MODULES_PREFIX}/Lib/Debug
+    DESTINATION ${POLYCODE_DEPS_MODULES_PREFIX}/Lib/Debug
     CONFIGURATIONS Debug
     RENAME BulletDynamics_d${CMAKE_STATIC_LIBRARY_SUFFIX})
 
 INSTALL(FILES ${install_dir}/lib/BulletCollision${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_EXTERNALS_MODULES_PREFIX}/Lib/Debug
+    DESTINATION ${POLYCODE_DEPS_MODULES_PREFIX}/Lib/Debug
     CONFIGURATIONS Debug
     RENAME BulletCollision_d${CMAKE_STATIC_LIBRARY_SUFFIX})
 
 INSTALL(FILES ${install_dir}/lib/BulletSoftBody${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_EXTERNALS_MODULES_PREFIX}/Lib/Debug
+    DESTINATION ${POLYCODE_DEPS_MODULES_PREFIX}/Lib/Debug
     CONFIGURATIONS Debug
     RENAME BulletSoftBody_d${CMAKE_STATIC_LIBRARY_SUFFIX})
 
 INSTALL(FILES ${install_dir}/lib/LinearMath${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_EXTERNALS_MODULES_PREFIX}/Lib/Debug
+    DESTINATION ${POLYCODE_DEPS_MODULES_PREFIX}/Lib/Debug
     CONFIGURATIONS Debug
     RENAME LinearMath_d${CMAKE_STATIC_LIBRARY_SUFFIX})
 
 # install release libs
 INSTALL(FILES ${install_dir}/lib/BulletDynamics${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_EXTERNALS_MODULES_PREFIX}/Lib/Release
+    DESTINATION ${POLYCODE_DEPS_MODULES_PREFIX}/Lib/Release
     CONFIGURATIONS Release)
 
 INSTALL(FILES ${install_dir}/lib/BulletCollision${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_EXTERNALS_MODULES_PREFIX}/Lib/Release
+    DESTINATION ${POLYCODE_DEPS_MODULES_PREFIX}/Lib/Release
     CONFIGURATIONS Release)
 
 INSTALL(FILES ${install_dir}/lib/BulletSoftBody${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_EXTERNALS_MODULES_PREFIX}/Lib/Release
+    DESTINATION ${POLYCODE_DEPS_MODULES_PREFIX}/Lib/Release
     CONFIGURATIONS Release)
 
 INSTALL(FILES ${install_dir}/lib/LinearMath${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_EXTERNALS_MODULES_PREFIX}/Lib/Release
+    DESTINATION ${POLYCODE_DEPS_MODULES_PREFIX}/Lib/Release
     CONFIGURATIONS Release)

+ 14 - 46
CMake/ExternalFreetype.cmake

@@ -1,65 +1,33 @@
-# Build a local version
+# Build a local version of freetype
 INCLUDE(ExternalProject)
 
 SET(freetype_PREFIX ${CMAKE_CURRENT_BINARY_DIR}/freetype)
 
-# Set the build target for the appropriate build
-# TODO add other platforms
-IF(MSVC10)
-    SET(platform_dir "win32/vc2010")
-ELSEIF(MSVC9)
-    SET(platform_dir "win32/vc2008")
-ELSE()
-    MESSAGE(ERROR "Generator support not implemented yet.")
-ENDIF(MSVC10)
-
-IF(DEFINED CMAKE_CFG_INTDIR)
-    SET(freetype_CONFIG ${CMAKE_CFG_INTDIR})
-ELSEIF(DEFINED CMAKE_BUILD_TYPE)
-    SET(freetype_CONFIG ${CMAKE_CFG_INTDIR})
-ENDIF()
-
-BUILD_COMMAND(build_TEMP
-    CONFIGURATION ${freetype_CONFIG}
-    TARGET builds/${platform_dir}/freetype)
-
-# split build command string into list
-STRING(REPLACE " " ";" freetype_BUILD ${build_TEMP})
-
-MESSAGE(DEBUG ${freetype_BUILD})
-
-ExternalProject_Add(freetype
+EXTERNALPROJECT_ADD(freetype
     PREFIX ${freetype_PREFIX}
 
-    DOWNLOAD_DIR ${POLYCODE_EXTERNALS_DOWNLOAD_DIR}
+    DOWNLOAD_DIR ${POLYCODE_DEPS_DOWNLOAD_DIR}
     URL http://download.savannah.gnu.org/releases/freetype/freetype-2.4.5.tar.gz
     URL_MD5 0e67460b312df905dc1cc1586690e7b2
 
-    CONFIGURE_COMMAND ""
-    BUILD_IN_SOURCE 1
-    BUILD_COMMAND ${freetype_BUILD}
-    INSTALL_COMMAND ""
-    #INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_if_different <SOURCE_DIR>/objs/${platform_dir}/freetype245${CMAKE_STATIC_LIBRARY_SUFFIX} <INSTALL_DIR>/lib/freetype245${CMAKE_STATIC_LIBRARY_SUFFIX}
-)
+    PATCH_COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PolycodeDependencies_SOURCE_DIR}/../CMake/freetype.cmake <SOURCE_DIR>/CMakeLists.txt
 
-# get the source dir for in source build
-ExternalProject_Get_Property(freetype source_dir)
+    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
+)
 
-MESSAGE(DEBUG ${source_dir})
+ExternalProject_Get_Property(freetype install_dir)
 
 # install built files
-INSTALL(DIRECTORY ${source_dir}/include/
-    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX}/Include
+INSTALL(DIRECTORY ${install_dir}/include/
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Include
     FILES_MATCHING PATTERN "*.h")
 
-ExternalProject_Get_Property(freetype install_dir)
-
-# install debug lib
-INSTALL(FILES ${source_dir}/objs/${platform_dir}/freetype245_D${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX}/Lib/Debug
+# install debug libs
+INSTALL(FILES ${install_dir}/lib/freetyped${CMAKE_STATIC_LIBRARY_SUFFIX} 
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Debug
     CONFIGURATIONS Debug)
 
 # install release lib
-INSTALL(FILES ${source_dir}/objs/${platform_dir}/freetype245${CMAKE_STATIC_LIBRARY_SUFFIX}
-    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX}/Lib/Release
+INSTALL(FILES ${install_dir}/lib/freetype${CMAKE_STATIC_LIBRARY_SUFFIX}
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Release
     CONFIGURATIONS Release)

+ 2 - 2
CMake/ExternalGLExt.cmake

@@ -1,12 +1,12 @@
 # download some headers missing from Windows
-SET(GLEXT_H ${POLYCODE_EXTERNALS_CORE_PREFIX}/include/GL/glext.h)
+SET(GLEXT_H ${POLYCODE_DEPS_CORE_PREFIX}/include/GL/glext.h)
 IF(NOT EXISTS ${GLEXT_H})
     FILE(DOWNLOAD http://www.opengl.org/registry/api/glext.h 
         ${GLEXT_H}
         SHOW_PROGRESS)
 ENDIF(NOT EXISTS ${GLEXT_H})
 
-SET(WGLEXT_H ${POLYCODE_EXTERNALS_CORE_PREFIX}/include/GL/wglext.h)
+SET(WGLEXT_H ${POLYCODE_DEPS_CORE_PREFIX}/include/GL/wglext.h)
 IF(NOT EXISTS ${WGLEXT_H})
     FILE(DOWNLOAD http://www.opengl.org/registry/api/wglext.h 
         ${WGLEXT_H}

+ 19 - 17
CMake/ExternalOggVorbis.cmake

@@ -1,16 +1,16 @@
 # Build a local version of libogg, libvorbis and libvorbisfile
 INCLUDE(ExternalProject)
 
-SET(oggvorbis_PREFIX ${CMAKE_CURRENT_BINARY_DIR}/png)
+SET(oggvorbis_PREFIX ${CMAKE_CURRENT_BINARY_DIR}/oggvorbis)
 
 EXTERNALPROJECT_ADD(libogg
     PREFIX ${oggvorbis_PREFIX}
 
-    DOWNLOAD_DIR ${POLYCODE_EXTERNALS_DOWNLOAD_DIR}
+    DOWNLOAD_DIR ${POLYCODE_DEPS_DOWNLOAD_DIR}
     URL http://downloads.xiph.org/releases/ogg/libogg-1.2.2.tar.gz
     URL_MD5 5a9fcabc9a1b7c6f1cd75ddc78f36c56
 
-    PATCH_COMMAND ${CMAKE_COMMAND} -E remove <SOURCE_DIR>/zconf.h
+    PATCH_COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PolycodeDependencies_SOURCE_DIR}/../CMake/libogg.cmake <SOURCE_DIR>/CMakeLists.txt
 
     CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
 )
@@ -21,10 +21,12 @@ EXTERNALPROJECT_ADD(libvorbis
     DEPENDS libogg
     PREFIX ${oggvorbis_PREFIX}
 
-    DOWNLOAD_DIR ${POLYCODE_EXTERNALS_DOWNLOAD_DIR}
+    DOWNLOAD_DIR ${POLYCODE_DEPS_DOWNLOAD_DIR}
     URL http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.2.tar.gz
     URL_MD5 c870b9bd5858a0ecb5275c14486d9554
 
+    PATCH_COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PolycodeDependencies_SOURCE_DIR}/../CMake/libvorbis.cmake <SOURCE_DIR>/CMakeLists.txt
+
     CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> -DCMAKE_PREFIX_PATH=${install_dir} # to find libogg
 )
 
@@ -32,57 +34,57 @@ ExternalProject_Get_Property(libvorbis install_dir)
 
 # install built files
 INSTALL(DIRECTORY ${install_dir}/include/
-    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX}/Include
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Include
     FILES_MATCHING PATTERN "*.h")
 
 # install debug libs
 INSTALL(FILES ${install_dir}/lib/liboggd${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX}/Lib/Debug
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Debug
     CONFIGURATIONS Debug)
 
 INSTALL(FILES ${install_dir}/lib/libvorbisd${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX}/Lib/Debug
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Debug
     CONFIGURATIONS Debug)
 
 INSTALL(FILES ${install_dir}/lib/libvorbisfiled${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX}/Lib/Debug
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Debug
     CONFIGURATIONS Debug)
 
 # install release lib
 INSTALL(FILES ${install_dir}/lib/libogg${CMAKE_STATIC_LIBRARY_SUFFIX}
-    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX}/Lib/Release
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Release
     CONFIGURATIONS Release)
 
 INSTALL(FILES ${install_dir}/lib/libvorbis${CMAKE_STATIC_LIBRARY_SUFFIX}
-    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX}/Lib/Release
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Release
     CONFIGURATIONS Release)
 
 INSTALL(FILES ${install_dir}/lib/libvorbisfile${CMAKE_STATIC_LIBRARY_SUFFIX}
-    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX}/Lib/Release
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Release
     CONFIGURATIONS Release)
 
 # install debug shared library
 INSTALL(FILES ${install_dir}/bin/liboggd${CMAKE_SHARED_LIBRARY_SUFFIX}
-    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX}/Lib/Debug
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Debug
     CONFIGURATIONS Debug)
 
 INSTALL(FILES ${install_dir}/bin/libvorbisd${CMAKE_SHARED_LIBRARY_SUFFIX}
-    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX}/Lib/Debug
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Debug
     CONFIGURATIONS Debug)
 
 INSTALL(FILES ${install_dir}/bin/libvorbisfiled${CMAKE_SHARED_LIBRARY_SUFFIX}
-    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX}/Lib/Debug
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Debug
     CONFIGURATIONS Debug)
 
 # install release shared library
 INSTALL(FILES ${install_dir}/bin/libogg${CMAKE_SHARED_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX}/Bin/Release
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Bin/Release
     CONFIGURATIONS Release)
 
 INSTALL(FILES ${install_dir}/bin/libvorbis${CMAKE_SHARED_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX}/Bin/Release
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Bin/Release
     CONFIGURATIONS Release)
 
 INSTALL(FILES ${install_dir}/bin/libvorbisfile${CMAKE_SHARED_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX}/Bin/Release
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Bin/Release
     CONFIGURATIONS Release)

+ 6 - 6
CMake/ExternalOpenAL.cmake

@@ -6,7 +6,7 @@ SET(openal_PREFIX ${CMAKE_CURRENT_BINARY_DIR}/openal)
 ExternalProject_Add(openal
     PREFIX ${openal_PREFIX}
 
-    DOWNLOAD_DIR ${POLYCODE_EXTERNALS_DOWNLOAD_DIR}
+    DOWNLOAD_DIR ${POLYCODE_DEPS_DOWNLOAD_DIR}
 
     URL http://kcat.strangesoft.net/openal-releases/openal-soft-1.13.tar.bz2
     URL_MD5 58b7d2809790c70681b825644c5f3614
@@ -17,27 +17,27 @@ ExternalProject_Get_Property(openal install_dir)
 
 # install built files
 INSTALL(DIRECTORY ${install_dir}/include/
-    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX}/Include
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Include
     FILES_MATCHING PATTERN "*.h")
 
 # install debug lib
 INSTALL(FILES ${install_dir}/lib/OpenAL32${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX}/Lib/Debug
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Debug
     CONFIGURATIONS Debug
     RENAME OpenAL32d${CMAKE_STATIC_LIBRARY_SUFFIX})
 
 # install release lib
 INSTALL(FILES ${install_dir}/lib/OpenAL32${CMAKE_STATIC_LIBRARY_SUFFIX}
-    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX}/Lib/Release
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Release
     CONFIGURATIONS Release)
 
 # install debug shared library
 INSTALL(FILES ${install_dir}/bin/OpenAL32${CMAKE_SHARED_LIBRARY_SUFFIX}
-    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX}/Lib/Debug
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Debug
     CONFIGURATIONS Debug
     RENAME OpenAL32d${CMAKE_SHARED_LIBRARY_SUFFIX})
 
 # install release shared library
 INSTALL(FILES ${install_dir}/bin/OpenAL32${CMAKE_SHARED_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX}/Bin/Release
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Bin/Release
     CONFIGURATIONS Release)

+ 11 - 11
CMake/ExternalPNG.cmake

@@ -6,7 +6,7 @@ SET(png_PREFIX ${CMAKE_CURRENT_BINARY_DIR}/png)
 EXTERNALPROJECT_ADD(zlib
     PREFIX ${png_PREFIX}
 
-    DOWNLOAD_DIR ${POLYCODE_EXTERNALS_DOWNLOAD_DIR}
+    DOWNLOAD_DIR ${POLYCODE_DEPS_DOWNLOAD_DIR}
     URL http://zlib.net/zlib-1.2.5.tar.gz
     URL_MD5 c735eab2d659a96e5a594c9e8541ad63
 
@@ -21,7 +21,7 @@ EXTERNALPROJECT_ADD(libpng
     DEPENDS zlib
     PREFIX ${png_PREFIX}
 
-    DOWNLOAD_DIR ${POLYCODE_EXTERNALS_DOWNLOAD_DIR}
+    DOWNLOAD_DIR ${POLYCODE_DEPS_DOWNLOAD_DIR}
     URL ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng-1.5.4.tar.gz
     URL_MD5 dea4d1fd671160424923e92ff0cdda78
 
@@ -32,41 +32,41 @@ ExternalProject_Get_Property(libpng install_dir)
 
 # install built files
 INSTALL(DIRECTORY ${install_dir}/include/
-    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX}/Include
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Include
     FILES_MATCHING PATTERN "*.h")
 
 # install debug libs
 INSTALL(FILES ${install_dir}/lib/zlibd${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX}/Lib/Debug
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Debug
     CONFIGURATIONS Debug)
 
 INSTALL(FILES ${install_dir}/lib/libpng15d${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX}/Lib/Debug
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Debug
     CONFIGURATIONS Debug)
 
 # install release lib
 INSTALL(FILES ${install_dir}/lib/zlib${CMAKE_STATIC_LIBRARY_SUFFIX}
-    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX}/Lib/Release
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Release
     CONFIGURATIONS Release)
 
 INSTALL(FILES ${install_dir}/lib/libpng15${CMAKE_STATIC_LIBRARY_SUFFIX}
-    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX}/Lib/Release
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Release
     CONFIGURATIONS Release)
 
 # install debug shared library
 INSTALL(FILES ${install_dir}/bin/zlibd1${CMAKE_SHARED_LIBRARY_SUFFIX}
-    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX}/Lib/Debug
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Debug
     CONFIGURATIONS Debug)
 
 INSTALL(FILES ${install_dir}/bin/libpng15d${CMAKE_SHARED_LIBRARY_SUFFIX}
-    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX}/Lib/Debug
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Debug
     CONFIGURATIONS Debug)
 
 # install release shared library
 INSTALL(FILES ${install_dir}/bin/zlib1${CMAKE_SHARED_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX}/Bin/Release
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Bin/Release
     CONFIGURATIONS Release)
 
 INSTALL(FILES ${install_dir}/bin/libpng15${CMAKE_SHARED_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX}/Bin/Release
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Bin/Release
     CONFIGURATIONS Release)

+ 8 - 8
CMake/ExternalPhysFS.cmake

@@ -6,7 +6,7 @@ SET(physfs_PREFIX ${CMAKE_CURRENT_BINARY_DIR}/physfs)
 ExternalProject_Add(physfs
     PREFIX ${physfs_PREFIX}
 
-    DOWNLOAD_DIR ${POLYCODE_EXTERNALS_DOWNLOAD_DIR}
+    DOWNLOAD_DIR ${POLYCODE_DEPS_DOWNLOAD_DIR}
 
     URL http://offload1.icculus.org:9090/physfs/downloads/physfs-2.0.2.tar.gz
     URL_MD5 4e8927c3d30279b03e2592106eb9184a
@@ -18,36 +18,36 @@ ExternalProject_Get_Property(physfs install_dir)
 
 # install built files
 INSTALL(DIRECTORY ${install_dir}/include/
-    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX}/Include
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Include
     FILES_MATCHING PATTERN "*.h")
 
 # install debug lib
 INSTALL(FILES ${install_dir}/lib/physfs${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX}/Lib/Debug
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Debug
     CONFIGURATIONS Debug
     RENAME physfsd${CMAKE_STATIC_LIBRARY_SUFFIX})
 
 # install release lib
 INSTALL(FILES ${install_dir}/lib/physfs${CMAKE_STATIC_LIBRARY_SUFFIX}
-    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX}/Lib/Release
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Release
     CONFIGURATIONS Release)
 
 # install debug shared library
 INSTALL(FILES ${install_dir}/bin/physfs${CMAKE_SHARED_LIBRARY_SUFFIX}
-    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX}/Lib/Debug
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Debug
     CONFIGURATIONS Debug
     RENAME physfsd${CMAKE_SHARED_LIBRARY_SUFFIX})
 
 # install release shared library
 INSTALL(FILES ${install_dir}/bin/physfs${CMAKE_SHARED_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX}/Bin/Release
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Bin/Release
     CONFIGURATIONS Release)
 
 
 #INSTALL(DIRECTORY ${install_dir}/bin
-#    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX})
+#    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX})
 #INSTALL(DIRECTORY ${install_dir}/lib
-#    DESTINATION ${POLYCODE_EXTERNALS_CORE_PREFIX})
+#    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX})
 
 
 

+ 0 - 97
CMake/FindFreetype.cmake

@@ -1,97 +0,0 @@
-# Copied from CMake 2.8.4 - Fix for MSVC10 freetype 2.4.5 lib naming 
-#
-# - Locate FreeType library
-# This module defines
-#  FREETYPE_LIBRARIES, the library to link against
-#  FREETYPE_FOUND, if false, do not try to link to FREETYPE
-#  FREETYPE_INCLUDE_DIRS, where to find headers.
-#  This is the concatenation of the paths:
-#  FREETYPE_INCLUDE_DIR_ft2build
-#  FREETYPE_INCLUDE_DIR_freetype2
-#
-# $FREETYPE_DIR is an environment variable that would
-# correspond to the ./configure --prefix=$FREETYPE_DIR
-# used in building FREETYPE.
-
-#=============================================================================
-# Copyright 2007-2009 Kitware, Inc.
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-# Created by Eric Wing. 
-# Modifications by Alexander Neundorf.
-# This file has been renamed to "FindFreetype.cmake" instead of the correct
-# "FindFreeType.cmake" in order to be compatible with the one from KDE4, Alex.
-
-# Ugh, FreeType seems to use some #include trickery which 
-# makes this harder than it should be. It looks like they
-# put ft2build.h in a common/easier-to-find location which
-# then contains a #include to a more specific header in a 
-# more specific location (#include <freetype/config/ftheader.h>).
-# Then from there, they need to set a bunch of #define's 
-# so you can do something like:
-# #include FT_FREETYPE_H
-# Unfortunately, using CMake's mechanisms like INCLUDE_DIRECTORIES()
-# wants explicit full paths and this trickery doesn't work too well.
-# I'm going to attempt to cut out the middleman and hope 
-# everything still works.
-FIND_PATH(FREETYPE_INCLUDE_DIR_ft2build ft2build.h 
-  HINTS
-  $ENV{FREETYPE_DIR}
-  PATH_SUFFIXES include
-  PATHS
-  /usr/local/X11R6/include
-  /usr/local/X11/include
-  /usr/X11/include
-  /sw/include
-  /opt/local/include
-  /usr/freeware/include
-)
-
-FIND_PATH(FREETYPE_INCLUDE_DIR_freetype2 freetype/config/ftheader.h 
-  HINTS
-  $ENV{FREETYPE_DIR}/include/freetype2
-  PATHS
-  /usr/local/X11R6/include
-  /usr/local/X11/include
-  /usr/X11/include
-  /sw/include
-  /opt/local/include
-  /usr/freeware/include
-  PATH_SUFFIXES freetype2
-)
-
-FIND_LIBRARY(FREETYPE_LIBRARY
-  NAMES freetype libfreetype freetype219 freetype244mt freetype245
-  HINTS
-  $ENV{FREETYPE_DIR}
-  PATH_SUFFIXES lib64 lib
-  PATHS
-  /usr/local/X11R6
-  /usr/local/X11
-  /usr/X11
-  /sw
-  /usr/freeware
-)
-
-# set the user variables
-IF(FREETYPE_INCLUDE_DIR_ft2build AND FREETYPE_INCLUDE_DIR_freetype2)
-  SET(FREETYPE_INCLUDE_DIRS "${FREETYPE_INCLUDE_DIR_ft2build};${FREETYPE_INCLUDE_DIR_freetype2}")
-ENDIF(FREETYPE_INCLUDE_DIR_ft2build AND FREETYPE_INCLUDE_DIR_freetype2)
-SET(FREETYPE_LIBRARIES "${FREETYPE_LIBRARY}")
-
-# handle the QUIETLY and REQUIRED arguments and set FREETYPE_FOUND to TRUE if 
-# all listed variables are TRUE
-INCLUDE(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(Freetype  DEFAULT_MSG  FREETYPE_LIBRARY  FREETYPE_INCLUDE_DIRS)
-
-
-MARK_AS_ADVANCED(FREETYPE_LIBRARY FREETYPE_INCLUDE_DIR_freetype2 FREETYPE_INCLUDE_DIR_ft2build)

+ 81 - 0
CMake/freetype.cmake

@@ -0,0 +1,81 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+
+PROJECT(freetype C)
+
+IF(NOT CMAKE_BUILD_TYPE)
+    #SET(CMAKE_BUILD_TYPE "Debug")
+    SET(CMAKE_BUILD_TYPE "Release")
+    MESSAGE("No CMAKE_BUILD_TYPE specified, defaulting to ${CMAKE_BUILD_TYPE}") 
+ENDIF(NOT CMAKE_BUILD_TYPE)
+
+# to distinguish between debug and release lib
+SET(CMAKE_DEBUG_POSTFIX "d")
+
+SET(freetype_SRCS
+    src/autofit/autofit.c
+    src/bdf/bdf.c
+    src/cff/cff.c
+    src/base/ftbase.c
+    src/base/ftbitmap.c
+    src/cache/ftcache.c
+    src/base/ftfstype.c
+    src/base/ftgasp.c
+    src/base/ftglyph.c
+    src/gzip/ftgzip.c
+    src/base/ftinit.c
+    src/lzw/ftlzw.c
+    src/base/ftstroke.c
+    src/base/ftsystem.c
+    src/smooth/smooth.c
+    src/base/ftbbox.c
+    src/base/ftmm.c
+    src/base/ftpfr.c
+    src/base/ftsynth.c
+    src/base/fttype1.c
+    src/base/ftwinfnt.c
+    src/base/ftxf86.c
+    src/base/ftlcdfil.c
+    src/base/ftgxval.c
+    src/base/ftotval.c
+    src/base/ftpatent.c
+    src/pcf/pcf.c
+    src/pfr/pfr.c
+    src/psaux/psaux.c
+    src/pshinter/pshinter.c
+    src/psnames/psmodule.c
+    src/raster/raster.c
+    src/sfnt/sfnt.c
+    src/truetype/truetype.c
+    src/type1/type1.c
+    src/cid/type1cid.c
+    src/type42/type42.c
+    src/winfonts/winfnt.c
+)
+
+SET(freetype_HDRS
+    include/ft2build.h
+    include/freetype/config/ftconfig.h
+    include/freetype/config/ftheader.h
+    include/freetype/config/ftmodule.h
+    include/freetype/config/ftoption.h
+    include/freetype/config/ftstdlib.h
+)
+
+INCLUDE_DIRECTORIES(include)
+
+ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS -DFT2_BUILD_LIBRARY)
+SET(COMPILE_DEFINITIONS_DEBUG FT_DEBUG_LEVEL_ERROR FT_DEBUG_LEVEL_TRACE)
+
+IF(WIN32)
+    LIST(APPEND freetype_SRCS builds/win32/ftdebug.c)
+ENDIF(WIN32)
+
+ADD_LIBRARY(freetype ${freetype_SRCS} ${freetype_HDRS})
+
+INSTALL(TARGETS freetype
+    RUNTIME DESTINATION bin
+    ARCHIVE DESTINATION lib
+    LIBRARY DESTINATION lib)
+
+INSTALL(DIRECTORY include/ DESTINATION include)
+

+ 37 - 37
Dependencies/CMakeLists.txt

@@ -13,69 +13,69 @@ IF(NOT POLYCODE_RELEASE_DIR)
     MESSAGE("No POLYCODE_RELEASE_DIR specified, to ${POLYCODE_RELEASE_DIR}") 
 ENDIF(NOT POLYCODE_RELEASE_DIR)
 
-IF(NOT POLYCODE_EXTERNALS_DOWNLOAD_DIR)
-    SET(POLYCODE_EXTERNALS_DOWNLOAD_DIR ${PolycodeDependencies_SOURCE_DIR}/Downloads)
-    MESSAGE("No POLYCODE_EXTERNALS_DOWNLOAD_DIR specified, to ${POLYCODE_EXTERNALS_DOWNLOAD_DIR}") 
-ENDIF(NOT POLYCODE_EXTERNALS_DOWNLOAD_DIR)
+IF(NOT POLYCODE_DEPS_DOWNLOAD_DIR)
+    SET(POLYCODE_DEPS_DOWNLOAD_DIR ${PolycodeDependencies_SOURCE_DIR}/Downloads)
+    MESSAGE("No POLYCODE_DEPS_DOWNLOAD_DIR specified, to ${POLYCODE_DEPS_DOWNLOAD_DIR}") 
+ENDIF(NOT POLYCODE_DEPS_DOWNLOAD_DIR)
 
-SET(POLYCODE_EXTERNALS_CORE_PREFIX ${POLYCODE_RELEASE_DIR}/Framework/Core/Dependencies)
-SET(POLYCODE_EXTERNALS_MODULES_PREFIX ${POLYCODE_RELEASE_DIR}/Framework/Modules/Dependencies)
-SET(POLYCODE_EXTERNALS_TOOLS_PREFIX ${POLYCODE_RELEASE_DIR}/Framework/Tools/Dependencies)
+SET(POLYCODE_DEPS_CORE_PREFIX ${POLYCODE_RELEASE_DIR}/Framework/Core/Dependencies)
+SET(POLYCODE_DEPS_MODULES_PREFIX ${POLYCODE_RELEASE_DIR}/Framework/Modules/Dependencies)
+SET(POLYCODE_DEPS_TOOLS_PREFIX ${POLYCODE_RELEASE_DIR}/Framework/Tools/Dependencies)
 
 # Download and build all dependencies on Windows and Mac
 IF(APPLE OR WIN32)
-    SET(common_externals ON)
+    SET(common_deps ON)
 ELSE()
-    SET(common_externals OFF)
+    SET(common_deps OFF)
 ENDIF()
 
 # Options for what components should be downloaded and built
-OPTION(POLYCODE_EXTERNAL_PHYSFS "Download and build the PhysFS package" ${common_externals})
+OPTION(POLYCODE_DEPS_PHYSFS "Download and build the PhysFS package" ${common_deps})
 #OPTION(OpenGL REQUIRED)
-OPTION(POLYCODE_EXTERNAL_GLEXT "Download additional OpenGL headers" ${common_externals})
-OPTION(POLYCODE_EXTERNAL_OPENAL "Download and build the OpenAL package" ${common_externals})
-OPTION(POLYCODE_EXTERNAL_FREETYPE "Download and build the Freetype2 package" ${common_externals})
-OPTION(POLYCODE_EXTERNAL_PNG "Download and build the PNG package" ${common_externals})
-OPTION(POLYCODE_EXTERNAL_VORBISFILE "Download and build the Vorbis File package" ${common_externals})
+OPTION(POLYCODE_DEPS_GLEXT "Download additional OpenGL headers" ${common_deps})
+OPTION(POLYCODE_DEPS_OPENAL "Download and build the OpenAL package" ${common_deps})
+OPTION(POLYCODE_DEPS_FREETYPE "Download and build the Freetype2 package" ${common_deps})
+OPTION(POLYCODE_DEPS_PNG "Download and build the PNG package" ${common_deps})
+OPTION(POLYCODE_DEPS_OGGVORBIS "Download and build the Ogg Vorbis packages" ${common_deps})
 
-OPTION(POLYCODE_EXTERNAL_BOX2D "Download and build the Box2D package" ON)
-OPTION(POLYCODE_EXTERNAL_BULLET "Download and build the Bullet package" ON)
-OPTION(POLYCODE_EXTERNAL_ASSIMP "Download and build the Assimp package" ON)
+OPTION(POLYCODE_DEPS_BOX2D "Download and build the Box2D package" ON)
+OPTION(POLYCODE_DEPS_BULLET "Download and build the Bullet package" ON)
+OPTION(POLYCODE_DEPS_ASSIMP "Download and build the Assimp package" ON)
 
 # Some non-standard CMake modules
 SET(CMAKE_MODULE_PATH ${PolycodeDependencies_SOURCE_DIR}/../CMake)
 
-IF(POLYCODE_EXTERNAL_PNG)
+IF(POLYCODE_DEPS_PNG)
     INCLUDE(ExternalPNG)
-ENDIF(POLYCODE_EXTERNAL_PNG)
+ENDIF(POLYCODE_DEPS_PNG)
 
-IF(POLYCODE_EXTERNAL_PHYSFS)
+IF(POLYCODE_DEPS_PHYSFS)
     INCLUDE(ExternalPhysFS)
-ENDIF(POLYCODE_EXTERNAL_PHYSFS)
+ENDIF(POLYCODE_DEPS_PHYSFS)
 
-IF(POLYCODE_EXTERNAL_OPENAL)
+IF(POLYCODE_DEPS_OPENAL)
     INCLUDE(ExternalOpenAL)
-ENDIF(POLYCODE_EXTERNAL_OPENAL)
+ENDIF(POLYCODE_DEPS_OPENAL)
 
-IF(POLYCODE_EXTERNAL_FREETYPE)
+IF(POLYCODE_DEPS_FREETYPE)
     INCLUDE(ExternalFreetype)
-ENDIF(POLYCODE_EXTERNAL_FREETYPE)
+ENDIF(POLYCODE_DEPS_FREETYPE)
 
-IF(POLYCODE_EXTERNAL_VORBISFILE)
-    INCLUDE(ExternalVorbisFile)
-ENDIF(POLYCODE_EXTERNAL_VORBISFILE)
+IF(POLYCODE_DEPS_OGGVORBIS)
+    INCLUDE(ExternalOggVorbis)
+ENDIF(POLYCODE_DEPS_OGGVORBIS)
 
-IF(POLYCODE_EXTERNAL_BOX2D)
+IF(POLYCODE_DEPS_BOX2D)
     INCLUDE(ExternalBox2D)
-ENDIF(POLYCODE_EXTERNAL_BOX2D)
+ENDIF(POLYCODE_DEPS_BOX2D)
 
-IF(POLYCODE_EXTERNAL_BULLET)
+IF(POLYCODE_DEPS_BULLET)
     INCLUDE(ExternalBullet)
-ENDIF(POLYCODE_EXTERNAL_BULLET)
+ENDIF(POLYCODE_DEPS_BULLET)
 
-IF(POLYCODE_EXTERNAL_ASSIMP)
+IF(POLYCODE_DEPS_ASSIMP)
     INCLUDE(ExternalAssimp)
-ENDIF(POLYCODE_EXTERNAL_ASSIMP)
+ENDIF(POLYCODE_DEPS_ASSIMP)
 
 # Use SDL on non-Apple unixes
 #IF(UNIX AND NOT APPLE)
@@ -83,6 +83,6 @@ ENDIF(POLYCODE_EXTERNAL_ASSIMP)
 #ENDIF(UNIX AND NOT APPLE)
 
 # Get missing GL headers for Windows
-IF(POLYCODE_EXTERNAL_GLEXT)
+IF(POLYCODE_DEPS_GLEXT)
     INCLUDE(ExternalGLExt)
-ENDIF(POLYCODE_EXTERNAL_GLEXT)
+ENDIF(POLYCODE_DEPS_GLEXT)