1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
###############################################################################
#
# Copyright (2007) Alexander Stukowski
#
# This file is part of OVITO (Open Visualization Tool).
#
# OVITO is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# OVITO is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
PROJECT(BoostPythonScriptingPluginTest)
# Make sure we have a new version of CMake
CMAKE_MINIMUM_REQUIRED(VERSION 2.4.0)
# Make sure Boost library is installed.
FIND_PACKAGE(Boost)
IF(NOT ${Boost_FOUND})
MESSAGE(FATAL_ERROR "Boost library not found.")
ENDIF(NOT ${Boost_FOUND})
INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})
LINK_DIRECTORIES(${Boost_LIBRARY_DIRS})
# Make sure Python is installed.
FIND_PACKAGE(PythonLibs REQUIRED)
INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_PATH})
# Select the right Boost.Python library
SET(BOOST_PYTHON_LIB "boost_python" CACHE STRING "The filename of the Boost.Python library.")
# Modules that use Python have to link libutil too.
IF(NOT WIN32)
SET(PYTHON_UTIL_LIBRARY "util" "dl" "pthread")
ELSE(NOT WIN32)
# No libutil needed on Windows
SET(PYTHON_UTIL_LIBRARY "")
ENDIF(NOT WIN32)
IF(CMAKE_COMPILER_IS_GNUCXX)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ftemplate-depth-100")
ENDIF(CMAKE_COMPILER_IS_GNUCXX)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DBOOST_PYTHON_DYNAMIC_LIB -DBOOST_PYTHON_DYNAMIC_MODULE")
# Create python module
ADD_LIBRARY(HelloWorld SHARED PythonModule.cpp)
TARGET_LINK_LIBRARIES(HelloWorld ${PYTHON_UTIL_LIBRARY} ${PYTHON_LIBRARIES} ${BOOST_PYTHON_LIB})
# Create executable file
ADD_EXECUTABLE(BoostPythonScriptingPluginTest Main.cpp)
TARGET_LINK_LIBRARIES(BoostPythonScriptingPluginTest HelloWorld)
|