]> Creatis software - bbtk.git/blob - kernel/cmake/BBTKMacros.cmake
904285cf6851e332f946e991eb9e1af31612fa96
[bbtk.git] / kernel / cmake / BBTKMacros.cmake
1
2 #-----------------------------------------------------------------------------
3 # MACRO TO ADD A COMPILER DEFINITION WHICH ADDS ALSO THE DEF 
4 # INTO DOXYGEN PREDEFINED VAR 
5 # (OTHERWISE DOXYGEN WOULD NOT PARSE THE FILES BLOCKED)
6 MACRO(ADD_DEF DEF)
7   MESSAGE(STATUS "* Added definition -D${DEF}")
8   ADD_DEFINITIONS( -D${DEF} )
9   SET(DOXYGEN_DOC_PREDEFINED 
10     ${DOXYGEN_DOC_PREDEFINED};${DEF}
11     CACHE 
12     STRING 
13     ""
14     FORCE)
15   MARK_AS_ADVANCED(DOXYGEN_DOC_PREDEFINED)
16 ENDMACRO(ADD_DEF)
17 #-----------------------------------------------------------------------------
18
19 #-----------------------------------------------------------------------------
20 # MACRO TO ADD A COMPILER DEFINITION WITH VALUE WHICH ADDS ALSO THE DEF 
21 # INTO DOXYGEN PREDEFINED VAR 
22 # (OTHERWISE DOXYGEN WOULD NOT PARSE THE FILES BLOCKED)
23 MACRO(ADD_DEF_WITH_VAL DEF VAL)
24   MESSAGE(STATUS "* Added definition -D${DEF}=${VAL}")
25   ADD_DEFINITIONS( -D${DEF}=${VAL} )
26   SET(DOXYGEN_DOC_PREDEFINED 
27     ${DOXYGEN_DOC_PREDEFINED};${DEF}=${VAL}
28     CACHE 
29     STRING 
30     ""
31     FORCE)
32   MARK_AS_ADVANCED(DOXYGEN_DOC_PREDEFINED)
33 ENDMACRO(ADD_DEF_WITH_VAL)
34 #-----------------------------------------------------------------------------
35
36
37 #========================================================================
38 # MACRO WHICH COPIES ALL IMAGES (png, jpg, gif) 
39 # FROM SOURCE TREE TO DOC BUILD TREE
40 # AND INSTALL THEM IN BBTK DOC TREE
41 MACRO(BBTK_DOC_INSTALL_IMAGES DOC_RELATIVE_INSTALL_PATH)
42   MESSAGE(STATUS "* Copying png,jpg,tif images in ${BBTK_DOC_BUILD_PATH}/${DOC_RELATIVE_INSTALL_PATH}")
43   FILE(GLOB PNG_IMAGES "*.png")
44   FILE(GLOB JPG_IMAGES "*.jpg")
45   FILE(GLOB TIF_IMAGES "*.tif")
46   SET(IMAGES
47     ${PNG_IMAGES}
48     ${JPG_IMAGES}
49     ${TIF_IMAGES}
50     )
51 #    MESSAGE(ERROR ${IMAGES} )
52   FOREACH(image ${IMAGES})  
53     GET_FILENAME_COMPONENT(filename "${image}" NAME)
54     CONFIGURE_FILE(
55       ${image}
56        ${BBTK_DOC_BUILD_PATH}/${DOC_RELATIVE_INSTALL_PATH}/${filename}
57       COPYONLY
58       ) 
59       
60     #  IF (WIN32)
61 #       CONFIGURE_FILE(
62 #          ${image}
63 #          ${CMAKE_CURRENT_BINARY_DIR}/${filename}
64 #          COPYONLY
65 #         )
66 #      ENDIF(WIN32)
67     # MESSAGE(ERROR "${image} (${filename}) in :  ${PROJECT_BINARY_DIR}/${BBTK_DOC_INSTALL_PATH}/${DOC_RELATIVE_INSTALL_PATH}/${filename}")
68   ENDFOREACH(image)
69   INSTALL( 
70       FILES ${IMAGES} 
71       DESTINATION ${BBTK_DOC_INSTALL_PATH}/${DOC_RELATIVE_INSTALL_PATH}
72     )  
73 ENDMACRO(BBTK_DOC_INSTALL_IMAGES)
74 #========================================================================
75
76 #========================================================================
77 # Creates a directory if it does not exist
78 MACRO(MKDIR DIR)
79   IF(NOT IS_DIRECTORY ${DIR})
80     MESSAGE(STATUS "* Creating directory '${DIR}'")
81     FILE(MAKE_DIRECTORY ${DIR})
82   ENDIF(NOT IS_DIRECTORY ${DIR})
83 ENDMACRO(MKDIR)
84 #========================================================================
85
86
87 #========================================================================
88 MACRO(MAKE_DLL_PATH)
89   IF(WIN32)
90     IF(USE_DOT)
91       IF (NOT DOT_DIR)
92         FIND_PATH(DOT_DIR dot.exe PATHS $ENV{PATH} )
93         IF(NOT DOT_DIR)
94           MESSAGE(FATAL_ERROR "Dot not found : set DOT_DIR to the folder containing dot.exe")
95         ELSE(NOT DOT_DIR)
96           MESSAGE(STATUS "Looking for dot... - found in ${DOT_DIR}")
97          ENDIF(NOT DOT_DIR)
98       ENDIF(NOT DOT_DIR)
99     ENDIF(USE_DOT)      
100 #    SET(DLL_PATHA Path=${ADDITIONAL_DLL_PATH}__RR__%WXWIN%/lib/vc_dll/__RR__%VTK_DIR%__RR__%ITK_DIR%/../../bin/__RR__%PATH%__RR__${DOT_DIR})
101     SET(DLL_PATHA ${ADDITIONAL_DLL_PATH}__RR__${DOT_DIR}__RR__)
102     FOREACH(APATH $ENV{PATH})
103           SET(DLL_PATHA ${DLL_PATHA}__RR__${APATH})
104     ENDFOREACH(APATH)
105     STRING(REPLACE "__RR__" "\;" DLL_PATH ${DLL_PATHA} )
106   ENDIF(WIN32)  
107 ENDMACRO(MAKE_DLL_PATH)
108 #========================================================================