# Tests
#-----------------------------------------------------------------------------
+MESSAGE(STATUS "")
+MESSAGE(STATUS "=======================================")
+MESSAGE(STATUS "CONFIGURING bbtk LIBRARY")
+
#-----------------------------------------------------------------------------
# Test if compiler defines the pseudo-macro __FUNCTION__
-#-----------------------------------------------------------------------------
-# 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
-#-----------------------------------------------------------------------------
-
-
-
#-----------------------------------------------------------------------------
# bbtk library creation
#-----------------------------------------------------------------------------
+# Symbols must be exported (Windows)
+CREA_DEFINE(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" )
+
+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
#ENDIF(UNIX)
#-----------------------------------------------------------------------------
+
#-----------------------------------------------------------------------------
# EO bbtk library creation
#-----------------------------------------------------------------------------
-#-----------------------------------------------------------------------------
+
+#=============================================================================
# bbtk library installation
+#=============================================================================
+
+
+#-----------------------------------------------------------------------------
+FILE(GLOB BBTK_HEADERS "*.h")
+INSTALL(FILES ${BBTK_HEADERS} DESTINATION include/bbtk)
+INSTALL(TARGETS bbtk DESTINATION ${BBTK_LIB_PATH})
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
-INSTALL_FILES(/include/bbtk "\\.h$")
-INSTALL_TARGETS(/lib bbtk)
+# Code installing the files needed to find the lib by FIND_PACKAGE
+# Uses CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
-# 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}
+ .
+ )
+ #${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 ${BBTK_LIB_PATH})
+
+# 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)
#-----------------------------------------------------------------------------
+#-----------------------------------------------------------------------------
+CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE(${LIBRARY_NAME})
+#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# EO bbtk library installation
#-----------------------------------------------------------------------------
+#-----------------------------------------------------------------------------
+# Recurse in ThirdParty to build the needed libs
+SUBDIRS(ThirdParty)
+#-----------------------------------------------------------------------------
+
+MESSAGE(STATUS "=======================================")
+MESSAGE(STATUS "")
#-----------------------------------------------------------------------------
# EOF