Просмотр исходного кода

Compiles and links against CMake built debug and release dependencies on Windows.

Cameron Hart 14 лет назад
Родитель
Сommit
0c572e7636

+ 5 - 3
Bindings/Contents/CMakeLists.txt

@@ -17,6 +17,8 @@ SET(polycodeLua_HDRS
     LUA/Include/PolycodeLUA2D.h
 )
 
+SET(CMAKE_DEBUG_POSTFIX "_d")
+
 IF(POLYCODE_BUILD_SHARED)
     ADD_LIBRARY(PolycodeLua SHARED ${polycodeLua_SRCS} ${polycodeLua_HDRS})
     TARGET_LINK_LIBRARIES(PolycodeLua PolyCore ${LUA_LIBRARY})
@@ -30,14 +32,14 @@ ENDIF(POLYCODE_BUILD_STATIC)
 IF(POLYCODE_INSTALL_FRAMEWORK)
     
     # install headers
-    INSTALL(FILES ${polycodeLua_HDRS} DESTINATION Framework/Modules/Include)
+    INSTALL(FILES ${polycodeLua_HDRS} DESTINATION ${POLYCODE_RELEASE_DIR}/Framework/Modules/Include)
 
     # install libraries
     IF(POLYCODE_BUILD_SHARED)
-        INSTALL(TARGETS PolycodeLua DESTINATION Framework/Modules/Lib/${CMAKE_BUILD_TYPE})
+        INSTALL(TARGETS PolycodeLua DESTINATION ${POLYCODE_RELEASE_DIR}/Framework/Modules/Lib)
     ENDIF(POLYCODE_BUILD_SHARED)
     IF(POLYCODE_BUILD_STATIC)
-        INSTALL(TARGETS PolycodeLua_static DESTINATION Framework/Modules/Lib/${CMAKE_BUILD_TYPE})
+        INSTALL(TARGETS PolycodeLua_static DESTINATION ${POLYCODE_RELEASE_DIR}/Framework/Modules/Lib)
     ENDIF(POLYCODE_BUILD_STATIC)
     
 ENDIF(POLYCODE_INSTALL_FRAMEWORK)

+ 2 - 2
CMake/ExternalAssimp.cmake

@@ -23,11 +23,11 @@ INSTALL(DIRECTORY ${install_dir}/include/
 
 # install debug lib
 INSTALL(FILES ${install_dir}/lib/assimp${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_DEPS_TOOLS_PREFIX}/Lib/Debug
+    DESTINATION ${POLYCODE_DEPS_TOOLS_PREFIX}/Lib
     CONFIGURATIONS Debug
     RENAME assimpd${CMAKE_STATIC_LIBRARY_SUFFIX})
 
 # install release lib
 INSTALL(FILES ${install_dir}/lib/assimp${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_DEPS_TOOLS_PREFIX}/Lib/Release
+    DESTINATION ${POLYCODE_DEPS_TOOLS_PREFIX}/Lib
     CONFIGURATIONS Release)

+ 2 - 2
CMake/ExternalBox2D.cmake

@@ -36,12 +36,12 @@ INSTALL(DIRECTORY ${install_dir}/include/
     
 # install debug lib
 INSTALL(FILES ${install_dir}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}Box2D${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_DEPS_MODULES_PREFIX}/Lib/Debug
+    DESTINATION ${POLYCODE_DEPS_MODULES_PREFIX}/Lib
     CONFIGURATIONS Debug
     RENAME Box2D_d${CMAKE_STATIC_LIBRARY_SUFFIX})
 
 # install release lib
 INSTALL(FILES ${install_dir}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}Box2D${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_DEPS_MODULES_PREFIX}/Lib/Release
+    DESTINATION ${POLYCODE_DEPS_MODULES_PREFIX}/Lib
     CONFIGURATIONS Release)
 

+ 8 - 8
CMake/ExternalBullet.cmake

@@ -35,38 +35,38 @@ INSTALL(DIRECTORY ${install_dir}/include/
 
 # install debug libs
 INSTALL(FILES ${install_dir}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}BulletDynamics${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_DEPS_MODULES_PREFIX}/Lib/Debug
+    DESTINATION ${POLYCODE_DEPS_MODULES_PREFIX}/Lib
     CONFIGURATIONS Debug
     RENAME BulletDynamics_d${CMAKE_STATIC_LIBRARY_SUFFIX})
 
 INSTALL(FILES ${install_dir}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}BulletCollision${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_DEPS_MODULES_PREFIX}/Lib/Debug
+    DESTINATION ${POLYCODE_DEPS_MODULES_PREFIX}/Lib
     CONFIGURATIONS Debug
     RENAME BulletCollision_d${CMAKE_STATIC_LIBRARY_SUFFIX})
 
 INSTALL(FILES ${install_dir}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}BulletSoftBody${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_DEPS_MODULES_PREFIX}/Lib/Debug
+    DESTINATION ${POLYCODE_DEPS_MODULES_PREFIX}/Lib
     CONFIGURATIONS Debug
     RENAME BulletSoftBody_d${CMAKE_STATIC_LIBRARY_SUFFIX})
 
 INSTALL(FILES ${install_dir}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}LinearMath${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_DEPS_MODULES_PREFIX}/Lib/Debug
+    DESTINATION ${POLYCODE_DEPS_MODULES_PREFIX}/Lib
     CONFIGURATIONS Debug
     RENAME LinearMath_d${CMAKE_STATIC_LIBRARY_SUFFIX})
 
 # install release libs
 INSTALL(FILES ${install_dir}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}BulletDynamics${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_DEPS_MODULES_PREFIX}/Lib/Release
+    DESTINATION ${POLYCODE_DEPS_MODULES_PREFIX}/Lib
     CONFIGURATIONS Release)
 
 INSTALL(FILES ${install_dir}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}BulletCollision${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_DEPS_MODULES_PREFIX}/Lib/Release
+    DESTINATION ${POLYCODE_DEPS_MODULES_PREFIX}/Lib
     CONFIGURATIONS Release)
 
 INSTALL(FILES ${install_dir}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}BulletSoftBody${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_DEPS_MODULES_PREFIX}/Lib/Release
+    DESTINATION ${POLYCODE_DEPS_MODULES_PREFIX}/Lib
     CONFIGURATIONS Release)
 
 INSTALL(FILES ${install_dir}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}LinearMath${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_DEPS_MODULES_PREFIX}/Lib/Release
+    DESTINATION ${POLYCODE_DEPS_MODULES_PREFIX}/Lib
     CONFIGURATIONS Release)

+ 3 - 3
CMake/ExternalFreetype.cmake

@@ -23,11 +23,11 @@ INSTALL(DIRECTORY ${install_dir}/include/
     FILES_MATCHING PATTERN "*.h")
 
 # install debug libs
-INSTALL(FILES ${install_dir}/lib/freetyped${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Debug
+INSTALL(FILES ${install_dir}/lib/freetype_d${CMAKE_STATIC_LIBRARY_SUFFIX} 
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib
     CONFIGURATIONS Debug)
 
 # install release lib
 INSTALL(FILES ${install_dir}/lib/freetype${CMAKE_STATIC_LIBRARY_SUFFIX}
-    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Release
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib
     CONFIGURATIONS Release)

+ 12 - 12
CMake/ExternalOggVorbis.cmake

@@ -39,52 +39,52 @@ INSTALL(DIRECTORY ${install_dir}/include/
 
 # install debug libs
 INSTALL(FILES ${install_dir}/lib/liboggd${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Debug
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib
     CONFIGURATIONS Debug)
 
 INSTALL(FILES ${install_dir}/lib/libvorbisd${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Debug
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib
     CONFIGURATIONS Debug)
 
 INSTALL(FILES ${install_dir}/lib/libvorbisfiled${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Debug
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib
     CONFIGURATIONS Debug)
 
 # install release lib
 INSTALL(FILES ${install_dir}/lib/libogg${CMAKE_STATIC_LIBRARY_SUFFIX}
-    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Release
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib
     CONFIGURATIONS Release)
 
 INSTALL(FILES ${install_dir}/lib/libvorbis${CMAKE_STATIC_LIBRARY_SUFFIX}
-    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Release
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib
     CONFIGURATIONS Release)
 
 INSTALL(FILES ${install_dir}/lib/libvorbisfile${CMAKE_STATIC_LIBRARY_SUFFIX}
-    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Release
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib
     CONFIGURATIONS Release)
 
 # install debug shared library
 INSTALL(FILES ${install_dir}/bin/liboggd${CMAKE_SHARED_LIBRARY_SUFFIX}
-    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Bin/Debug
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Bin
     CONFIGURATIONS Debug)
 
 INSTALL(FILES ${install_dir}/bin/libvorbisd${CMAKE_SHARED_LIBRARY_SUFFIX}
-    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Bin/Debug
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Bin
     CONFIGURATIONS Debug)
 
 INSTALL(FILES ${install_dir}/bin/libvorbisfiled${CMAKE_SHARED_LIBRARY_SUFFIX}
-    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Bin/Debug
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Bin
     CONFIGURATIONS Debug)
 
 # install release shared library
 INSTALL(FILES ${install_dir}/bin/libogg${CMAKE_SHARED_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Bin/Release
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Bin
     CONFIGURATIONS Release)
 
 INSTALL(FILES ${install_dir}/bin/libvorbis${CMAKE_SHARED_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Bin/Release
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Bin
     CONFIGURATIONS Release)
 
 INSTALL(FILES ${install_dir}/bin/libvorbisfile${CMAKE_SHARED_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Bin/Release
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Bin
     CONFIGURATIONS Release)

+ 8 - 8
CMake/ExternalOpenAL.cmake

@@ -21,23 +21,23 @@ INSTALL(DIRECTORY ${install_dir}/include/
     FILES_MATCHING PATTERN "*.h")
 
 # install debug lib
-INSTALL(FILES ${install_dir}/lib/OpenAL32${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Debug
+INSTALL(FILES ${install_dir}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}OpenAL32${CMAKE_STATIC_LIBRARY_SUFFIX} 
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib
     CONFIGURATIONS Debug
     RENAME OpenAL32d${CMAKE_STATIC_LIBRARY_SUFFIX})
 
 # install release lib
-INSTALL(FILES ${install_dir}/lib/OpenAL32${CMAKE_STATIC_LIBRARY_SUFFIX}
-    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Release
+INSTALL(FILES ${install_dir}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}OpenAL32${CMAKE_STATIC_LIBRARY_SUFFIX}
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib
     CONFIGURATIONS Release)
 
 # install debug shared library
-INSTALL(FILES ${install_dir}/bin/OpenAL32${CMAKE_SHARED_LIBRARY_SUFFIX}
-    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Bin/Debug
+INSTALL(FILES ${install_dir}/bin/${CMAKE_SHARED_LIBRARY_PREFIX}OpenAL32${CMAKE_SHARED_LIBRARY_SUFFIX}
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Bin
     CONFIGURATIONS Debug
     RENAME OpenAL32d${CMAKE_SHARED_LIBRARY_SUFFIX})
 
 # install release shared library
-INSTALL(FILES ${install_dir}/bin/OpenAL32${CMAKE_SHARED_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Bin/Release
+INSTALL(FILES ${install_dir}/bin/${CMAKE_SHARED_LIBRARY_PREFIX}OpenAL32${CMAKE_SHARED_LIBRARY_SUFFIX} 
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Bin
     CONFIGURATIONS Release)

+ 8 - 8
CMake/ExternalPNG.cmake

@@ -37,36 +37,36 @@ INSTALL(DIRECTORY ${install_dir}/include/
 
 # install debug libs
 INSTALL(FILES ${install_dir}/lib/zlibd${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Debug
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib
     CONFIGURATIONS Debug)
 
 INSTALL(FILES ${install_dir}/lib/libpng15d${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Debug
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib
     CONFIGURATIONS Debug)
 
 # install release lib
 INSTALL(FILES ${install_dir}/lib/zlib${CMAKE_STATIC_LIBRARY_SUFFIX}
-    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Release
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib
     CONFIGURATIONS Release)
 
 INSTALL(FILES ${install_dir}/lib/libpng15${CMAKE_STATIC_LIBRARY_SUFFIX}
-    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Release
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib
     CONFIGURATIONS Release)
 
 # install debug shared library
 INSTALL(FILES ${install_dir}/bin/zlibd1${CMAKE_SHARED_LIBRARY_SUFFIX}
-    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Bin/Debug
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Bin
     CONFIGURATIONS Debug)
 
 INSTALL(FILES ${install_dir}/bin/libpng15d${CMAKE_SHARED_LIBRARY_SUFFIX}
-    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Bin/Debug
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Bin
     CONFIGURATIONS Debug)
 
 # install release shared library
 INSTALL(FILES ${install_dir}/bin/zlib1${CMAKE_SHARED_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Bin/Release
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Bin
     CONFIGURATIONS Release)
 
 INSTALL(FILES ${install_dir}/bin/libpng15${CMAKE_SHARED_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Bin/Release
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Bin
     CONFIGURATIONS Release)

+ 4 - 10
CMake/ExternalPhysFS.cmake

@@ -23,32 +23,26 @@ INSTALL(DIRECTORY ${install_dir}/include/
 
 # install debug lib
 INSTALL(FILES ${install_dir}/lib/physfs${CMAKE_STATIC_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Debug
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib
     CONFIGURATIONS Debug
     RENAME physfsd${CMAKE_STATIC_LIBRARY_SUFFIX})
 
 # install release lib
 INSTALL(FILES ${install_dir}/lib/physfs${CMAKE_STATIC_LIBRARY_SUFFIX}
-    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib/Release
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Lib
     CONFIGURATIONS Release)
 
 # install debug shared library
 INSTALL(FILES ${install_dir}/bin/physfs${CMAKE_SHARED_LIBRARY_SUFFIX}
-    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Bin/Debug
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Bin
     CONFIGURATIONS Debug
     RENAME physfsd${CMAKE_SHARED_LIBRARY_SUFFIX})
 
 # install release shared library
 INSTALL(FILES ${install_dir}/bin/physfs${CMAKE_SHARED_LIBRARY_SUFFIX} 
-    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Bin/Release
+    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX}/Bin
     CONFIGURATIONS Release)
 
 
-#INSTALL(DIRECTORY ${install_dir}/bin
-#    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX})
-#INSTALL(DIRECTORY ${install_dir}/lib
-#    DESTINATION ${POLYCODE_DEPS_CORE_PREFIX})
-
-
 
 

+ 12 - 3
CMake/FindBox2D.cmake

@@ -15,9 +15,18 @@ FIND_PATH(BOX2D_INCLUDE_DIR Box2D/Box2D.h
   PATH_SUFFIXES include
 )
 
-SET(BOX2D_NAMES box2d Box2d BOX2D Box2D)
-FIND_LIBRARY(BOX2D_LIBRARY NAMES ${BOX2D_NAMES})
-MARK_AS_ADVANCED(BOX2D_LIBRARY BOX2D_INCLUDE_DIR)
+FIND_LIBRARY(BOX2D_RELEASE_LIBRARY NAMES box2d Box2d BOX2D Box2D)
+FIND_LIBRARY(BOX2D_DEBUG_LIBRARY NAMES box2d_d Box2d_d BOX2D_d Box2D_d)
+
+IF(BOX2D_RELEASE_LIBRARY)
+    IF(BOX2D_DEBUG_LIBRARY)
+        SET(BOX2D_LIBRARY optimized "${BOX2D_RELEASE_LIBRARY}" debug "${BOX2D_DEBUG_LIBRARY}")
+    ELSE()
+        SET(BOX2D_LIBRARY "${BOX2D_RELEASE_LIBRARY}")        # Could add "general" keyword, but it is optional
+    ENDIF()
+ENDIF()
+
+MARK_AS_ADVANCED(BOX2D_LIBRARY BOX2D_RELEASE_LIBRARY BOX2D_DEBUG_LIBRARY BOX2D_INCLUDE_DIR)
 
 # Per-recommendation
 SET(BOX2D_INCLUDE_DIRS "${BOX2D_INCLUDE_DIR}")

+ 84 - 0
CMake/FindOgg.cmake

@@ -0,0 +1,84 @@
+# Copied from http://code.google.com/p/osgaudio/source/browse/trunk/CMakeModules/FindOGG.cmake
+# Locate OGG
+# This module defines XXX_FOUND, XXX_INCLUDE_DIRS and XXX_LIBRARIES standard variables
+#
+# $OGGDIR is an environment variable that would
+# correspond to the ./configure --prefix=$OGGDIR
+# used in building OGG.
+
+SET(OGG_SEARCH_PATHS
+	~/Library/Frameworks
+	/Library/Frameworks
+	/usr/local
+	/usr
+	/sw # Fink
+	/opt/local # DarwinPorts
+	/opt/csw # Blastwave
+	/opt
+)
+
+SET(MSVC_YEAR_NAME)
+IF (MSVC_VERSION GREATER 1599)		# >= 1600
+	SET(MSVC_YEAR_NAME VS2010)
+ELSEIF(MSVC_VERSION GREATER 1499)	# >= 1500
+	SET(MSVC_YEAR_NAME VS2008)
+ELSEIF(MSVC_VERSION GREATER 1399)	# >= 1400
+	SET(MSVC_YEAR_NAME VS2005)
+ELSEIF(MSVC_VERSION GREATER 1299)	# >= 1300
+	SET(MSVC_YEAR_NAME VS2003)
+ELSEIF(MSVC_VERSION GREATER 1199)	# >= 1200
+	SET(MSVC_YEAR_NAME VS6)
+ENDIF()
+
+FIND_PATH(OGG_INCLUDE_DIR
+	NAMES ogg/ogg.h ogg/os_types.h
+	HINTS
+	$ENV{OGGDIR}
+	$ENV{OGG_PATH}
+	PATH_SUFFIXES include
+	PATHS ${OGG_SEARCH_PATHS}
+)
+
+FIND_LIBRARY(OGG_LIBRARY 
+	NAMES ogg libogg
+	HINTS
+	$ENV{OGGDIR}
+	$ENV{OGG_PATH}
+	PATH_SUFFIXES lib lib64 win32/Dynamic_Release "Win32/${MSVC_YEAR_NAME}/x64/Release" "Win32/${MSVC_YEAR_NAME}/Win32/Release"
+	PATHS ${OGG_SEARCH_PATHS}
+)
+
+# First search for d-suffixed libs
+FIND_LIBRARY(OGG_LIBRARY_DEBUG 
+	NAMES oggd ogg_d liboggd libogg_d
+	HINTS
+	$ENV{OGGDIR}
+	$ENV{OGG_PATH}
+	PATH_SUFFIXES lib lib64 win32/Dynamic_Debug "Win32/${MSVC_YEAR_NAME}/x64/Debug" "Win32/${MSVC_YEAR_NAME}/Win32/Debug"
+	PATHS ${OGG_SEARCH_PATHS}
+)
+
+IF(NOT OGG_LIBRARY_DEBUG)
+	# Then search for non suffixed libs if necessary, but only in debug dirs
+	FIND_LIBRARY(OGG_LIBRARY_DEBUG 
+		NAMES ogg libogg
+		HINTS
+		$ENV{OGGDIR}
+		$ENV{OGG_PATH}
+		PATH_SUFFIXES win32/Dynamic_Debug "Win32/${MSVC_YEAR_NAME}/x64/Debug" "Win32/${MSVC_YEAR_NAME}/Win32/Debug"
+		PATHS ${OGG_SEARCH_PATHS}
+	)
+ENDIF()
+
+
+IF(OGG_LIBRARY)
+	IF(OGG_LIBRARY_DEBUG)
+		SET(OGG_LIBRARIES optimized "${OGG_LIBRARY}" debug "${OGG_LIBRARY_DEBUG}")
+	ELSE()
+		SET(OGG_LIBRARIES "${OGG_LIBRARY}")		# Could add "general" keyword, but it is optional
+	ENDIF()
+ENDIF()
+
+# handle the QUIETLY and REQUIRED arguments and set XXX_FOUND to TRUE if all listed variables are TRUE
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(OGG DEFAULT_MSG OGG_LIBRARIES OGG_INCLUDE_DIR)

+ 84 - 0
CMake/FindVorbis.cmake

@@ -0,0 +1,84 @@
+# Copied from http://code.google.com/p/osgaudio/source/browse/trunk/CMakeModules/FindVorbis.cmake
+# Locate Vorbis
+# This module defines XXX_FOUND, XXX_INCLUDE_DIRS and XXX_LIBRARIES standard variables
+#
+# $VORBISDIR is an environment variable that would
+# correspond to the ./configure --prefix=$VORBISDIR
+# used in building Vorbis.
+
+SET(VORBIS_SEARCH_PATHS
+	~/Library/Frameworks
+	/Library/Frameworks
+	/usr/local
+	/usr
+	/sw # Fink
+	/opt/local # DarwinPorts
+	/opt/csw # Blastwave
+	/opt
+)
+
+SET(MSVC_YEAR_NAME)
+IF (MSVC_VERSION GREATER 1599)		# >= 1600
+	SET(MSVC_YEAR_NAME VS2010)
+ELSEIF(MSVC_VERSION GREATER 1499)	# >= 1500
+	SET(MSVC_YEAR_NAME VS2008)
+ELSEIF(MSVC_VERSION GREATER 1399)	# >= 1400
+	SET(MSVC_YEAR_NAME VS2005)
+ELSEIF(MSVC_VERSION GREATER 1299)	# >= 1300
+	SET(MSVC_YEAR_NAME VS2003)
+ELSEIF(MSVC_VERSION GREATER 1199)	# >= 1200
+	SET(MSVC_YEAR_NAME VS6)
+ENDIF()
+
+FIND_PATH(VORBIS_INCLUDE_DIR
+	NAMES vorbis/codec.h
+	HINTS
+	$ENV{VORBISDIR}
+	$ENV{VORBIS_PATH}
+	PATH_SUFFIXES include
+	PATHS ${VORBIS_SEARCH_PATHS}
+)
+
+FIND_LIBRARY(VORBIS_LIBRARY 
+	NAMES vorbis libvorbis
+	HINTS
+	$ENV{VORBISDIR}
+	$ENV{VORBIS_PATH}
+	PATH_SUFFIXES lib lib64 win32/Vorbis_Dynamic_Release "Win32/${MSVC_YEAR_NAME}/x64/Release" "Win32/${MSVC_YEAR_NAME}/Win32/Release"
+	PATHS ${VORBIS_SEARCH_PATHS}
+)
+
+# First search for d-suffixed libs
+FIND_LIBRARY(VORBIS_LIBRARY_DEBUG 
+	NAMES vorbisd vorbis_d libvorbisd libvorbis_d
+	HINTS
+	$ENV{VORBISDIR}
+	$ENV{VORBIS_PATH}
+	PATH_SUFFIXES lib lib64 win32/Vorbis_Dynamic_Debug "Win32/${MSVC_YEAR_NAME}/x64/Debug" "Win32/${MSVC_YEAR_NAME}/Win32/Debug"
+	PATHS ${VORBIS_SEARCH_PATHS}
+)
+
+IF(NOT VORBIS_LIBRARY_DEBUG)
+	# Then search for non suffixed libs if necessary, but only in debug dirs
+	FIND_LIBRARY(VORBIS_LIBRARY_DEBUG 
+		NAMES vorbis libvorbis
+		HINTS
+		$ENV{VORBISDIR}
+		$ENV{VORBIS_PATH}
+		PATH_SUFFIXES win32/Vorbis_Dynamic_Debug "Win32/${MSVC_YEAR_NAME}/x64/Debug" "Win32/${MSVC_YEAR_NAME}/Win32/Debug"
+		PATHS ${VORBIS_SEARCH_PATHS}
+	)
+ENDIF()
+
+
+IF(VORBIS_LIBRARY)
+	IF(VORBIS_LIBRARY_DEBUG)
+		SET(VORBIS_LIBRARIES optimized "${VORBIS_LIBRARY}" debug "${VORBIS_LIBRARY_DEBUG}")
+	ELSE()
+		SET(VORBIS_LIBRARIES "${VORBIS_LIBRARY}")		# Could add "general" keyword, but it is optional
+	ENDIF()
+ENDIF()
+
+# handle the QUIETLY and REQUIRED arguments and set XXX_FOUND to TRUE if all listed variables are TRUE
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(VORBIS DEFAULT_MSG VORBIS_LIBRARIES VORBIS_INCLUDE_DIR)

+ 3 - 3
CMake/PolycodeIncludes.cmake

@@ -1,17 +1,17 @@
 # platform specific defines and include directories for win and sdl
 IF(MSVC)
     ADD_DEFINITIONS(/D_UNICODE /DUNICODE)
-    INCLUDE_DIRECTORIES(${PolyCode_SOURCE_DIR}/Core/Build/MSVC/Polycore)
+    INCLUDE_DIRECTORIES(${Polycode_SOURCE_DIR}/Core/Build/MSVC/Polycore)
 ELSEIF(APPLE)
     ADD_DEFINITIONS(-DGL_GLEXT_PROTOTYPES)
 ELSE(MSVC)
     ADD_DEFINITIONS(-DGL_GLEXT_PROTOTYPES)
-    INCLUDE_DIRECTORIES(${PolyCode_SOURCE_DIR}/Core/Build/Linux)
+    INCLUDE_DIRECTORIES(${Polycode_SOURCE_DIR}/Core/Build/Linux)
 ENDIF(MSVC)
 
 # Set up common include directories
 INCLUDE_DIRECTORIES(
-    ${PolyCode_SOURCE_DIR}/Core/Contents/Include
+    ${Polycode_SOURCE_DIR}/Core/Contents/Include
     ${OPENGL_INCLUDE_DIR}
     ${OPENAL_INCLUDE_DIR}
     ${FREETYPE_INCLUDE_DIR}

+ 1 - 1
CMake/freetype.cmake

@@ -9,7 +9,7 @@ IF(NOT CMAKE_BUILD_TYPE)
 ENDIF(NOT CMAKE_BUILD_TYPE)
 
 # to distinguish between debug and release lib
-SET(CMAKE_DEBUG_POSTFIX "d")
+SET(CMAKE_DEBUG_POSTFIX "_d")
 
 SET(freetype_SRCS
     src/autofit/autofit.c

+ 1 - 1
CMakeLists.txt

@@ -55,7 +55,7 @@ IF(POLYCODE_BUILD_PLAYER)
 ENDIF(POLYCODE_BUILD_PLAYER)
 
 IF(POLYCODE_BUILD_TOOLS)
-    ADD_SUBDIRECTORY(Tools)
+    ADD_SUBDIRECTORY(Tools/Contents)
 ENDIF(POLYCODE_BUILD_TOOLS)
 
 # Install assets and dependencies

+ 12 - 7
Core/Contents/CMakeLists.txt

@@ -3,6 +3,8 @@ FIND_PACKAGE(PNG REQUIRED)
 FIND_PACKAGE(PhysFS REQUIRED)
 FIND_PACKAGE(OpenAL REQUIRED)
 FIND_PACKAGE(Freetype REQUIRED)
+FIND_PACKAGE(Ogg REQUIRED)
+FIND_PACKAGE(Vorbis REQUIRED)
 FIND_PACKAGE(VorbisFile REQUIRED)
 
 # Use SDL on non-Apple unixes
@@ -192,6 +194,8 @@ SET(polycore_HDRS
     Include/tinyxml.h
 )
 
+SET(CMAKE_DEBUG_POSTFIX "_d")
+
 # TODO: iPhone
 #    Include/PolyiPhoneCore.h
 #    Include/Poly_iPhone.h
@@ -216,16 +220,17 @@ ELSE(MSVC)
 ENDIF(MSVC)
 
 IF(POLYCODE_BUILD_SHARED)
-    LINK_LIBRARIES(
+    ADD_LIBRARY(PolyCore SHARED ${polycore_SRCS} ${polycore_HDRS})
+    TARGET_LINK_LIBRARIES(PolyCore
         ${OPENGL_LIBRARIES}
         ${OPENAL_LIBRARY}
         ${PNG_LIBRARIES}
         ${FREETYPE_LIBRARIES}
         ${PHYSFS_LIBRARY}
-        ${VORBISFILE_LIBRARY}
-        ${SDL_LIBRARY}
-    )
-    ADD_LIBRARY(PolyCore SHARED ${polycore_SRCS} ${polycore_HDRS})
+        ${OGG_LIBRARIES}
+        ${VORBIS_LIBRARIES}
+        ${VORBISFILE_LIBRARIES}
+        ${SDL_LIBRARY})
 ENDIF(POLYCODE_BUILD_SHARED)
 
 IF(POLYCODE_BUILD_STATIC)
@@ -238,10 +243,10 @@ IF(POLYCODE_INSTALL_FRAMEWORK)
 
     # install libraries
     IF(POLYCODE_BUILD_SHARED)
-        INSTALL(TARGETS PolyCore EXPORT PolyCore-targets DESTINATION ${POLYCODE_RELEASE_DIR}/Framework/Core/Lib/${CMAKE_BUILD_TYPE})
+        INSTALL(TARGETS PolyCore EXPORT PolyCore-targets DESTINATION ${POLYCODE_RELEASE_DIR}/Framework/Core/Lib)
     ENDIF(POLYCODE_BUILD_SHARED)
     
     IF(POLYCODE_BUILD_STATIC)
-        INSTALL(TARGETS PolyCore_static EXPORT PolyCore-targets DESTINATION ${POLYCODE_RELEASE_DIR}/Framework/Core/Lib/${CMAKE_BUILD_TYPE})
+        INSTALL(TARGETS PolyCore_static EXPORT PolyCore-targets DESTINATION ${POLYCODE_RELEASE_DIR}/Framework/Core/Lib)
     ENDIF(POLYCODE_BUILD_STATIC)
 ENDIF(POLYCODE_INSTALL_FRAMEWORK)

+ 5 - 3
Modules/Contents/2DPhysics/CMakeLists.txt

@@ -16,6 +16,8 @@ INCLUDE_DIRECTORIES(
     Include
 )
 
+SET(CMAKE_DEBUG_POSTFIX "_d")
+
 IF(POLYCODE_BUILD_SHARED)
     LINK_LIBRARIES(${BOX2D_LIBRARIES})
     ADD_LIBRARY(Polycode2DPhysics SHARED ${polycode2DPhysics_SRCS} ${polycode2DPhysics_HDRS})
@@ -30,14 +32,14 @@ ENDIF(POLYCODE_BUILD_STATIC)
 IF(POLYCODE_INSTALL_FRAMEWORK)
     
     # install headers
-    INSTALL(FILES ${polycode2DPhysics_HDRS} DESTINATION Framework/Modules/Include)
+    INSTALL(FILES ${polycode2DPhysics_HDRS} DESTINATION ${POLYCODE_RELEASE_DIR}/Framework/Modules/Include)
 
     # install libraries
     IF(POLYCODE_BUILD_SHARED)
-        INSTALL(TARGETS Polycode2DPhysics DESTINATION Framework/Modules/Lib/${CMAKE_BUILD_TYPE})
+        INSTALL(TARGETS Polycode2DPhysics DESTINATION ${POLYCODE_RELEASE_DIR}/Framework/Modules/Lib)
     ENDIF(POLYCODE_BUILD_SHARED)
     IF(POLYCODE_BUILD_STATIC)
-        INSTALL(TARGETS Polycode2DPhysics_static DESTINATION Framework/Modules/Lib/${CMAKE_BUILD_TYPE})
+        INSTALL(TARGETS Polycode2DPhysics_static DESTINATION ${POLYCODE_RELEASE_DIR}/Framework/Modules/Lib)
     ENDIF(POLYCODE_BUILD_STATIC)
     
 ENDIF(POLYCODE_INSTALL_FRAMEWORK)

+ 10 - 8
Modules/Contents/3DPhysics/CMakeLists.txt

@@ -20,26 +20,28 @@ INCLUDE_DIRECTORIES(
     Include
 )
 
+SET(CMAKE_DEBUG_POSTFIX "_d")
+
 IF(POLYCODE_BUILD_SHARED)
-	LINK_LIBRARIES(${BULLET_LIBRARIES})
-	ADD_LIBRARY(Polycode3DPhysics SHARED ${polycode3DPhysics_SRCS} ${polycode3DPhysics_HDRS})
-	TARGET_LINK_LIBRARIES(Polycode3DPhysics PolyCore)
+    LINK_LIBRARIES(${BULLET_LIBRARIES})
+    ADD_LIBRARY(Polycode3DPhysics SHARED ${polycode3DPhysics_SRCS} ${polycode3DPhysics_HDRS})
+    TARGET_LINK_LIBRARIES(Polycode3DPhysics PolyCore)
 ENDIF(POLYCODE_BUILD_SHARED)
 
 IF(POLYCODE_BUILD_STATIC)
-	ADD_LIBRARY(Polycode3DPhysics_static ${polycode3DPhysics_SRCS} ${polycode3DPhysics_HDRS})
-	TARGET_LINK_LIBRARIES(Polycode3DPhysics_static PolyCore_static)
+    ADD_LIBRARY(Polycode3DPhysics_static ${polycode3DPhysics_SRCS} ${polycode3DPhysics_HDRS})
+    TARGET_LINK_LIBRARIES(Polycode3DPhysics_static PolyCore_static)
 ENDIF(POLYCODE_BUILD_STATIC)
 
 IF(POLYCODE_INSTALL_FRAMEWORK)
     # install headers
-    INSTALL(FILES ${polycode3DPhysics_HDRS} DESTINATION Framework/Modules/Include)
+    INSTALL(FILES ${polycode3DPhysics_HDRS} DESTINATION ${POLYCODE_RELEASE_DIR}/Framework/Modules/Include)
 
     # install libraries
     IF(POLYCODE_BUILD_SHARED)
-        INSTALL(TARGETS Polycode3DPhysics DESTINATION Framework/Modules/Lib/${CMAKE_BUILD_TYPE})
+        INSTALL(TARGETS Polycode3DPhysics DESTINATION ${POLYCODE_RELEASE_DIR}/Framework/Modules/Lib)
     ENDIF()
     IF(POLYCODE_BUILD_STATIC)
-        INSTALL(TARGETS Polycode3DPhysics_static DESTINATION Framework/Modules/Lib/${CMAKE_BUILD_TYPE})
+        INSTALL(TARGETS Polycode3DPhysics_static DESTINATION ${POLYCODE_RELEASE_DIR}/Framework/Modules/Lib)
     ENDIF()
 ENDIF(POLYCODE_INSTALL_FRAMEWORK)

+ 2 - 0
Player/Contents/CMakeLists.txt

@@ -5,6 +5,8 @@ INCLUDE_DIRECTORIES(
     ${Polycode_SOURCE_DIR}/Bindings/Contents/LUA/Include
 )
 
+SET(CMAKE_DEBUG_POSTFIX "_d")
+
 IF(MSVC)
     SET(polycodeplayer_SRCS
         ../Build/MSVC/PolycodePlayer/main.cpp

+ 4 - 2
Tools/Contents/polyimport/CMakeLists.txt

@@ -6,6 +6,8 @@ INCLUDE_DIRECTORIES(
     ${ASSIMP_INCLUDE_DIR} 
     Include)
 
+SET(CMAKE_DEBUG_POSTFIX "_d")
+
 IF(POLYCODE_BUILD_SHARED)
     ADD_EXECUTABLE(polyimport Source/polyimport.cpp Include/polyimport.h)
     TARGET_LINK_LIBRARIES(polyimport PolyCore ${ASSIMP_LIBRARY_RELEASE})
@@ -20,11 +22,11 @@ IF(POLYCODE_INSTALL_FRAMEWORK)
 
     # install exes
     IF(POLYCODE_BUILD_SHARED)
-        INSTALL(TARGETS polyimport DESTINATION Framework/Tools)
+        INSTALL(TARGETS polyimport DESTINATION ${POLYCODE_RELEASE_DIR}/Framework/Tools)
     ENDIF(POLYCODE_BUILD_SHARED)
     
     IF(POLYCODE_BUILD_STATIC)
-        INSTALL(TARGETS polyimport_static DESTINATION Framework/Tools)
+        INSTALL(TARGETS polyimport_static DESTINATION ${POLYCODE_RELEASE_DIR}/Framework/Tools)
     ENDIF(POLYCODE_BUILD_STATIC)
 
 ENDIF(POLYCODE_INSTALL_FRAMEWORK)