# 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)
-ADD_DEF(BBTK_EXPORT_SYMBOLS)
-
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty)
+CREA_DEFINE(BBTK_EXPORT_SYMBOLS)
+#ADD_DEFINITIONS(-DCHECKBOXVIEW=1)
#-----------------------------------------------------------------------------
# Sources files
-FILE(GLOB SOURCES "." "*.cxx" "*.cpp" "ThirdParty/wx/treemultictrl/*.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
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
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
#-----------------------------------------------------------------------------
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)
+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)
+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
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
-# Includes CMakeCreateFindPackage
-INCLUDE(${CMakeCreateFindPackage_DIR}/CMakeCreateFindPackage.cmake)
-CMAKE_CREATE_FIND_PACKAGE(${LIBRARY_NAME})
+CREA_ADVANCED_INSTALL_LIBRARY_FOR_CMAKE(${LIBRARY_NAME})
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
+#-----------------------------------------------------------------------------
+# Recurse in ThirdParty to build the needed libs
+SUBDIRS(ThirdParty)
+#-----------------------------------------------------------------------------
+
+MESSAGE(STATUS "=======================================")
+MESSAGE(STATUS "")
#-----------------------------------------------------------------------------
# EOF