From 0ff062fe55b45b0f7191c41867b28f0468f91496 Mon Sep 17 00:00:00 2001 From: Diane Trout Date: Tue, 10 Nov 2009 14:34:21 -0800 Subject: [PATCH] Update mussa build scripts to work with Boost 1.40 and CMake 2.6 For Boost 1.40 the filesystem module now requires linking against boost system. For some reason the serialization code in alg/sequence.hpp doesn't work for the Sequence class. For CMake I could remove my local FindBoost program as CMake now ships with FindBoost. (Also I had to change the CMake files to add the new library. --- CMakeLists.txt | 8 +- alg/CMakeLists.txt | 7 +- alg/sequence.hpp | 6 +- alg/test/CMakeLists.txt | 6 +- alg/tsf/CMakeLists.txt | 5 +- makelib/FindBoost.cmake | 425 --------------------------------------- makelib/TestMacros.cmake | 3 +- py/CMakeLists.txt | 2 + py/test/CMakeLists.txt | 38 ++-- qui/CMakeLists.txt | 2 + 10 files changed, 52 insertions(+), 450 deletions(-) delete mode 100644 makelib/FindBoost.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 1a9bbb3..994d4ca 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ PROJECT(mussa) ENABLE_TESTING() -CMAKE_MINIMUM_REQUIRED(VERSION 2.4) +CMAKE_MINIMUM_REQUIRED(VERSION 2.6) # try to include our cmake modules SET (CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/makelib) INCLUDE(Platform) @@ -21,7 +21,10 @@ IF(QT_QTASSISTANT_FOUND) ENDIF(QT_QTASSISTANT_FOUND) INCLUDE( ${QT_USE_FILE} ) FIND_PACKAGE(OpenGL) -FIND_PACKAGE(Boost 1.34.1 COMPONENTS filesystem serialization program_options python) +set(Boost_USE_STATIC_LIBS ON) +set(Boost_USE_MULTITHREADED ON) +FIND_PACKAGE(Boost 1.34.1 REQUIRED filesystem serialization system program_options ) +FIND_PACKAGE(Boost 1.34.1 COMPONENTS python) FIND_PACKAGE(PythonLibs) SET(USE_PYTHON 0 CACHE BOOL @@ -60,6 +63,7 @@ TARGET_LINK_LIBRARIES(mussagl ${QT_LIBRARIES} ${Boost_FILESYSTEM_LIBRARY} ${Boost_SERIALIZATION_LIBRARY} + ${Boost_SYSTEM_LIBRARY} ${Boost_PROGRAM_OPTIONS_LIBRARY} ${OPENGL_gl_LIBRARY} ) diff --git a/alg/CMakeLists.txt b/alg/CMakeLists.txt index 1e5ba63..a9308d0 100644 --- a/alg/CMakeLists.txt +++ b/alg/CMakeLists.txt @@ -1,5 +1,10 @@ FIND_PACKAGE(OpenGL ) -FIND_PACKAGE(Boost 1.34.1 COMPONENTS filesystem unit_test_framework serialization program_options python ) + +set(Boost_USE_STATIC_LIBS ON) +set(Boost_USE_MULTITHREADED ON) +FIND_PACKAGE(Boost 1.34.1 REQUIRED filesystem unit_test_framework + serialization system program_options ) +FIND_PACKAGE(Boost 1.3.4.1 COMPONENTS python ) FIND_PACKAGE(Qt4) INCLUDE( ${QT_USE_FILE} ) INCLUDE( Platform ) diff --git a/alg/sequence.hpp b/alg/sequence.hpp index fc8a0cf..f7d3c36 100644 --- a/alg/sequence.hpp +++ b/alg/sequence.hpp @@ -78,6 +78,8 @@ typedef boost::shared_ptr SequenceRef; class Sequence { public: + + typedef SeqString::value_type value_type; typedef SeqString::difference_type difference_type; typedef SeqString::iterator iterator; @@ -265,5 +267,7 @@ protected: ar & BOOST_SERIALIZATION_NVP(motif_list); } }; -BOOST_CLASS_EXPORT(Sequence); + +//BOOST_CLASS_EXPORT(Sequence); +//BOOST_CLASS_EXPORT_GUID(Sequence, "Sequence") #endif diff --git a/alg/test/CMakeLists.txt b/alg/test/CMakeLists.txt index 8275f67..c13a90a 100644 --- a/alg/test/CMakeLists.txt +++ b/alg/test/CMakeLists.txt @@ -1,5 +1,8 @@ FIND_PACKAGE(OpenGL) -FIND_PACKAGE(Boost 1.34.1 COMPONENTS filesystem unit_test_framework serialization) + +set(Boost_USE_STATIC_LIBS ON) +set(Boost_USE_MULTITHREADED ON) +FIND_PACKAGE(Boost 1.34.1 REQUIRED filesystem unit_test_framework serialization system) FIND_PACKAGE(Qt4) INCLUDE( ${QT_USE_FILE} ) INCLUDE(Platform) @@ -21,6 +24,7 @@ SET(ALG_TEST_LIBS ${Boost_FILESYSTEM_LIBRARY} ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY} ${Boost_SERIALIZATION_LIBRARY} + ${Boost_SYSTEM_LIBRARY} ${OPENGL_gl_LIBRARY} ) diff --git a/alg/tsf/CMakeLists.txt b/alg/tsf/CMakeLists.txt index f0b8af3..237d473 100644 --- a/alg/tsf/CMakeLists.txt +++ b/alg/tsf/CMakeLists.txt @@ -1,7 +1,8 @@ -FIND_PACKAGE(Boost 1.34.1 COMPONENTS unit_test_framework) +set(Boost_USE_STATIC_LIBS ON) +set(Boost_USE_MULTITHREADED ON) +FIND_PACKAGE(Boost 1.34.1 REQUIRED unit_test_framework) INCLUDE(Platform) - SET(SOURCES trivial_filter.cpp) SET(TEST_SOURCES test_tsf.cpp) diff --git a/makelib/FindBoost.cmake b/makelib/FindBoost.cmake deleted file mode 100644 index 67a379e..0000000 --- a/makelib/FindBoost.cmake +++ /dev/null @@ -1,425 +0,0 @@ -# - Try to find Boost include dirs and libraries -# Usage of this module as follows: -# -# FIND_PACKAGE( Boost 1.34.1 COMPONENTS date_time filesystem iostreams ... ) -# -# The Boost_ADDITIONAL_VERSIONS variable can be used to specify a list of -# boost version numbers that should be taken into account when searching -# for the libraries. Unfortunately boost puts the version number into the -# actual filename for the libraries, so this might be needed in the future -# when new boost versions are released. -# -# Currently this module searches for the following version numbers: -# 1.33, 1.33.0, 1.33.1, 1.34, 1.34.0, 1.34.1 -# -# The components list needs to be the actual names of boost libraries, that is -# the part of the actual library files that differ on different libraries. So -# its "date_time" for "libboost_date_time...". Anything else will result in -# errors -# -# You can provide a minimum version number that should be used. If you provide this -# version number and specify the REQUIRED attribute, this module will fail if it -# can't find the specified or a later version. If you specify a version number this is -# automatically put into the considered list of version numbers and thus doesn't need -# to be specified in the Boost_ADDITIONAL_VERSIONS variable -# -# Variables used by this module, they can change the default behaviour and need to be -# set before calling find_package: -# Boost_USE_MULTITHREAD Can be set to OFF to use the non-multithreaded -# boost libraries. Defaults to ON. -# Boost_ADDITIONAL_VERSIONS A list of version numbers to use for searching -# the boost include directory. The default list -# of version numbers is: -# 1.33, 1.33.0, 1.33.1, 1.34, 1.34.0, 1.34.1 -# If you want to look for an older or newer -# version set this variable to a list of -# strings, where each string contains a number, i.e. -# SET(Boost_ADDITIONAL_VERSIONS "0.99.0" "1.35.0") -# Boost_ROOT Preferred installation prefix for searching for Boost, -# set this if the module has problems finding the proper Boost -# installation -# Boost_INCLUDEDIR Set this to the include directory of Boost, if the -# module has problems finding the proper Boost installation -# Boost_LIBRARYDIR Set this to the lib directory of Boost, if the -# module has problems finding the proper Boost installation -# -# The last three variables are available also as environment variables -# -# -# Variables defined by this module: -# -# Boost_FOUND System has Boost, this means the include dir was found, -# as well as all the libraries specified in the COMPONENTS list -# Boost_INCLUDE_DIRS Boost include directories, not cached -# Boost_INCLUDE_DIR This is almost the same as above, but this one is -# cached and may be modified by advanced users -# Boost_LIBRARIES Link these to use the Boost libraries that you specified, -# not cached -# Boost_LIBRARY_DIRS The path to where the Boost library files are. -# Boost_VERSION The version number of the boost libraries that have been -# found, as in version.hpp from Boost -# Boost_LIB_VERSION The version number in filename form as its \ -# appended to the library filenames -# Boost_MAJOR_VERSION major version number of boost -# Boost_MINOR_VERSION minor version number of boost -# Boost_SUBMINOR_VERSION subminor version number of boost - -# For each component you list the following variables are set. -# ATTENTION: The component names need to be in lower case, just as the boost -# library names however the cmake variables use upper case for the component -# part. So you'd get Boost_SERIALIZATION_FOUND for example. -# -# Boost_${COMPONENT}_FOUND True IF the Boost library "component" was -# found -# Boost_${COMPONENT}_LIBRARY The absolute path of the Boost library \ -# "component". -# Boost_${COMPONENT}_LIBRARY_DEBUG The absolute path of the debug \ -# version of the Boost library "component". -# Boost_${COMPONENT}_LIBRARY_RELEASE The absolute path of the release version of -# the Boost library "component" -# -# Copyright (c) 2006-2008 Andreas Schneider -# Copyright (c) 2007 Wengo -# Copyright (c) 2007 Mike Jackson -# Copyright (c) 2008 Andreas Pakulat -# -# Redistribution AND use is allowed according to the terms of the New -# BSD license. -# For details see the accompanying COPYING-CMAKE-SCRIPTS file. -# - -# this module required CMake 2.5 for the Boost_FIND_VERSION stuff -CMAKE_MINIMUM_REQUIRED(VERSION "2.4" FATAL_ERROR) - -# MESSAGE(STATUS "Finding Boost libraries.... ") - -OPTION(Boost_USE_MULTITHREAD "Use the multithreaded versions of the boost libraries" ON) - -SET( _boost_TEST_VERSIONS ${Boost_ADDITIONAL_VERSIONS} "1.33" "1.33.0" "1.33.1" "1.34" "1.34.0" "1.34.1" ) - - -############################################ -# -# Check the existence of the libraries. -# -############################################ -# This macro was taken directly from the FindQt4.cmake file that is included -# with the CMake distribution. This is NOT my work. All work was done by the -# original authors of the FindQt4.cmake file. Only minor modifications were -# made to remove references to Qt and make this file more generally applicable -######################################################################### - -MACRO (_Boost_ADJUST_LIB_VARS basename) - IF (Boost_INCLUDE_DIR ) - #MESSAGE(STATUS "Adjusting ${basename} ") - - IF (Boost_${basename}_LIBRARY_DEBUG AND Boost_${basename}_LIBRARY_RELEASE) - # if the generator supports configuration types then set - # optimized and debug libraries, or if the CMAKE_BUILD_TYPE has a value - IF (CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE) - SET(Boost_${basename}_LIBRARY optimized ${Boost_${basename}_LIBRARY_RELEASE} debug ${Boost_${basename}_LIBRARY_DEBUG}) - ELSE(CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE) - # if there are no configuration types and CMAKE_BUILD_TYPE has no value - # then just use the release libraries - SET(Boost_${basename}_LIBRARY ${Boost_${basename}_LIBRARY_RELEASE} ) - ENDIF(CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE) - SET(Boost_${basename}_LIBRARIES optimized ${Boost_${basename}_LIBRARY_RELEASE} debug ${Boost_${basename}_LIBRARY_DEBUG}) -ENDIF (Boost_${basename}_LIBRARY_DEBUG AND Boost_${basename}_LIBRARY_RELEASE) - - # if only the release version was found, set the debug variable also to the release version - IF (Boost_${basename}_LIBRARY_RELEASE AND NOT Boost_${basename}_LIBRARY_DEBUG) - SET(Boost_${basename}_LIBRARY_DEBUG ${Boost_${basename}_LIBRARY_RELEASE}) - SET(Boost_${basename}_LIBRARY ${Boost_${basename}_LIBRARY_RELEASE}) - SET(Boost_${basename}_LIBRARIES ${Boost_${basename}_LIBRARY_RELEASE}) - ENDIF (Boost_${basename}_LIBRARY_RELEASE AND NOT Boost_${basename}_LIBRARY_DEBUG) - - # if only the debug version was found, set the release variable also to the debug version - IF (Boost_${basename}_LIBRARY_DEBUG AND NOT Boost_${basename}_LIBRARY_RELEASE) - SET(Boost_${basename}_LIBRARY_RELEASE ${Boost_${basename}_LIBRARY_DEBUG}) - SET(Boost_${basename}_LIBRARY ${Boost_${basename}_LIBRARY_DEBUG}) - SET(Boost_${basename}_LIBRARIES ${Boost_${basename}_LIBRARY_DEBUG}) - ENDIF (Boost_${basename}_LIBRARY_DEBUG AND NOT Boost_${basename}_LIBRARY_RELEASE) - - IF (Boost_${basename}_LIBRARY) - SET(Boost_${basename}_LIBRARY ${Boost_${basename}_LIBRARY} CACHE FILEPATH "The Boost ${basename} library") - GET_FILENAME_COMPONENT(Boost_LIBRARY_DIRS "${Boost_${basename}_LIBRARY}" PATH) - SET(Boost_${basename}_FOUND 1) - ENDIF (Boost_${basename}_LIBRARY) - - ENDIF (Boost_INCLUDE_DIR ) - # Make variables changeble to the advanced user - MARK_AS_ADVANCED( - Boost_${basename}_LIBRARY - Boost_${basename}_LIBRARY_RELEASE - Boost_${basename}_LIBRARY_DEBUG - ) -ENDMACRO (_Boost_ADJUST_LIB_VARS) - -#------------------------------------------------------------------ - -SET( _boost_IN_CACHE TRUE) - -IF(Boost_INCLUDE_DIR) - FOREACH(COMPONENT ${Boost_FIND_COMPONENTS}) - STRING(TOUPPER ${COMPONENT} COMPONENT) - IF(NOT Boost_${COMPONENT}_FOUND) - SET( _boost_IN_CACHE FALSE) - ENDIF(NOT Boost_${COMPONENT}_FOUND) - ENDFOREACH(COMPONENT) -ELSE(Boost_INCLUDE_DIR) - SET( _boost_IN_CACHE FALSE) -ENDIF(Boost_INCLUDE_DIR) - -IF(_boost_IN_CACHE) - # in cache already - SET(Boost_FOUND TRUE) - FOREACH(COMPONENT ${Boost_FIND_COMPONENTS}) - STRING(TOUPPER ${COMPONENT} COMPONENT) - _Boost_ADJUST_LIB_VARS( ${COMPONENT} ) - ENDFOREACH(COMPONENT) - SET(Boost_INCLUDE_DIRS ${Boost_INCLUDE_DIR}) -ELSE(_boost_IN_CACHE) - # Need to search for boost - - SET(_boost_INCLUDE_SEARCH_DIRS - C:/boost/include - "C:/Program Files/boost/boost_${Boost_MINIMUM_VERSION}" - # D: is very often the cdrom drive, IF you don't have a - # cdrom inserted it will popup a very annoying dialog - #D:/boost/include - /sw/local/include - ) - - SET(_boost_LIBRARIES_SEARCH_DIRS - C:/boost/lib - "C:/Program Files/boost/boost_${Boost_MINIMUM_VERSION}/lib" - /sw/local/lib - ) - - IF( NOT $ENV{Boost_ROOT} STREQUAL "" ) - SET(_boost_INCLUDE_SEARCH_DIRS $ENV{Boost_ROOT}/include ${_boost_INCLUDE_SEARCH_DIRS}) - SET(_boost_LIBRARIES_SEARCH_DIRS $ENV{Boost_ROOT}/lib ${_boost_INCLUDE_SEARCH_DIRS}) - ENDIF( NOT $ENV{Boost_ROOT} STREQUAL "" ) - - IF( NOT $ENV{Boost_INCLUDEDIR} STREQUAL "" ) - SET(_boost_INCLUDE_SEARCH_DIRS $ENV{Boost_INCLUDEDIR} ${_boost_INCLUDE_SEARCH_DIRS}) - ENDIF( NOT $ENV{Boost_INCLUDEDIR} STREQUAL "" ) - - IF( NOT $ENV{Boost_LIBRARYDIR} STREQUAL "" ) - SET(_boost_LIBRARIES_SEARCH_DIRS $ENV{Boost_LIBRARYDIR} ${_boost_INCLUDE_SEARCH_DIRS}) - ENDIF( NOT $ENV{Boost_LIBRARYDIR} STREQUAL "" ) - - IF( Boost_ROOT ) - SET(_boost_INCLUDE_SEARCH_DIRS ${Boost_ROOT}/include ${_boost_INCLUDE_SEARCH_DIRS}) - SET(_boost_LIBRARIES_SEARCH_DIRS ${Boost_ROOT}/lib ${_boost_LIBRARIES_SEARCH_DIRS}) - ENDIF( Boost_ROOT ) - - IF( Boost_INCLUDEDIR ) - SET(_boost_INCLUDE_SEARCH_DIRS ${Boost_INCLUDEDIR}/include ${_boost_INCLUDE_SEARCH_DIRS}) - ENDIF( Boost_INCLUDEDIR ) - - IF( Boost_LIBRARYDIR ) - SET(_boost_LIBRARIES_SEARCH_DIRS ${Boost_LIBRARYDIR}/include ${_boost_LIBRARIES_SEARCH_DIRS}) - ENDIF( Boost_LIBRARYDIR ) - - FOREACH(_boost_VER ${_boost_TEST_VERSIONS}) - IF( NOT Boost_INCLUDE_DIR ) - - # Add in a path suffix, based on the required version, ideally we could - # read this from version.hpp, but for that to work we'd need to know the - # include dir already - SET(_boost_PATH_SUFFIX - boost-${_boost_VER} - ) - STRING(REGEX REPLACE "([0-9]+)\\.([0-9]+)\\.([0-9]+)" "\\1_\\2_\\3" _boost_PATH_SUFFIX ${_boost_PATH_SUFFIX}) - - - FIND_PATH(Boost_INCLUDE_DIR - NAMES boost/config.hpp - PATHS ${_boost_INCLUDE_SEARCH_DIRS} - PATH_SUFFIXES ${_boost_PATH_SUFFIX} - ) - - IF(Boost_INCLUDE_DIR) - # Extract Boost_VERSION and Boost_LIB_VERSION from version.hpp - # Read the whole file: - # - SET(BOOST_VERSION 0) - SET(BOOST_LIB_VERSION "") - FILE(READ "${Boost_INCLUDE_DIR}/boost/version.hpp" _boost_VERSION_HPP_CONTENTS) - STRING(REGEX REPLACE ".*#define BOOST_VERSION ([0-9]+).*" "\\1" Boost_VERSION "${_boost_VERSION_HPP_CONTENTS}") - STRING(REGEX REPLACE ".*#define BOOST_LIB_VERSION \"([0-9_]+)\".*" "\\1" Boost_LIB_VERSION "${_boost_VERSION_HPP_CONTENTS}") - SET(Boost_LIB_VERSION ${Boost_LIB_VERSION} CACHE STRING "The library version string for boost libraries") - SET(Boost_VERSION ${Boost_VERSION} CACHE STRING "The version number for boost libraries") - IF(NOT "${Boost_VERSION}" STREQUAL "0") - MATH(EXPR Boost_MAJOR_VERSION "${Boost_VERSION} / 100000") - MATH(EXPR Boost_MINOR_VERSION "${Boost_VERSION} / 100 % 1000") - MATH(EXPR Boost_SUBMINOR_VERSION "${Boost_VERSION} % 100") - - ENDIF(NOT "${Boost_VERSION}" STREQUAL "0") - ENDIF(Boost_INCLUDE_DIR) - - ENDIF( NOT Boost_INCLUDE_DIR ) - ENDFOREACH(_boost_VER) - - #Setting some more suffixes for the library - SET (Boost_LIB_PREFIX "") - IF ( WIN32 ) - SET (Boost_LIB_PREFIX "lib") - ENDIF ( WIN32 ) - SET (_boost_COMPILER "-gcc") - IF (MSVC71) - SET (_boost_COMPILER "-vc71") - ENDIF(MSVC71) - IF (MSVC80) - SET (_boost_COMPILER "-vc80") - ENDIF(MSVC80) - IF (MINGW) - SET (_boost_COMPILER "-mgw") - ENDIF(MINGW) - IF (CYGWIN) - SET (_boost_COMPILER "-gcc") - ENDIF (CYGWIN) - IF (UNIX) - IF (NOT CMAKE_COMPILER_IS_GNUCC) - # This is for the intel compiler - SET (_boost_COMPILER "-il") - ELSE (NOT CMAKE_COMPILER_IS_GNUCC) - #find out the version of gcc being used. - EXEC_PROGRAM(${CMAKE_CXX_COMPILER} - ARGS --version - OUTPUT_VARIABLE _boost_COMPILER_VERSION - ) - STRING(REGEX REPLACE ".* ([0-9])\\.([0-9])\\.[0-9] .*" "\\1\\2" - _boost_COMPILER_VERSION ${_boost_COMPILER_VERSION}) - SET (_boost_COMPILER "-gcc${_boost_COMPILER_VERSION}") - ENDIF (NOT CMAKE_COMPILER_IS_GNUCC) - ENDIF(UNIX) - - SET (_boost_MULTITHREADED "-mt") - - IF( NOT Boost_USE_MULTITHREADED ) - SET (_boost_MULTITHREADED "") - ENDIF( NOT Boost_USE_MULTITHREADED ) - - SET( _boost_STATIC_TAG "") - IF (WIN32) - SET (_boost_ABI_TAG "g") - SET( _boost_STATIC_TAG "-s") - ENDIF(WIN32) - SET (_boost_ABI_TAG "${_boost_ABI_TAG}d") - - # ---------------------------------------------------------------- - # Begin finding boost libraries - # ---------------------------------------------------------------- - FOREACH(COMPONENT ${Boost_FIND_COMPONENTS}) - STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT) - SET( Boost_{UPPERCOMPONENT}_LIBRARY FALSE) - SET( Boost_{UPPERCOMPONENT}_LIBRARY_RELEASE FALSE) - SET( Boost_{UPPERCOMPONENT}_LIBRARY_DEBUG FALSE) - FIND_LIBRARY(Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE - NAMES ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}-${Boost_LIB_VERSION} - ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_STATIC_TAG}-${Boost_LIB_VERSION} - ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED} - ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_STATIC_TAG} ${Boost_LIB_PREFIX}boost_${COMPONENT} - PATHS ${_boost_LIBRARIES_SEARCH_DIRS} - NO_DEFAULT_PATH - ) - - IF( NOT ${Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE} ) - FIND_LIBRARY(Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE - NAMES ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}-${Boost_LIB_VERSION} - ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_STATIC_TAG}-${Boost_LIB_VERSION} - ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED} - ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_STATIC_TAG} ${Boost_LIB_PREFIX}boost_${COMPONENT} - ) - ENDIF( NOT ${Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE} ) - - FIND_LIBRARY(Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG - NAMES ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}-${_boost_ABI_TAG}-${Boost_LIB_VERSION} - ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_STATIC_TAG}${_boost_ABI_TAG}-${Boost_LIB_VERSION} - ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}-${_boost_ABI_TAG} - ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_STATIC_TAG}${_boost_ABI_TAG} ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_boost_ABI_TAG} - PATHS ${_boost_LIBRARIES_SEARCH_DIRS} - NO_DEFAULT_PATH - ) - - IF( NOT ${Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG} ) - FIND_LIBRARY(Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG - NAMES ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}-${_boost_ABI_TAG}-${Boost_LIB_VERSION} - ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_STATIC_TAG}${_boost_ABI_TAG}-${Boost_LIB_VERSION} - ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}-${_boost_ABI_TAG} - ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_STATIC_TAG}${_boost_ABI_TAG} ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_boost_ABI_TAG} - ) - ENDIF( NOT ${Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG} ) - _Boost_ADJUST_LIB_VARS(${UPPERCOMPONENT}) - ENDFOREACH(COMPONENT) - # -------------------------------------------------------------- - # End finding boost libraries - # -------------------------------------------------------------- - - SET(Boost_INCLUDE_DIRS - ${Boost_INCLUDE_DIR} - ) - - #MESSAGE(STATUS "Boost_INCLUDE_DIRS: ${Boost_INCLUDE_DIRS}") - #MESSAGE(STATUS "Boost_LIBRARIES: ${Boost_LIBRARIES}") - - SET(Boost_FOUND FALSE) - IF(Boost_INCLUDE_DIR) - SET( Boost_FOUND TRUE ) - IF( Boost_FIND_VERSION_MAJOR AND Boost_VERSION_MAJOR LESS "${Boost_FIND_VERSION_MAJOR}" ) - SET( Boost_FOUND FALSE ) - ELSE( Boost_FIND_VERSION_MAJOR AND Boost_VERSION_MAJOR LESS "${Boost_FIND_VERSION_MAJOR}" ) - IF( Boost_FIND_VERSION_MINOR AND Boost_VERSION_MINOR LESS "${Boost_FIND_VERSION_MINOR}" ) - SET( Boost_FOUND FALSE ) - ELSE( Boost_FIND_VERSION_MINOR AND Boost_VERSION_MINOR LESS "${Boost_FIND_VERSION_MINOR}" ) - IF( Boost_FIND_VERSION_PATCH AND Boost_VERSION_SUBMINOR LESS "${Boost_FIND_VERSION_PATCH}" ) - SET( Boost_FOUND FALSE ) - ENDIF( Boost_FIND_VERSION_PATCH AND Boost_VERSION_SUBMINOR LESS "${Boost_FIND_VERSION_PATCH}" ) - ENDIF( Boost_FIND_VERSION_MINOR AND Boost_VERSION_MINOR LESS "${Boost_FIND_VERSION_MINOR}" ) - ENDIF( Boost_FIND_VERSION_MAJOR AND Boost_VERSION_MAJOR LESS "${Boost_FIND_VERSION_MAJOR}" ) - FOREACH(COMPONENT ${Boost_FIND_COMPONENTS}) - STRING(TOUPPER ${COMPONENT} COMPONENT) - IF(NOT Boost_${COMPONENT}_FOUND) - SET( Boost_FOUND FALSE) - ENDIF(NOT Boost_${COMPONENT}_FOUND) - ENDFOREACH(COMPONENT) - ELSE(Boost_INCLUDE_DIR) - SET( Boost_FOUND FALSE) - ENDIF(Boost_INCLUDE_DIR) - - IF (Boost_FOUND) - IF (NOT Boost_FIND_QUIETLY) - MESSAGE(STATUS "Found The Following Boost Libraries:") - FOREACH ( COMPONENT ${Boost_FIND_COMPONENTS} ) - STRING( TOUPPER ${COMPONENT} UPPERCOMPONENT ) - IF ( Boost_${UPPERCOMPONENT}_FOUND ) - MESSAGE (STATUS " ${COMPONENT}") - SET(Boost_LIBRARIES ${Boost_LIBRARIES} ${Boost_${UPPERCOMPONENT}_LIBRARY}) - ENDIF ( Boost_${UPPERCOMPONENT}_FOUND ) - ENDFOREACH(COMPONENT) - MESSAGE(STATUS "Boost Version: ${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}") - ENDIF(NOT Boost_FIND_QUIETLY) -ELSE (Boost_FOUND) - IF (Boost_FIND_REQUIRED) - MESSAGE(STATUS "Boost Version required: ${Boost_FIND_VERSION}. Found: ${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}") - - MESSAGE(FATAL_ERROR "Couldn't find the Boost libraries and/or include irectory, or -the version found is too old. Please install the Boost libraries AND development -packages. You can set Boost_ROOT, Boost_INCLUDEDIR and Boost_LIBRARYDIR to help find Boost.") - ENDIF(Boost_FIND_REQUIRED) -ENDIF(Boost_FOUND) - - # Under Windows, automatic linking is performed, so no need to specify the libraries. -IF (WIN32) - SET(Boost_LIBRARIES "") - ENDIF(WIN32) - - # show the Boost_INCLUDE_DIRS AND Boost_LIBRARIES variables only in the - #advanced view - MARK_AS_ADVANCED(Boost_INCLUDE_DIRS - Boost_LIBRARIES - Boost_LIBRARY_DIRS - ) -ENDIF(_boost_IN_CACHE) diff --git a/makelib/TestMacros.cmake b/makelib/TestMacros.cmake index 9afd196..3b06045 100644 --- a/makelib/TestMacros.cmake +++ b/makelib/TestMacros.cmake @@ -11,7 +11,7 @@ IF(QT_QTASSISTANT_FOUND) ENDIF(QT_QTASSISTANT_FOUND) INCLUDE( ${QT_USE_FILE} ) FIND_PACKAGE(OpenGL) -FIND_PACKAGE(Boost 1.34.1 COMPONENTS program_options filesystem serialization) +FIND_PACKAGE(Boost 1.34.1 COMPONENTS program_options filesystem serialization system) FIND_PACKAGE(PythonLibs) IF(QT4_FOUND) @@ -23,6 +23,7 @@ IF(QT4_FOUND) ${Boost_PROGRAM_OPTIONS_LIBRARY} ${Boost_FILESYSTEM_LIBRARY} ${Boost_SERIALIZATION_LIBRARY} + ${Boost_SYSTEM_LIBRARY} ${QT_QTTEST_LIBRARY} ) diff --git a/py/CMakeLists.txt b/py/CMakeLists.txt index cb793e1..46e1943 100644 --- a/py/CMakeLists.txt +++ b/py/CMakeLists.txt @@ -1,3 +1,5 @@ +set(Boost_USE_STATIC_LIBS ON) +set(Boost_USE_MULTITHREADED ON) FIND_PACKAGE(Boost 1.34.1 COMPONENTS python filesystem serialization) FIND_PACKAGE(OpenGL) FIND_PACKAGE(PythonLibs) diff --git a/py/test/CMakeLists.txt b/py/test/CMakeLists.txt index 2cf1951..50e18b0 100644 --- a/py/test/CMakeLists.txt +++ b/py/test/CMakeLists.txt @@ -1,23 +1,26 @@ FIND_PACKAGE(PythonLibs) +set(Boost_USE_STATIC_LIBS ON) +set(Boost_USE_MULTITHREADED ON) FIND_PACKAGE(Boost 1.34.1 COMPONENTS program_options filesystem serialization python unit_test_framework ) INCLUDE(Platform) -SET(SOURCES test_python.cpp ) +IF(Boost_PYTHON_FOUND) + SET(SOURCES test_python.cpp ) -GET_MUSSA_COMPILE_FLAGS(PY_TEST_CFLAGS) -GET_MUSSA_LINK_FLAGS(PY_TEST_LDFLAGS) + GET_MUSSA_COMPILE_FLAGS(PY_TEST_CFLAGS) + GET_MUSSA_LINK_FLAGS(PY_TEST_LDFLAGS) -SET_SOURCE_FILES_PROPERTIES( - ${SOURCES} - COMPILE_FLAGS "${PY_TEST_CFLAGS}" -) + SET_SOURCE_FILES_PROPERTIES( + ${SOURCES} + COMPILE_FLAGS "${PY_TEST_CFLAGS}" + ) -ADD_EXECUTABLE(mussa_python_test ${SOURCES}) -ADD_TEST(mussa_python_test ${CMAKE_BINARY_DIR}/py/test/mussa_python_test) -LINK_DIRECTORIES(${CMAKE_BINARY_DIR}/alg}) -# Really it is important to go from library with the most dependencies to least -TARGET_LINK_LIBRARIES(mussa_python_test + ADD_EXECUTABLE(mussa_python_test ${SOURCES}) + ADD_TEST(mussa_python_test ${CMAKE_BINARY_DIR}/py/test/mussa_python_test) + LINK_DIRECTORIES(${CMAKE_BINARY_DIR}/alg}) + # Really it is important to go from library with the most dependencies to least + TARGET_LINK_LIBRARIES(mussa_python_test mussa_qui mussa_py mussa_core @@ -32,9 +35,10 @@ TARGET_LINK_LIBRARIES(mussa_python_test ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY} ) -SET_TARGET_PROPERTIES( - mussa_python_test PROPERTIES - COMPILE_FLAGS "${PY_TEST_CFLAGS}" - LINK_FLAGS "${PY_TEST_LDFLAGS}" -) + SET_TARGET_PROPERTIES( + mussa_python_test PROPERTIES + COMPILE_FLAGS "${PY_TEST_CFLAGS}" + LINK_FLAGS "${PY_TEST_LDFLAGS}" + ) +ENDIF(Boost_PYTHON_FOUND) diff --git a/qui/CMakeLists.txt b/qui/CMakeLists.txt index 8b446e6..23adbc5 100644 --- a/qui/CMakeLists.txt +++ b/qui/CMakeLists.txt @@ -10,6 +10,8 @@ IF(QT_QTASSISTANT_FOUND) ENDIF(QT_QTASSISTANT_FOUND) INCLUDE( ${QT_USE_FILE} ) FIND_PACKAGE(OpenGL) +set(Boost_USE_STATIC_LIBS ON) +set(Boost_USE_MULTITHREADED ON) FIND_PACKAGE(Boost 1.34.1) FIND_PACKAGE(PythonLibs) -- 2.30.2