[artoolkit-commits] SF.net SVN: artoolkit:[286] branches/hartmut-pre-2_8/artoolkit
Optical marker tracking and overlay for augmented reality.
Brought to you by:
philip_lamb
|
From: <ret...@us...> - 2008-08-18 23:28:25
|
Revision: 286
http://artoolkit.svn.sourceforge.net/artoolkit/?rev=286&view=rev
Author: retrakker
Date: 2008-08-18 23:28:29 +0000 (Mon, 18 Aug 2008)
Log Message:
-----------
- modified CMake build system to work on Windows
- included packaging module for ARToolKit SDK
Modified Paths:
--------------
branches/hartmut-pre-2_8/artoolkit/CMakeLists.txt
branches/hartmut-pre-2_8/artoolkit/CMakeModules/ARToolKitHelper.cmake
branches/hartmut-pre-2_8/artoolkit/examples/simpleLite/CMakeLists.txt
branches/hartmut-pre-2_8/artoolkit/lib/CMakeLists.txt
branches/hartmut-pre-2_8/artoolkit/util/mk_patt/CMakeLists.txt
Added Paths:
-----------
branches/hartmut-pre-2_8/artoolkit/CMakeModules/FindDirectShow.cmake
branches/hartmut-pre-2_8/artoolkit/CMakeModules/Packaging.cmake.in
Property Changed:
----------------
branches/hartmut-pre-2_8/artoolkit/
Property changes on: branches/hartmut-pre-2_8/artoolkit
___________________________________________________________________
Added: svn:ignore
+ build*
Modified: branches/hartmut-pre-2_8/artoolkit/CMakeLists.txt
===================================================================
--- branches/hartmut-pre-2_8/artoolkit/CMakeLists.txt 2008-08-18 23:24:59 UTC (rev 285)
+++ branches/hartmut-pre-2_8/artoolkit/CMakeLists.txt 2008-08-18 23:28:29 UTC (rev 286)
@@ -4,39 +4,95 @@
# (c) Copyright 2007-2008, HITLabNZ, Hartmut Seichter #
##############################################################################
-PROJECT(ARToolKit)
+cmake_minimum_required(VERSION 2.4)
-SET(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMakeModules" ${CMAKE_MODULE_PATH})
+if(COMMAND cmake_policy)
+ cmake_policy(SET CMP0003 NEW)
+endif(COMMAND cmake_policy)
-SET(ARTOOLKIT_VERSION_MAJOR 2)
-SET(ARTOOLKIT_VERSION_MINOR 72)
-SET(ARTOOLKIT_VERSION_TINY 3)
-SET(ARTOOLKIT_VERSION_REV 99)
+project(ARToolKit)
-SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin)
-SET(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib)
+set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMakeModules" ${CMAKE_MODULE_PATH})
+set(ARTOOLKIT_VERSION_MAJOR 2)
+set(ARTOOLKIT_VERSION_MINOR 72)
+set(ARTOOLKIT_VERSION_TINY 3)
+set(ARTOOLKIT_VERSION_REV 99)
-IF (APPLE)
- SET(CMAKE_OSX_ARCHITECTURES ppc;i386)
- SET(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.4u.sdk)
-ENDIF(APPLE)
+set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/bin CACHE PATH "Executable output folder")
+set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib CACHE PATH "Library output folder")
-IF (UNIX)
- SET(USE_GSTREAMER 0)
+#
+# Preset for Visual Studio products
+#
+if(MSVC)
- INCLUDE(FindGStreamer)
+ set(GLUT_ROOT_PATH "${CMAKE_SOURCE_DIR}/lib/SRC/_ext/glut-3.7.6-bin" CACHE PATH "GLUT root folder")
+ set(GLUT_glut_LIBRARY "${CMAKE_SOURCE_DIR}/lib/SRC/_ext/glut-3.7.6-bin/lib/glut32.lib" CACHE FILENAME "GLUT include library")
+
+ install(FILES
+ ${CMAKE_SOURCE_DIR}/lib/SRC/_ext/glut-3.7.6-bin/lib/glut32.dll
+ DESTINATION bin
+ )
+
+endif(MSVC)
- IF(GSTREAMER_FOUND)
+if(WIN32)
+ install(DIRECTORY ${CMAKE_SOURCE_DIR}/bin/Data
+ DESTINATION bin
+ PATTERN ".svn" EXCLUDE
+ )
+endif(WIN32)
+
+install(FILES
+ ChangeLog.txt
+ COPYING.txt
+ README.txt
+ DESTINATION share/artoolkit_2
+ )
+
+#
+# Depending on what is available we work our way through
+#
+find_package(OpenGL)
+find_package(GLUT)
+
+
+if (APPLE)
+ set(CMAKE_OSX_ARCHITECTURES ppc;i386)
+ set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.4u.sdk)
+endif(APPLE)
+
+if (UNIX)
+ set(USE_GSTREAMER 0)
+
+ include(FindGStreamer)
+
+ if(GSTREAMER_FOUND)
SET(USE_GSTREAMER 1)
- ENDIF(GSTREAMER_FOUND)
-ENDIF(UNIX)
+ endif(GSTREAMER_FOUND)
+endif(UNIX)
# right order of include files is important
-INCLUDE_DIRECTORIES(${CMAKE_BINARY_DIR}/include ${CMAKE_SOURCE_DIR}/include)
+include_directories(${CMAKE_BINARY_DIR}/include ${CMAKE_SOURCE_DIR}/include)
-INCLUDE(ARToolKitHelper)
+include(ARToolKitHelper)
-ADD_SUBDIRECTORY(lib)
-ADD_SUBDIRECTORY(util)
-ADD_SUBDIRECTORY(examples)
+add_subdirectory(lib)
+add_subdirectory(util)
+add_subdirectory(examples)
+
+
+#
+# Optional packaging for SDK
+#
+option(ARTOOLKIT_BUILD_PACKAGE "Build distribution packages" OFF)
+if(ARTOOLKIT_BUILD_PACKAGE)
+ configure_file(
+ ${CMAKE_SOURCE_DIR}/CMakeModules/Packaging.cmake.in
+ ${CMAKE_BINARY_DIR}/.cpack/ARTKPackaging.cmake
+ @ONLY
+ )
+ include(${CMAKE_BINARY_DIR}/.cpack/ARTKPackaging.cmake)
+endif (ARTOOLKIT_BUILD_PACKAGE)
+
Modified: branches/hartmut-pre-2_8/artoolkit/CMakeModules/ARToolKitHelper.cmake
===================================================================
--- branches/hartmut-pre-2_8/artoolkit/CMakeModules/ARToolKitHelper.cmake 2008-08-18 23:24:59 UTC (rev 285)
+++ branches/hartmut-pre-2_8/artoolkit/CMakeModules/ARToolKitHelper.cmake 2008-08-18 23:28:29 UTC (rev 286)
@@ -13,7 +13,43 @@
ADD_EXECUTABLE(${EXE_NAME} MACOSX_BUNDLE ${SRCS} ${_datafiles})
ELSE(APPLE)
- ADD_EXECUTABLE(${EXE_NAME} WIN32 ${SRCS} ${_datafiles})
+ ADD_EXECUTABLE(${EXE_NAME} ${SRCS} ${_datafiles})
ENDIF(APPLE)
ENDMACRO(ARTOOLKIT_EXECUTABLE)
+macro(artoolkit_lib_install target)
+
+ if (WIN32)
+ set(lib_dest bin)
+ else (WIN32)
+ set(lib_dest lib)
+ endif(WIN32)
+
+
+ install(TARGETS ${target}
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION ${lib_dest}
+ RUNTIME DESTINATION bin
+ PUBLIC_HEADER DESTINATION include/AR
+ )
+
+endmacro(artoolkit_lib_install target)
+
+macro(artoolkit_exe_install target)
+
+ if (WIN32)
+ set(lib_dest bin)
+ else (WIN32)
+ set(lib_dest lib)
+ endif(WIN32)
+
+
+ install(TARGETS ${target}
+ ARCHIVE DESTINATION lib
+ LIBRARY DESTINATION ${lib_dest}
+ RUNTIME DESTINATION bin
+ PUBLIC_HEADER DESTINATION include/AR
+ )
+
+endmacro(artoolkit_exe_install target)
+
Added: branches/hartmut-pre-2_8/artoolkit/CMakeModules/FindDirectShow.cmake
===================================================================
--- branches/hartmut-pre-2_8/artoolkit/CMakeModules/FindDirectShow.cmake (rev 0)
+++ branches/hartmut-pre-2_8/artoolkit/CMakeModules/FindDirectShow.cmake 2008-08-18 23:28:29 UTC (rev 286)
@@ -0,0 +1,107 @@
+# - Test for DirectShow on Windows.
+# Once loaded this will define
+# DIRECTSHOW_FOUND - system has DirectShow
+# DIRECTSHOW_INCLUDE_DIRS - include directory for DirectShow
+# DIRECTSHOW_LIBRARIES - libraries you need to link to
+
+SET(DIRECTSHOW_FOUND "NO")
+
+# DirectShow is only available on Windows platforms
+IF(MSVC)
+ # Find DirectX Include Directory (dshow depends on it)
+ FIND_PATH(DIRECTX_INCLUDE_DIR ddraw.h
+ # WindowsSDK: includes ddraw and dshow
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows;CurrentInstallFolder]/Include"
+ # VS 7.1 PlatformSDK: includes ddraw and dshow
+ "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\VisualStudio\\7.1\\Setup\\VC;ProductDir]/PlatformSDK/Include"
+ # Newer DirectX: dshow not included; requires Platform SDK
+ "$ENV{DXSDK_DIR}/Include"
+ # Older DirectX: dshow included
+ "C:/DXSDK/Include"
+ DOC "What is the path where the file ddraw.h can be found"
+ NO_DEFAULT_PATH
+ )
+
+ # if DirectX found, then find DirectShow include directory
+ IF(DIRECTX_INCLUDE_DIR)
+ FIND_PATH(DIRECTSHOW_INCLUDE_DIR dshow.h
+ "${DIRECTX_INCLUDE_DIR}"
+ "C:/Program Files/Microsoft Platform SDK for Windows Server 2003 R2/Include"
+ "C:/Program Files/Microsoft Platform SDK/Include"
+ DOC "What is the path where the file dshow.h can be found"
+ NO_DEFAULT_PATH
+ )
+
+ # if DirectShow include dir found, then find DirectShow libraries
+ IF(DIRECTSHOW_INCLUDE_DIR)
+ IF(CMAKE_CL_64)
+ FIND_LIBRARY(DIRECTSHOW_STRMIIDS_LIBRARY strmiids
+ "${DIRECTSHOW_INCLUDE_DIR}/../Lib/x64"
+ DOC "Where can the DirectShow strmiids library be found"
+ NO_DEFAULT_PATH
+ )
+ FIND_LIBRARY(DIRECTSHOW_QUARTZ_LIBRARY quartz
+ "${DIRECTSHOW_INCLUDE_DIR}/../Lib/x64"
+ DOC "Where can the DirectShow quartz library be found"
+ NO_DEFAULT_PATH
+ )
+ ELSE(CMAKE_CL_64)
+ FIND_LIBRARY(DIRECTSHOW_STRMIIDS_LIBRARY strmiids
+ "${DIRECTSHOW_INCLUDE_DIR}/../Lib"
+ "${DIRECTSHOW_INCLUDE_DIR}/../Lib/x86"
+ DOC "Where can the DirectShow strmiids library be found"
+ NO_DEFAULT_PATH
+ )
+ FIND_LIBRARY(DIRECTSHOW_QUARTZ_LIBRARY quartz
+ "${DIRECTSHOW_INCLUDE_DIR}/../Lib"
+ "${DIRECTSHOW_INCLUDE_DIR}/../Lib/x86"
+ DOC "Where can the DirectShow quartz library be found"
+ NO_DEFAULT_PATH
+ )
+ ENDIF(CMAKE_CL_64)
+ ENDIF(DIRECTSHOW_INCLUDE_DIR)
+ ENDIF(DIRECTX_INCLUDE_DIR)
+ENDIF(MSVC)
+
+#---------------------------------------------------------------------
+SET(DIRECTSHOW_INCLUDE_DIRS
+ "${DIRECTX_INCLUDE_DIR}"
+ "${DIRECTSHOW_INCLUDE_DIR}"
+ )
+
+SET(DIRECTSHOW_LIBRARIES
+ "${DIRECTSHOW_STRMIIDS_LIBRARY}"
+ "${DIRECTSHOW_QUARTZ_LIBRARY}"
+ )
+
+#---------------------------------------------------------------------
+INCLUDE (CheckCXXSourceCompiles)
+
+SET(CMAKE_REQUIRED_INCLUDES ${DIRECTSHOW_INCLUDE_DIRS})
+SET(CMAKE_REQUIRED_LIBRARIES ${DIRECTSHOW_LIBRARIES})
+CHECK_CXX_SOURCE_COMPILES("
+ #include <atlbase.h>
+ #include <dshow.h>
+ #include <qedit.h>
+
+ int main()
+ {
+ CComPtr<IFilterGraph2> filter_graph;
+ filter_graph.CoCreateInstance(CLSID_FilterGraph);
+ return 0;
+ }
+" DIRECTSHOW_SOURCE_COMPILES)
+SET(CMAKE_REQUIRED_INCLUDES)
+SET(CMAKE_REQUIRED_LIBRARIES)
+
+#---------------------------------------------------------------------
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(
+ DIRECTSHOW
+ DEFAULT_MSG
+ DIRECTX_INCLUDE_DIR
+ DIRECTSHOW_INCLUDE_DIR
+ DIRECTSHOW_STRMIIDS_LIBRARY
+ DIRECTSHOW_QUARTZ_LIBRARY
+ DIRECTSHOW_SOURCE_COMPILES
+ )
Added: branches/hartmut-pre-2_8/artoolkit/CMakeModules/Packaging.cmake.in
===================================================================
--- branches/hartmut-pre-2_8/artoolkit/CMakeModules/Packaging.cmake.in (rev 0)
+++ branches/hartmut-pre-2_8/artoolkit/CMakeModules/Packaging.cmake.in 2008-08-18 23:28:29 UTC (rev 286)
@@ -0,0 +1,55 @@
+#
+# CPack template for ARToolKit
+#
+# (c) Copyrights 2008 Hartmut Seichter, HIT Lab NZ
+#
+
+include(InstallRequiredSystemLibraries)
+
+set(CPACK_PACKAGE_NAME "ARToolKit")
+set(CPACK_PACKAGE_VENDOR "Human Interface Technology Laboratory New Zealand")
+
+set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "ARToolKit for ${CMAKE_GENERATOR} is an All-In-One package for developing AR applications")
+
+set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/README.txt")
+set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/COPYING.txt")
+
+set(CPACK_PACKAGE_VERSION_MAJOR ${ARTOOLKIT_VERSION_MAJOR})
+set(CPACK_PACKAGE_VERSION_MINOR ${ARTOOLKIT_VERSION_MINOR})
+set(CPACK_PACKAGE_VERSION_PATCH ${ARTOOLKIT_VERSION_TINY})
+
+set(CPACK_PACKAGE_INSTALL_DIRECTORY "ARToolKit2SDK")
+
+set(CPACK_PACKAGE_EXECUTABLES "mk_patt;Make Pattern;simpleLite;Simple Example")
+
+if(WIN32)
+
+ #
+ # For MSVC compilers (and probably others) we need to copy the runtime
+ # to the plugins folder as well
+ #
+
+ set(CPACK_NSIS_MENU_LINKS
+ "bin" "ARToolKit application folder"
+ "share/osgART/ChangeLog.txt" "ARToolKit 2.0 ChangeLog"
+ "share/artoolkit2/README.txt" "ARToolKit ReadMe"
+ "share/artoolkit2/COPYING.txt" "ARToolKit GPL2 License"
+ "share/osgART/doc/html/index.html" "osgART 2.0 API Documentation"
+ "http://artoolkit.sourceforge.net" "ARToolKit website"
+ "http://www.hitlabnz.org" "HIT Lab NZ website"
+ "http://www.artoolworks.com" "ARToolworks website"
+ )
+
+ set(CPACK_NSIS_HELP_LINK "http:\\\\\\\\artoolkit.sourceforge.net")
+ set(CPACK_NSIS_URL_INFO_ABOUT "http:\\\\\\\\artoolkit.sourceforge.net")
+ set(CPACK_NSIS_CONTACT "in...@hi...")
+ set(CPACK_NSIS_DISPLAY_NAME "ARToolKit GPL SDK")
+
+else(WIN32)
+ if (APPLE)
+ set(CPACK_GENERATOR "PackageMaker;STGZ")
+ INCLUDE(CPack)
+ endif(APPLE)
+endif(WIN32)
+
+include(CPack)
Modified: branches/hartmut-pre-2_8/artoolkit/examples/simpleLite/CMakeLists.txt
===================================================================
--- branches/hartmut-pre-2_8/artoolkit/examples/simpleLite/CMakeLists.txt 2008-08-18 23:24:59 UTC (rev 285)
+++ branches/hartmut-pre-2_8/artoolkit/examples/simpleLite/CMakeLists.txt 2008-08-18 23:28:29 UTC (rev 286)
@@ -1,10 +1,11 @@
-SET(EXE_NAME simpleLite)
+set(EXE_NAME simpleLite)
-SET(SRCS simpleLite.c)
+set(SRCS simpleLite.c)
-INCLUDE(FindOpenGL)
-INCLUDE(FindGLUT)
+include_directories(${OPENGL_INCLUDE_DIR} ${GLUT_INCLUDE_DIR})
-ARTOOLKIT_EXECUTABLE(${EXE_NAME} ${SRCS})
+artoolkit_executable(${EXE_NAME} ${SRCS})
-TARGET_LINK_LIBRARIES(${EXE_NAME} AR ARgsub_lite ARvideo ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES})
+target_link_libraries(${EXE_NAME} AR ARgsub_lite ARvideo ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES})
+
+artoolkit_exe_install(${EXE_NAME})
Modified: branches/hartmut-pre-2_8/artoolkit/lib/CMakeLists.txt
===================================================================
--- branches/hartmut-pre-2_8/artoolkit/lib/CMakeLists.txt 2008-08-18 23:24:59 UTC (rev 285)
+++ branches/hartmut-pre-2_8/artoolkit/lib/CMakeLists.txt 2008-08-18 23:28:29 UTC (rev 286)
@@ -1 +1 @@
-ADD_SUBDIRECTORY(SRC)
\ No newline at end of file
+add_subdirectory(SRC)
\ No newline at end of file
Modified: branches/hartmut-pre-2_8/artoolkit/util/mk_patt/CMakeLists.txt
===================================================================
--- branches/hartmut-pre-2_8/artoolkit/util/mk_patt/CMakeLists.txt 2008-08-18 23:24:59 UTC (rev 285)
+++ branches/hartmut-pre-2_8/artoolkit/util/mk_patt/CMakeLists.txt 2008-08-18 23:28:29 UTC (rev 286)
@@ -2,9 +2,16 @@
SET(SRCS mk_patt.c)
-INCLUDE(FindOpenGL)
-INCLUDE(FindGLUT)
+if(GLUT_FOUND)
-ARTOOLKIT_EXECUTABLE(${EXE_NAME} ${SRCS})
+ add_definitions(${GLUT_DEFS})
-TARGET_LINK_LIBRARIES(${EXE_NAME} AR ARgsub_lite ARvideo ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES})
+ include_directories(${GLUT_INCLUDE_DIR} ${OPENGL_INCLUDE_DIR})
+
+ ARTOOLKIT_EXECUTABLE(${EXE_NAME} ${SRCS})
+
+ target_link_libraries(${EXE_NAME} AR ARgsub_lite ARvideo ${OPENGL_LIBRARIES} ${GLUT_LIBRARIES})
+
+ artoolkit_exe_install(${EXE_NAME})
+
+endif(GLUT_FOUND)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|