Add first iteration of SDK building.

Builds a PolyVox NSIS installer with the 'package' target.
This commit is contained in:
Matt Williams 2009-03-26 18:03:21 +00:00
parent 5955a29a46
commit a9ab2f2d4d
5 changed files with 57 additions and 11 deletions

View File

@ -2,5 +2,12 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT(PolyVox)
SET(POLYVOX_VERSION_MAJOR "0")
SET(POLYVOX_VERSION_MINOR "1")
SET(POLYVOX_VERSION_PATCH "0")
SET(POLYVOX_VERSION "${POLYVOX_VERSION_MAJOR}.${POLYVOX_VERSION_MINOR}.${POLYVOX_VERSION_PATCH}")
ADD_SUBDIRECTORY(library)
ADD_SUBDIRECTORY(examples/OpenGL)
INCLUDE(Packaging.cmake)

32
Packaging.cmake Normal file
View File

@ -0,0 +1,32 @@
#INCLUDE(InstallRequiredSystemLibraries)
SET(CPACK_PACKAGE_NAME "PolyVox SDK")
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "PolyVox SDK")
SET(CPACK_PACKAGE_VENDOR "Thermite 3D Team")
#SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/ReadMe.txt")
#SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt")
SET(CPACK_PACKAGE_VERSION_MAJOR ${POLYVOX_VERSION_MAJOR})
SET(CPACK_PACKAGE_VERSION_MINOR ${POLYVOX_VERSION_MINOR})
SET(CPACK_PACKAGE_VERSION_PATCH ${POLYVOX_VERSION_PATCH})
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "PolyVox SDK ${POLYVOX_VERSION}")
IF(WIN32 AND NOT UNIX)
# There is a bug in NSIS that does not handle full unix paths properly.
# Make sure there is at least one set of four backslashes.
#SET(CPACK_PACKAGE_ICON "${CMake_SOURCE_DIR}/Utilities/Release\\\\InstallIcon.bmp")
#SET(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\\\MyExecutable.exe")
SET(CPACK_NSIS_DISPLAY_NAME "PolyVox SDK ${POLYVOX_VERSION}")
SET(CPACK_NSIS_HELP_LINK "http:\\\\\\\\thermite3d.org/phpBB/")
SET(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\thermite3d.org")
SET(CPACK_NSIS_CONTACT "matt@milliams.com")
SET(CPACK_NSIS_MODIFY_PATH ON)
ELSE(WIN32 AND NOT UNIX)
#SET(CPACK_STRIP_FILES "bin/MyExecutable")
#SET(CPACK_SOURCE_STRIP_FILES "")
ENDIF(WIN32 AND NOT UNIX)
#SET(CPACK_PACKAGE_EXECUTABLES "MyExecutable" "My Executable")
INCLUDE(CPack)
CPACK_ADD_COMPONENT(library DISPLAY_NAME "Library" DESCRIPTION "The runtime libraries" REQUIRED)
CPACK_ADD_COMPONENT(development DISPLAY_NAME "Development" DESCRIPTION "Files required for developing with PolyVox" DEPENDS library)
CPACK_ADD_COMPONENT(example DISPLAY_NAME "OpenGL Example" DESCRIPTION "A PolyVox example application using OpenGL" DEPENDS library)

View File

@ -39,3 +39,12 @@ Define the following terms:
-Volume
-Region
-Block
Packaging
=========
Create components for the NSIS installer (Library, bindings, examples, documentation) - Half done
Add License
Add images for installer (and icons)
Set LZMA compression
Find a way to include both debug and release builds?
The .lib files should be part of the 'development' configuration?

View File

@ -55,7 +55,8 @@ IF (WIN32)
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
COMPONENT example
)
ADD_DEPENDENCIES(OpenGLExample PolyVoxCore)
ADD_DEPENDENCIES(OpenGLExample PolyVoxCore) #This shouldn't be needed
ENDIF (WIN32)

View File

@ -2,11 +2,6 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT(PolyVoxCore)
SET(POLYVOX_VERSION_MAJOR "0")
SET(POLYVOX_VERSION_MINOR "1")
SET(POLYVOX_VERSION_PATCH "0")
SET(POLYVOX_VERSION "${POLYVOX_VERSION_MAJOR}.${POLYVOX_VERSION_MINOR}.${POLYVOX_VERSION_PATCH}")
#Projects source files
SET(CORE_SRC_FILES
source/PolyVoxCore/GradientEstimators.cpp
@ -103,9 +98,10 @@ INSTALL(TARGETS PolyVoxCore
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
COMPONENT library
)
INSTALL(FILES ${CORE_INC_FILES} DESTINATION include/PolyVoxCore)
INSTALL(FILES ${CORE_INC_FILES} DESTINATION include/PolyVoxCore COMPONENT development)
#Util
#Build
@ -121,9 +117,10 @@ INSTALL(TARGETS PolyVoxUtil
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
COMPONENT library
)
INSTALL(FILES ${UTIL_INC_FILES} DESTINATION include/PolyVoxUtil)
INSTALL(FILES ${UTIL_INC_FILES} DESTINATION include/PolyVoxUtil COMPONENT development)
#Set up PolyVoxConfig.cmake
if(WIN32)
@ -133,7 +130,7 @@ else(WIN32)
endif(WIN32)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/PolyVoxConfig.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/PolyVoxConfig.cmake @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/PolyVoxConfig.cmake DESTINATION ${CONFIG_FILE_DIR})
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/PolyVoxConfig.cmake DESTINATION ${CONFIG_FILE_DIR} COMPONENT development)
find_package(Doxygen)
if(DOXYGEN_FOUND)