[Thuban-commits] r2898 - in trunk/thuban/libraries/thuban: . cmake

scm-commit@wald.intevation.org scm-commit at wald.intevation.org
Fri Jul 15 14:03:42 CEST 2011


Author: bricks
Date: 2011-07-15 14:03:40 +0200 (Fri, 15 Jul 2011)
New Revision: 2898

Added:
   trunk/thuban/libraries/thuban/CMakeLists.txt
   trunk/thuban/libraries/thuban/cmake/
   trunk/thuban/libraries/thuban/cmake/FindPythonInterp.cmake
Log:
Create cmake buildsystem for wproj to be able to build 
it standalone to run the tests


Added: trunk/thuban/libraries/thuban/CMakeLists.txt
===================================================================
--- trunk/thuban/libraries/thuban/CMakeLists.txt	2011-07-15 07:56:25 UTC (rev 2897)
+++ trunk/thuban/libraries/thuban/CMakeLists.txt	2011-07-15 12:03:40 UTC (rev 2898)
@@ -0,0 +1,33 @@
+project(wxproj)
+
+cmake_minimum_required(VERSION 2.6)
+
+list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
+
+find_package(PythonInterp REQUIRED)
+set(Python_ADDITIONAL_VERSIONS ${PYTHON_VERSION_STRING})
+find_package(PythonLibs 2.3 REQUIRED)
+find_package(wxWidgets REQUIRED)
+
+set(wxproj_SRCS
+    wxproj.cpp
+    )
+
+include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${PYTHON_INCLUDE_DIRS} 
+    ${CMAKE_CURRENT_SOURCE_DIR}/../shapelib
+    ${CMAKE_CURRENT_SOURCE_DIR}/../pyshapelib
+    )
+include(${wxWidgets_USE_FILE})
+
+add_library(wxproj MODULE ${wxproj_SRCS})
+
+# add a FindProj.cmake script
+target_link_libraries(wxproj ${PYTHON_LIBRARIES} ${wxWidgets_LIBRARIES} proj)
+
+set_target_properties(wxproj PROPERTIES PREFIX "" OUTPUT_NAME wxproj)
+
+set(wxproj_INSTALL_PATH "python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages/")
+
+install(TARGETS wxproj LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/${wxproj_INSTALL_PATH})
+
+

Added: trunk/thuban/libraries/thuban/cmake/FindPythonInterp.cmake
===================================================================
--- trunk/thuban/libraries/thuban/cmake/FindPythonInterp.cmake	2011-07-15 07:56:25 UTC (rev 2897)
+++ trunk/thuban/libraries/thuban/cmake/FindPythonInterp.cmake	2011-07-15 12:03:40 UTC (rev 2898)
@@ -0,0 +1,59 @@
+# - Find python interpreter
+# This module finds if Python interpreter is installed and determines where the
+# executables are. This code sets the following variables:
+#
+#  PYTHONINTERP_FOUND         - Was the Python executable found
+#  PYTHON_EXECUTABLE          - path to the Python interpreter
+#  Python_ADDITIONAL_VERSIONS - list of additional Python versions to search for
+#
+
+#=============================================================================
+# Copyright 2005-2010 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.)
+
+find_program(PYTHON_EXECUTABLE NAMES python)
+
+# Set up the versions we know about, in the order we will search. Always add
+# the user supplied additional versions to the front.
+set(_Python_VERSIONS
+  ${Python_ADDITIONAL_VERSIONS}
+  2.7 2.6 2.5 2.4 2.3 2.2 2.1 2.0 1.6 1.5)
+
+# Run first with the Python version in the executable
+
+if(NOT PYTHON_EXECUTABLE)
+    foreach(_CURRENT_VERSION ${_Python_VERSIONS})
+      set(_Python_NAMES python${_CURRENT_VERSION})
+      if(WIN32)
+        list(APPEND _Python_NAMES python)
+      endif()
+      find_program(PYTHON_EXECUTABLE
+        NAMES ${_Python_NAMES}
+        PATHS [HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${_CURRENT_VERSION}\\InstallPath]
+        )
+    endforeach()
+endif()
+
+if(PYTHON_EXECUTABLE)
+    execute_process(COMMAND "${PYTHON_EXECUTABLE}" --version ERROR_VARIABLE _VERSION OUTPUT_QUIET ERROR_STRIP_TRAILING_WHITESPACE)
+    string(REPLACE "Python " "" PYTHON_VERSION_STRING "${_VERSION}")
+    STRING(REGEX REPLACE "^([0-9]+)\\.[0-9]+\\.[0-9]+.*" "\\1" PYTHON_VERSION_MAJOR "${PYTHON_VERSION_STRING}")
+    STRING(REGEX REPLACE "^[0-9]+\\.([0-9])+\\.[0-9]+.*" "\\1" PYTHON_VERSION_MINOR "${PYTHON_VERSION_STRING}")
+    STRING(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" PYTHON_VERSION_PATCH "${PYTHON_VERSION_STRING}")
+endif()
+
+# handle the QUIETLY and REQUIRED arguments and set PYTHONINTERP_FOUND to TRUE if
+# all listed variables are TRUE
+find_package(PackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(PythonInterp DEFAULT_MSG PYTHON_EXECUTABLE)
+
+mark_as_advanced(PYTHON_EXECUTABLE)



More information about the Thuban-commits mailing list