X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=kernel%2Fsrc%2FCMakeLists.txt;h=dcd505acba10353a43237f9cccba8dcc23788b4c;hb=cb74ad8d12e03d219df87c69f6caef29afee4cfc;hp=6182ac14277859b51f61f5a71ad8f7f747f5c8b1;hpb=a26195c366a89795288009cf7e20f11afa494970;p=bbtk.git diff --git a/kernel/src/CMakeLists.txt b/kernel/src/CMakeLists.txt index 6182ac1..dcd505a 100644 --- a/kernel/src/CMakeLists.txt +++ b/kernel/src/CMakeLists.txt @@ -91,6 +91,19 @@ IF(BBTK_USE_WXWIDGETS) ENDIF(BBTK_USE_WXWIDGETS) #----------------------------------------------------------------------------- +#----------------------------------------------------------------------------- +# BOOST +SET(BBTK_USE_BOOST TRUE) + +IF(BBTK_USE_BOOST) + SET(USE_BOOST ON CACHE BOOL "Use boost C++ library" FORCE) + SET(BBTK_LINK_LIBRARIES + ${BBTK_LINK_LIBRARIES} + ${BBTK_BOOST_LIBRARIES} + ) +ENDIF(BBTK_USE_BOOST) +#----------------------------------------------------------------------------- + #----------------------------------------------------------------------------- # On unix systems, need to link against dl for dynamic librairies open/close IF(UNIX) @@ -100,6 +113,8 @@ IF(UNIX) ENDIF(UNIX) #----------------------------------------------------------------------------- +MESSAGE(STATUS "bbtk link libraries = ${BBTK_LINK_LIBRARIES}") + #----------------------------------------------------------------------------- # EO bbtk library dependencies #----------------------------------------------------------------------------- @@ -144,14 +159,17 @@ ENDIF(NOT BBTK_INSTALL_NO_DEVELOPMENT) - #----------------------------------------------------------------------------- # bbtk library creation #----------------------------------------------------------------------------- +# Symbols must be exported (Windows) +ADD_DEF(BBTK_EXPORT_SYMBOLS) +#ADD_DEFINITIONS(-DCHECKBOXVIEW=1) #----------------------------------------------------------------------------- # Sources files -FILE(GLOB SOURCES "." "*.cxx" "*.cpp") +FILE(GLOB SOURCES "." "*.cxx" "*.cpp") +# "ThirdParty/wx/treemultictrl/*.cpp") FILE(GLOB SOURCES_H "." "*.h" ) #----------------------------------------------------------------------------- # lib definition @@ -159,6 +177,7 @@ ADD_LIBRARY(bbtk SHARED ${SOURCES} ${SOURCES_H}) #----------------------------------------------------------------------------- TARGET_LINK_LIBRARIES(bbtk ${BBTK_LINK_LIBRARIES}) #----------------------------------------------------------------------------- +SET_TARGET_PROPERTIES(bbtk PROPERTIES COMPILE_FLAGS -Wall) #IF(UNIX) # for gnu linker : version script used to define exported symbols @@ -178,27 +197,85 @@ TARGET_LINK_LIBRARIES(bbtk ${BBTK_LINK_LIBRARIES}) -#----------------------------------------------------------------------------- + +#============================================================================= # bbtk library installation +#============================================================================= + + +#----------------------------------------------------------------------------- +FILE(GLOB BBTK_HEADERS "*.h") +INSTALL(FILES ${BBTK_HEADERS} DESTINATION include/bbtk) +INSTALL(TARGETS bbtk DESTINATION lib) +IF(WIN32) + INSTALL(TARGETS bbtk DESTINATION bin/) +ENDIF(WIN32) #----------------------------------------------------------------------------- #----------------------------------------------------------------------------- -INSTALL_FILES(/include/bbtk "\\.h$") -INSTALL_TARGETS(/lib bbtk) +# Code installing the files needed to find the lib by FIND_PACKAGE +# Uses CMakeCreateFindPackage #----------------------------------------------------------------------------- #----------------------------------------------------------------------------- -# TO DO : create FindBBTK.cmake -#INCLUDE(InstallFindBBTK.cmake) +# - Set the variable LIBRARY_NAME to the name of your library +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) +ENDIF(UNIX) +SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_INCLUDE_PATHS include/bbtk include/bbtk/ThirdParty) +SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS lib) + +# OPTIONAL +# - Set the version of your library +# SET YOUR LIB VERSION +#SET(${LIBRARY_NAME}_MAJOR_VERSION 1) +#SET(${LIBRARY_NAME}_MINOR_VERSION 0) +#SET(${LIBRARY_NAME}_BUILD_VERSION 0) +# REQUIRED BUILD FLAGS +#SET(${LIBRARY_NAME}_REQUIRED_C_FLAGS "") +#SET(${LIBRARY_NAME}_REQUIRED_CXX_FLAGS "") +#SET(${LIBRARY_NAME}_REQUIRED_LINK_FLAGS "") +# ADDITIONAL CONFIG FILE +# HERE WE USE ONE TO EXPORT testLib_EXPORTED_VALUE +# +SET(${LIBRARY_NAME}_HAS_ADDITIONAL_CONFIG_FILE TRUE) +SET(${LIBRARY_NAME}_ADDITIONAL_CONFIG_FILE + ${PROJECT_SOURCE_DIR}/kernel/cmake/AdditionalBBTKConfig.cmake.in) +SET(${LIBRARY_NAME}_ADDITIONAL_USE_FILE + ${PROJECT_SOURCE_DIR}/kernel/cmake/AdditionalUseBBTK.cmake.in) #----------------------------------------------------------------------------- +#----------------------------------------------------------------------------- +# Includes CMakeCreateFindPackage +INCLUDE(${CMakeCreateFindPackage_DIR}/CMakeCreateFindPackage.cmake) +CMAKE_CREATE_FIND_PACKAGE(${LIBRARY_NAME}) +#----------------------------------------------------------------------------- #----------------------------------------------------------------------------- # EO bbtk library installation #----------------------------------------------------------------------------- +#----------------------------------------------------------------------------- +# Recurse in ThirdParty to build the needed libs +SUBDIRS(ThirdParty) +#----------------------------------------------------------------------------- #----------------------------------------------------------------------------- # EOF