X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=kernel%2Fsrc%2FCMakeLists.txt;h=44e3b2c8e411f44021be62f35f67272b1014c838;hb=c707b7a431df27af2590fcf837190ee4e5070107;hp=a2933c56d337812dfcc38e033795a06c74df5720;hpb=4ad5b5ee44357ad873bc8c43230defb6d0a79879;p=bbtk.git diff --git a/kernel/src/CMakeLists.txt b/kernel/src/CMakeLists.txt index a2933c5..44e3b2c 100644 --- a/kernel/src/CMakeLists.txt +++ b/kernel/src/CMakeLists.txt @@ -1,3 +1,29 @@ + # --------------------------------------------------------------------- + # + # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image + # pour la SantÈ) + # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton + # Previous Authors : Laurent Guigues, Jean-Pierre Roux + # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil + # + # This software is governed by the CeCILL-B license under French law and + # abiding by the rules of distribution of free software. You can use, + # modify and/ or redistribute the software under the terms of the CeCILL-B + # license as circulated by CEA, CNRS and INRIA at the following URL + # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html + # or in the file LICENSE.txt. + # + # As a counterpart to the access to the source code and rights to copy, + # modify and redistribute granted by the license, users are provided only + # with a limited warranty and the software's author, the holder of the + # economic rights, and the successive licensors have only limited + # liability. + # + # The fact that you are presently reading this means that you have had + # knowledge of the CeCILL-B license and that you accept its terms. + # ------------------------------------------------------------------------ */ + + #----------------------------------------------------------------------------- # BUILDS AND INSTALLS THE LIBRARY BBTK #----------------------------------------------------------------------------- @@ -7,6 +33,10 @@ # Tests #----------------------------------------------------------------------------- +MESSAGE(STATUS "") +MESSAGE(STATUS "=======================================") +MESSAGE(STATUS "CONFIGURING bbtk LIBRARY") + #----------------------------------------------------------------------------- # Test if compiler defines the pseudo-macro __FUNCTION__ @@ -71,39 +101,6 @@ CHECK_INCLUDE_FILE("sys/timeb.h" CMAKE_HAVE_SYS_TIMEB_H) #----------------------------------------------------------------------------- -# bbtk library dependencies -#----------------------------------------------------------------------------- - -#----------------------------------------------------------------------------- -# WXWIDGETS -OPTION(BBTK_USE_WXWIDGETS "Build bbtk library and applications in graphical mode using the wxWidgets library" OFF) - -IF(BBTK_USE_WXWIDGETS) - SET(USE_WXWIDGETS ON CACHE BOOL "Use WxWidgets" FORCE) - -# INCLUDE(cmake/FIND_AND_USE_WXWIDGETS.cmake) -# FIND_AND_USE_WXWIDGETS() -# ADD_DEF( _USE_WXWIDGETS_ ) - SET(BBTK_LINK_LIBRARIES - ${BBTK_LINK_LIBRARIES} - ${BBTK_WXWIDGETS_LIBRARIES} - ) -ENDIF(BBTK_USE_WXWIDGETS) -#----------------------------------------------------------------------------- - -#----------------------------------------------------------------------------- -# On unix systems, need to link against dl for dynamic librairies open/close -IF(UNIX) - SET(BBTK_LINK_LIBRARIES - ${BBTK_LINK_LIBRARIES} - dl) -ENDIF(UNIX) -#----------------------------------------------------------------------------- - -#----------------------------------------------------------------------------- -# EO bbtk library dependencies -#----------------------------------------------------------------------------- - @@ -144,24 +141,68 @@ ENDIF(NOT BBTK_INSTALL_NO_DEVELOPMENT) - #----------------------------------------------------------------------------- # bbtk library creation #----------------------------------------------------------------------------- # Symbols must be exported (Windows) -ADD_DEF(BBTK_EXPORT_SYMBOLS) +CREA_DEFINE(BBTK_EXPORT_SYMBOLS) -ADD_DEFINITIONS(-DCHECKBOXVIEW=1) +#ADD_DEFINITIONS(-DCHECKBOXVIEW=1) #----------------------------------------------------------------------------- # Sources files -FILE(GLOB SOURCES "." "*.cxx" "*.cpp" "ThirdParty/wx/treemultictrl/*.cpp") -FILE(GLOB SOURCES_H "." "*.h" ) +FILE(GLOB SOURCES "." "*.cxx" "*.cpp") +# "ThirdParty/wx/treemultictrl/*.cpp") +FILE(GLOB SOURCES_H "." "*.h" "*.txx" ) + +#----------------------------------------------------------------------------- +IF(BBTK_USE_KWWIDGETS) + IF(KWWidgets_FOUND) + include("${KWWidgets_CMAKE_DIR}/KWWidgetsWrappingMacros.cmake") + kwwidgets_wrap_tcl(bbtk LIB_TCL_SRCS "vtkKWBlackBoxDialog.cxx" "") + SET(SOURCES ${SOURCES} ${LIB_TCL_SRCS}) + ENDIF(KWWidgets_FOUND) +ENDIF(BBTK_USE_KWWIDGETS) +#----------------------------------------------------------------------------- + +#----------------------------------------------------------------------------- +IF(BBTK_USE_QT) + IF(QT_FOUND) + #--------------------------------------------------------------------------- + # MOC + SET(QT4_HEADERS_TO_WRAP + bbtkQtBlackBoxDialog.h + ) + QT4_WRAP_CPP(MOC_SOURCES ${QT4_HEADERS_TO_WRAP} OPTIONS -DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED) + #--------------------------------------------------------------------------- + # UI + QT4_WRAP_UI(UI_SOURCES + bbtkQtBlackBoxDialog.ui + ) + SET(SOURCES ${SOURCES} ${MOC_SOURCES} ${UI_SOURCES}) + ENDIF(QT_FOUND) + +# JFGA 03/12/2014 -- Temporal configuration of WT +# *********Missing if conditional Wt******** + #find_package(Boost COMPONENTS system thread signals) + #find_library(wt wt) + #find_library(wtext wtext) + #find_library(wthttp wthttp) + INCLUDE_DIRECTORIES(/usr/local/lib/) + + +ENDIF(BBTK_USE_QT) +#----------------------------------------------------------------------------- + + #----------------------------------------------------------------------------- # lib definition ADD_LIBRARY(bbtk SHARED ${SOURCES} ${SOURCES_H}) #----------------------------------------------------------------------------- -TARGET_LINK_LIBRARIES(bbtk ${BBTK_LINK_LIBRARIES}) +TARGET_LINK_LIBRARIES(bbtk ${BBTK_LINK_LIBRARIES} ${BOOST_LIBRARIES} ${crea_LIBRARIES} ${WT_LIBRARIES}) #----------------------------------------------------------------------------- +IF(UNIX) +SET_TARGET_PROPERTIES(bbtk PROPERTIES COMPILE_FLAGS -Wall) +ENDIF(UNIX) #IF(UNIX) # for gnu linker : version script used to define exported symbols @@ -172,6 +213,7 @@ TARGET_LINK_LIBRARIES(bbtk ${BBTK_LINK_LIBRARIES}) #ENDIF(UNIX) #----------------------------------------------------------------------------- + #----------------------------------------------------------------------------- # EO bbtk library creation #----------------------------------------------------------------------------- @@ -188,17 +230,14 @@ TARGET_LINK_LIBRARIES(bbtk ${BBTK_LINK_LIBRARIES}) #----------------------------------------------------------------------------- -FILE(GLOB BBTK_HEADERS "*.h") +FILE(GLOB BBTK_HEADERS "*.h" "*.txx") INSTALL(FILES ${BBTK_HEADERS} DESTINATION include/bbtk) -INSTALL(TARGETS bbtk DESTINATION lib) -IF(WIN32) - INSTALL(TARGETS bbtk DESTINATION bin/) -ENDIF(WIN32) +INSTALL(TARGETS bbtk DESTINATION ${BBTK_LIB_PATH}) #----------------------------------------------------------------------------- #----------------------------------------------------------------------------- # Code installing the files needed to find the lib by FIND_PACKAGE -# Uses CMakeCreateFindPackage +# Uses CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE #----------------------------------------------------------------------------- @@ -208,16 +247,27 @@ SET(LIBRARY_NAME BBTK) SET(${LIBRARY_NAME}_INSTALL_FOLDER bbtk) SET(${LIBRARY_NAME}_LIBRARIES bbtk) SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_INCLUDE_PATHS kernel/src) +#kernel/src/ThirdParty) +#IF(BBTK_USE_SHIPPED_BOOST) +# SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_INCLUDE_PATHS +# ${${LIBRARY_NAME}_BUILD_TREE_RELATIVE_INCLUDE_PATHS} +# kernel/src/ThirdParty/${BBTK_SHIPPED_BOOST} +# ) +#ENDIF(BBTK_USE_SHIPPED_BOOST) IF(UNIX) SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_LIBRARY_PATHS ${EXECUTABLE_OUTPUT_REL_PATH}) ELSE(UNIX) - SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_LIBRARY_PATHS - ${EXECUTABLE_OUTPUT_REL_PATH}/Debug - ${EXECUTABLE_OUTPUT_REL_PATH}/Release) + SET(${LIBRARY_NAME}_BUILD_TREE_RELATIVE_LIBRARY_PATHS + ${EXECUTABLE_OUTPUT_REL_PATH} + . + ) + #${EXECUTABLE_OUTPUT_REL_PATH})/Debug + #${EXECUTABLE_OUTPUT_REL_PATH}/Release) ENDIF(UNIX) SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_INCLUDE_PATHS include/bbtk) -SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS lib) +# include/bbtk/ThirdParty) +SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS ${BBTK_LIB_PATH}) # OPTIONAL # - Set the version of your library @@ -240,9 +290,8 @@ SET(${LIBRARY_NAME}_ADDITIONAL_USE_FILE #----------------------------------------------------------------------------- #----------------------------------------------------------------------------- -# Includes CMakeCreateFindPackage -INCLUDE(${CMakeCreateFindPackage_DIR}/CMakeCreateFindPackage.cmake) -CMAKE_CREATE_FIND_PACKAGE(${LIBRARY_NAME}) +CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE(${LIBRARY_NAME}) + #----------------------------------------------------------------------------- #----------------------------------------------------------------------------- @@ -250,6 +299,20 @@ CMAKE_CREATE_FIND_PACKAGE(${LIBRARY_NAME}) #----------------------------------------------------------------------------- +#----------------------------------------------------------------------------- +# Recurse in EditorGraphicBBS to build the needed libs +#EED ADD_SUBDIRECTORY(EditorGraphicBBS) +#----------------------------------------------------------------------------- + + +#----------------------------------------------------------------------------- +# Recurse in ThirdParty to build the needed libs +#ADD_SUBDIRECTORY(ThirdParty) +#----------------------------------------------------------------------------- + + +MESSAGE(STATUS "=======================================") +MESSAGE(STATUS "") #----------------------------------------------------------------------------- # EOF