]> Creatis software - bbtk.git/blobdiff - kernel/src/CMakeLists.txt
MagicBox : support of data synchronization + various related fixes
[bbtk.git] / kernel / src / CMakeLists.txt
index 078fffd77e4ef4926da835ae08201d9b0b2ed874..5c7ca31f3365f5051e8b031f0f2c7303f4132cd3 100644 (file)
@@ -7,6 +7,10 @@
 # Tests 
 #-----------------------------------------------------------------------------
 
+MESSAGE(STATUS "")
+MESSAGE(STATUS "=======================================")
+MESSAGE(STATUS "CONFIGURING bbtk LIBRARY")
+
 
 #-----------------------------------------------------------------------------
 # Test if compiler defines the pseudo-macro __FUNCTION__
@@ -71,54 +75,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)
-#-----------------------------------------------------------------------------
-
-#-----------------------------------------------------------------------------
-# 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)
-  SET(BBTK_LINK_LIBRARIES
-    ${BBTK_LINK_LIBRARIES}
-    dl) 
-ENDIF(UNIX)
-#-----------------------------------------------------------------------------
-
-MESSAGE(STATUS "bbtk link libraries = ${BBTK_LINK_LIBRARIES}")
-
-#-----------------------------------------------------------------------------
-# EO bbtk library dependencies
-#-----------------------------------------------------------------------------
-
 
 
 
@@ -163,7 +119,7 @@ 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)
 #-----------------------------------------------------------------------------
@@ -171,12 +127,24 @@ ADD_DEF(BBTK_EXPORT_SYMBOLS)
 FILE(GLOB SOURCES "." "*.cxx" "*.cpp") 
 # "ThirdParty/wx/treemultictrl/*.cpp")
 FILE(GLOB SOURCES_H "." "*.h" )
+
+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)
+
 #-----------------------------------------------------------------------------
 # lib definition
 ADD_LIBRARY(bbtk SHARED ${SOURCES} ${SOURCES_H})
 #-----------------------------------------------------------------------------
 TARGET_LINK_LIBRARIES(bbtk ${BBTK_LINK_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
@@ -187,6 +155,7 @@ TARGET_LINK_LIBRARIES(bbtk ${BBTK_LINK_LIBRARIES})
 #ENDIF(UNIX)
 #-----------------------------------------------------------------------------
 
+
 #-----------------------------------------------------------------------------
 # EO bbtk library creation
 #-----------------------------------------------------------------------------
@@ -205,15 +174,12 @@ TARGET_LINK_LIBRARIES(bbtk ${BBTK_LINK_LIBRARIES})
 #-----------------------------------------------------------------------------
 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(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
 #-----------------------------------------------------------------------------
 
 
@@ -223,16 +189,25 @@ 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 include/bbtk/ThirdParty)
-SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS lib)
+SET(${LIBRARY_NAME}_INSTALL_TREE_RELATIVE_LIBRARY_PATHS ${BBTK_LIB_PATH})
 
 # OPTIONAL 
 # - Set the version of your library
@@ -255,9 +230,7 @@ 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})
 #-----------------------------------------------------------------------------
 
 #-----------------------------------------------------------------------------
@@ -270,6 +243,9 @@ CMAKE_CREATE_FIND_PACKAGE(${LIBRARY_NAME})
 SUBDIRS(ThirdParty)
 #-----------------------------------------------------------------------------
 
+MESSAGE(STATUS "=======================================")
+MESSAGE(STATUS "")
+
 #-----------------------------------------------------------------------------
 # EOF
 #-----------------------------------------------------------------------------